|   |   | 
| 
 | Вопрос по веб сервису | ☑ | ||
|---|---|---|---|---|
| 0
    
        wmzdeadman 18.05.15✎ 15:50 | 
        Получаю следующую ошибку, не пойму куда копать
 {Форма.Форма(29)}: Ошибка при вызове метода контекста (GetOstatki) Ответ = Соединение.GetOstatki(ПолучитьОстатки); по причине: Ошибка вызова операции сервиса: {http://sela.ru/webservices/}:ws_ostatki:GetOstatki() по причине: Неизвестная ошибка. Ошибка преобразования данных XDTO: Чтение объекта типа: {http://www.w3.org/2001/XMLSchema}anyType - [1,557] Проверка дополнительного свойства: форма: Элемент имя: {http://www.w3.org/2001/XMLSchema}element по причине: Ошибка преобразования данных XDTO: Чтение объекта типа: {http://www.w3.org/2001/XMLSchema}anyType - [1,557] Проверка дополнительного свойства: форма: Элемент имя: {http://www.w3.org/2001/XMLSchema}element по причине: Ошибка проверки данных XDTO: Структура объекта не соответствует типу: {http://www.w3.org/2001/XMLSchema}anyType по причине: Несоответствие типов XDTO: Тип '{http://www.w3.org/2001/XMLSchema}anyType' не соответствует типу '{http://www.w3.org/2001/XMLSchema}topLevelElement' Тип свойства не соответствует типу значения вот кусок схемы: http://pastebin.com/eudz1jfQ ну и сам код Определение = Новый WSОпределения(Адрес); Соединение = Новый WSПрокси(Определение, URIПространстваИмен, ИмяСервиса, ИмяСервиса + "Soap"); ТипПолучитьОстатки = Соединение.ФабрикаXDTO.Тип("http://xxx.ru/webservices/", "GetOstatki"); ПолучитьОстатки = Соединение.ФабрикаXDTO.Создать(ТипПолучитьОстатки); ПолучитьОстатки.article = "5133"; ПолучитьОстатки.kodMag = "935"; ПолучитьОстатки.secret = "xxx"; Ответ = Соединение.GetOstatki(ПолучитьОстатки); | |||
| 1
    
        wmzdeadman 18.05.15✎ 15:56 | 
        <s:element name="GetOstatkiResponse">
 <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="GetOstatkiResult"> <s:complexType> <s:sequence> <s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax"/> <s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax"/> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> Что должен вернуть метод? Что за namespace="urn:schemas-microsoft-com:xml-diffgram-v1" | |||
| 2
    
        wmzdeadman 18.05.15✎ 15:59 | 
        Поиск по данной ошибке 
 Несоответствие типов XDTO: Тип '{http://www.w3.org/2001/XMLSchema}anyType' не соответствует типу '{http://www.w3.org/2001/XMLSchema}topLevelElement' Тип свойства не соответствует типу значения ни к чему не привел, я правильно понимаю что ответ от сервиса не может сериализоваться в объект xdto? | |||
| 3
    
        Fragster гуру 18.05.15✎ 16:14 | 
        поставь SoapUI и посмотри, что там возвращается     | |||
| 4
    
        wmzdeadman 18.05.15✎ 16:16 | 
        ну как бэ схему загрузил в конфу - видно что там за объект - но что за хрень urn:schemas-microsoft-com:xml-diffgram-v1 и почему оно ругается и на что ругается, непонятно на какой стороне ошибка.     | |||
| 5
    
        Fragster гуру 18.05.15✎ 16:22 | 
        (4) теперь загрузи схему в SoapUI и глазами посмотри на XML, который тебе возвращает сервис     | |||
| 6
    
        wmzdeadman 18.05.15✎ 16:56 | 
        Попытался загрузить, получил ошибку
 Error loading [http://www.xxxx.ru/ws_ostatki.asmx?wsdl]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: Unexpected element: TAG_END Хотя какой апач вообще, на веб сервере стоит IIS, а апач у меня стоит локальный | |||
| 7
    
        Fragster гуру 18.05.15✎ 17:00 | 
        (6) что-то ты делаешь не так, потому что http://www.sela.ru/ws_ostatki.asmx?wsdl у меня в SoapUI загрузился     | |||
| 8
    
        Serginio1 18.05.15✎ 17:42 | 
        Видно не понимает она ArrayOfOstatki
 Это из области http://forum.infostart.ru/forum86/topic128427/ | |||
| 9
    
        Serginio1 18.05.15✎ 17:45 | 
        -<s:element name="GetOstatkiResponse">
 -<s:complexType> -<s:sequence> -<s:element name="GetOstatkiResult" maxOccurs="1" minOccurs="0"> -<s:complexType> -<s:sequence> <s:any maxOccurs="unbounded" minOccurs="0" processContents="lax" namespace="http://www.w3.org/2001/XMLSchema"/> <s:any minOccurs="1" processContents="lax" namespace="urn:schemas-microsoft-com:xml-diffgram-v1"/> </s:sequence> </s:complexType> </s:element> </s:sequence> </s:complexType> </s:element> | |||
| 10
    
        Serginio1 18.05.15✎ 17:48 | 
        При загрузке в 1С wsdl не шмогла разобрать этот тип
 GetOstatkiResponse_GetOstatkiResult | |||
| 11
    
        Serginio1 18.05.15✎ 17:55 | 
        А случайно вэб сервис не возврващает DataTable
 http://forums.asp.net/t/1171111.aspx?Web+Service+DataTable+result+problem | |||
| 12
    
        wmzdeadman 19.05.15✎ 10:16 | 
        (11) Да именно DataTable сервис возвращал. Переделали на массив структур, полет нормальный. всем спасибо.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |