#0
by Balansse
Здравствуйте! Надеюсь на вашу помощь, бьюсь безрезультатно уже который день, как в стену уперся ( Ситуация такая. Есть сайт, предоставляющий веб сервис рассылки смс, адрес WSDL пакета таков: Создаю в конфигурации объект "WS-Ссылка", все создается без проблем. Необходимо реализовать работу с этим сервисом из 1С. Написал простенькую обработочку, которая обращается к функции GetCurrentCredit этого веб сервиса. После запуска 1С думает и выкидывает вот такую вот ошибку: {Обработка.Обработка2.Форма.Форма}: Ошибка при вызове метода контекста (GetCurrentCredit): Ошибка вызова операции сервиса: { Результат = Прокси.GetCurrentCredit(Логин); по причине: Ошибка вызова операции сервиса: { по причине: Неизвестная ошибка. Ошибка преобразования данных XDTO: Чтение объекта типа: { - [1,179] Проверка дополнительного свойства: форма: Элемент имя: amount по причине: Ошибка преобразования данных XDTO: Чтение объекта типа: { - [1,179] Проверка дополнительного свойства: форма: Элемент имя: amount по причине: Ошибка проверки данных XDTO: Структура объекта не соответствует типу: { Причем ошибка не зависит от того, присваиваю ли я возвращаемый результат чему-то (в данном случае переменной Результат) или нет. Не зависит и от того, какие логин и пароль передаю. Возникает впечатление, что 1С просто не может обработать ответ с сервера... Что-то можно сделать? Может я что-то делаю не так? Очень прошу помощи, не первый день уже бьюсь с этой дрянью :(
#2
by Mitriy
ошибка в веб-сервисе у тебя скорее всего... проверь, какой тип возвращает и как он описан в пакете...
#4
by Balansse
Web сервис не мой, он предоставляется извне, и менять я его не могу. Разработчики заявляют что с C# он работает без проблем. Может я что то не так определяю в обработке? Или это кривые руки девелоперов сервиса? Сразу говорю, сервис не 1Совский.
#5
by Mitriy
а зачем вот это? ПараметрТип = Фабрика.Тип("http://soap.ecm.emotion.com/","GetCurrentCredit"); ты ничего больше не забыл? и это тоже непонятно
#6
by Balansse
Это просто я делал много попыток, чтобы заработало, забыл убрать. ДА и объявление результата тоже не нужно, но это не влияет на результат. Просто пытался уже подходить со всех сторон.
#9
by Balansse
А как обойти проблему? Интернет в офисе раздается через прокси, это да. Пробовал дома, дома прокси нет (интернет раздается через рутер), возникла та же проблема. Может тогда дело не в прокси?
#13
by Balansse
Функция GetCurrentCredit имеет один параметр auth. Это структура со строчными параметрами username и password. Система не ругается на недопустимый параметр, она почему то ругается на возвращаемое значение этой функции, которое имеет тип result.
#14
by sergeystav
при выполнении функции сервиса, может возникать внутренняя ошибка. тут сервис в натуре пощупать надо, а доступа к нему нету
#15
by Balansse
У них похоже сервак лежал. Уже есть доступ. Работал с этим сервисом через сайт - все работает. Через 1с - не хочет.
#25
by Balansse
Нужна помощь, не знаю в какую сторону копать. Если это глюк 1С (несостыковка со сторонним сервисом), как реализовать работу с этим веб сервисом сторонними средствами? Главное чтобы работало все через 1С
#26
by Vugluskr
Скорее глюк этого вебсервиса, проверь получится ли у тебя вебсервисом аэрофлота работать.
#27
by Balansse
С вебсервисом могу работать через сторонние средства, например такие как Аэрофлот проверить не могу, надо просить админа добавить мне его в разрешенный список... Даже если он заработает, что это мне даст? Может можно как то сохранить ответный XML в файл, и вручную его обрабатыватть? Или вручную формировать XML и отправлять на сервер. Только как это реализовать? Вопрос критичен, к сожалению, в пятницу уже надо сдать рабочую версию, а решения все нет :(
#28
by Vugluskr
В браузере по ссылке ничего не вижу. А должен был получить wsdl. Не работает вебсервис?
#30
by DmitrO
хм.. а у меня выдает это: Ошибка проверки данных XDTO: Структура объекта не соответствует типу: { Ошибка преобразования данных XDTO: Чтение объекта типа: { - [1,217] Проверка дополнительного свойства: форма: Элемент имя: comment Неизвестная ошибка. Ошибка преобразования данных XDTO: Чтение объекта типа: { - [1,217] Проверка дополнительного свойства: форма: Элемент имя: comment Ошибка вызова операции сервиса: { Ошибка вызова операции сервиса: { Ошибка при вызове метода контекста (GetCurrentCredit): Ошибка вызова операции сервиса: {
#31
by DmitrO
Вобщем 1С не может принять результат потому что он не соответствует схеме. Элемент amount (на который 1С ругается в ) находится раньше значит его проверка проходит нормально. Элемент comment задан в схеме как не обязательный и тип у него простая строка. Вобщем без SOAP отладчика тут неразобраться (на худой конец просто сниффер пакетов).. :) надо смотреть голый xml который приходит с сервера. В отладочных целях можно также сэмулировать SOAP запрос объектом HTTPСоединение и собственно получить сырой ответ от сервака. Вобщем до ответа в виде XML добраться надо.
#32
by Balansse
вот какой должен быть ответ в сыром виде с сервера: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:GetCurrentCreditResponse xmlns:ns2="http://soap.ecm.emotion.com/"><return type="ok"><amount>10.0</amount></return></ns2:GetCurrentCreditResponse></soap:Body></soap:Envelope>
#33
by DmitrO
В приведенном примере ответа отсутствует элемент recipient. По схеме он должен быть хотя бы один.
#34
by Balansse
Ну так не на него же ругается... Да и зачем в итоге серверу возвращать пустую инфу, если он просто возвращает то, что у него попросили?
#35
by DmitrO
Да, не на него. А то что в это именно то что возвращает сервер по твоему запросу? А тут логику искать не надо, надо просто чтобы все соответствовало схеме.
#37
by Balansse
Тот сырой XML текст, что я привел, это ответ сервера на функцию GetCurrentCredit. Получено с помощью сайта, что я приводил выше.
#39
by Balansse
>>Может можно как то сохранить ответный XML в файл, и вручную его обрабатыватть? Или вручную формировать XML и отправлять на сервер. Только как это реализовать? Вопрос критичен, к сожалению, в пятницу уже надо сдать рабочую версию, а решения все нет :(
#41
by Serginio1
У меня была проблема с отладкой Вэб сервиса при передаче структуры. Если объявить через LocflHOST на сервере, то структура проходит. Если с другого компютера через глобальный адрес то метод ложится с ошибкой преобразования во втором байте чего то там.
#43
by Serginio1
Сделай на тоже Net или нативе Delphi или С++ Оле Объект который будет обращаться к серверу
#44
by xzorkiix
много букв. как я курил веб сервисы и их дружбу с 1С. шаг первый - проверить сервис на одыкватность - использую soapUI 3.0 бесплатное. Удобное шаг второй - при условии что выполнен первый - начинаем курить 1С. импортируем в 1С сервис (это раз). Даже на этом этапе можно увидеть дружит 1С или нет с этим сервисом. Хоть и стандарт обще принятый, но то что курят одни системы 1С на отказ не курит. домой приду попробую курнуть.
#45
by xzorkiix
кстати тож не могу получить тот самы wdsl =/ Proxy Encountered Error Connection Timeout: Could not contact the remote server. Possible causes include mistyped URL, transient network problems, overloaded remote server, and misconfigured proxy server. хотя может и рабочая прокся пьет. так что с дому гляну
#46
by xzorkiix
Ошибка при вызове метода контекста (GetCurrentCredit): Ошибка вызова операции сервиса: { Есть нормальное описание работы сервиса и методов, а не только вашего представления ? код для затравки (wdsl принят в конфу как ws-ссылка "WS") Функция СоздатьПрокси(знач ИмяWS = "WS",
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Не могу открыть 1С и Конфигуратор не могу
- Не могу провести документ в Торговле 7.7 будущей датой.Подскажете!!!
- Ошибка выполнения запроса "Ошибка при выполнении операции над данными: Ошибка SQL: Де
- Не могу записать элемент справочника. RLS
- WEB сервис, выдается ошибка в WEB браузере, что не так делаю???
- Не могу СКД заставить СрезПервых работать...
- XDTO + web сервис
В этой группе 1С
- шаблон формы отчета из экселя в 1С 8.1
- v7: АДВ-1 на уволенного работника
- УПП Попыталься в упп залить данные по ОКОФ с ИТС диска xml файл...
- почему проверитьвывод() не срабатывает
- Как в отчете при помощи СКД сделать несколько стандартных настроек?
- CheckXML под Wine
- СКД: Вывести ресурсы в две строки - есть способ?
- УПП где найти карточку товара М17?
- Минусы после расчета себестоимости
- для строки области таб дока с автовысотой не считается высота строки
- ОписаниеТипов - ЛюбаяСсылка
- СКД как добраться до выбранных полей группировки
- Активизировать в форме списка справочника элемент, из формы нового элемента
- Не попадают непроведенные документы в запрос
- Как в списке документов При активизации строки получить ссылку на этот док?
- Как установить тип колонке табличного поля?
- Как проверить закрывается регистр или нет?
- Странное условие в запросе
- Можно ли узнать проводится документ пользователем или групповой обработкой в 1С 8?
- Когда загружаю из экселя число записывается не корректно.