Ошибка при вызове метода web-сервиса. #651202


#0 by shushik
В вкратце суть проблемы: есть веб-сервис из внешней системы. Там реализован метод с входным параметром и при вызове этого метода возникает ошибка: «Ошибка преобразования данных XDTO. Структура объекта не соответствует типу». Веб-сервис с которым возникает проблема реализован на стороне SAP.  До этого я работала с аналогичными веб-сервисами реализованными на Java и никогда таких проблем не возникало. Не понимаю в чем дело, может быть кто-то сталкивался с подобным. Вот сохраненная wsdl данного сервиса: А теперь по порядку, как и что, делаю: 1.    Веб-сервис добавлен в конфигуратор в WS-ссылки.   2.    Подключаю веб-сервис следующим образом КонецПроцедуры 3.    Затем заполняю входной параметр для вызываемого метода КонецФункции 4.    Затем вызываю метод с входным параметром 5.    В момент обращения к методу возникает вот такая ошибка Ошибка при вызове метода контекста (ZMatnrKug): Ошибка вызова операции сервиса:  {urn:sap-com:document:sap:soap:functions:mc-style}:z_service:ZMatnrKug РезультатСервиса = ВебСервис.ZMatnrKug(ВхПараметр); по причине: Ошибка вызова операции сервиса:  {urn:sap-com:document:sap:soap:functions:mc-style}:z_service:ZMatnrKug по причине: Неизвестная ошибка. Ошибка преобразования данных XDTO: Чтение объекта типа: {urn:sap-com:document:sap:soap:functions:mc-style}TableOfZmaraTab - [1,227] Проверка дополнительного свойства:    форма: Элемент    имя: item по причине: Ошибка преобразования данных XDTO: Чтение объекта типа: {urn:sap-com:document:sap:soap:functions:mc-style}TableOfZmaraTab - [1,227] Проверка дополнительного свойства:    форма: Элемент    имя: item по причине: Ошибка проверки данных XDTO: Структура объекта не соответствует типу: {urn:sap-com:document:sap:soap:functions:mc-style}TableOfZmaraTab
#1 by shushik
Пожалуйста, помогите.
#2 by AndyR
1. У тебя переменная ВебСервис глобальная? Потому как в ПолучитьДанные ее не видно. 2. Похоже, что доблестные сапёры поменяли тип ZmaraTab, а wsdl не обновили. Или шлют в ответ пакет с не соответствующей определению структурой ZmaraTab. Можно поставить сниффер, посмотреть что от них прилетает.
#3 by shushik
1. Да, переменная ВебСервис глобальная. В ПолучитьДанные ее видно, просто я не вставила в сообщение объявление переменных. 2. Говорят ничего не меняли. Похоже все-таки какая-то беда с типами. Ведь входной параметр с типом TableOfZmaraTab, прекрасно создается. А при передаче его методу оказывается, что у него не тот тип, хотя как он может быть не тот, когда создаю вроде именно такой тип, не понятно. А подскажите, чем можно посмотреть что от них прилетает? Я обычно сервисы через soapUI смотрю, но сейчас в нем все работает, проблема возникает именно при обращении через 1С.
#4 by AndyR
Судя по ошибке. она возникает в момент возврата данных из САП-а, т.е. это они вам ерунду шлют. а не ваш параметр криво сформирован. Посмотреть сниффером (сетевым монитором), это софт такой, который может пакеты сетевые перехватывать. На вскидку Microsoft Network Monitor, например
#5 by AndyR
А можно и soapUI на этот сервис направить, посмотреть что вернется и насколько соответствует структуре TableOfZmaraTab. Кстати, вариант, да.
#6 by shushik
Через soapUI структура вроде такая же как в описание. Но похоже все-таки 1С ее по другому воспринимает.Дальше хуже, саперы решили со своей стороны сделать преобразование типов через какую-то интеграционную шину и прислали новую ссылку. Но это ссылка не на wsdl, потому что когда я ее в браузере открываю пишет Message Servlet is in Status OK Status information: Classname ModuleProcessor: null Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean Lookupname for remoteModuleProcessorLookupName: null ModuleProcessorClass not instantiated ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0_0 ModuleProcessorRemote not instantiated
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

В этой группе 1С