Показано с 1 по 1 из 1
Тема: web севрвис
-
28.01.2020, 11:09 #1
- Регистрация
- 12.12.2018
- Сообщений
- 4
- Сказал(а) спасибо
- 17
- Поблагодарили 5 раз(а) в 1 сообщении
web севрвис
Доброго времени суток! прошу помощи в разрешении вопроса.
Существует сервис поставщика, предоставляющий сервис по которому можно получить цену номенклатуры.Пишу запрос в SOAP UI, запрос ниже, обязательные параметры это токен, код клиента, имя клиента и код номенлатуры.
Код:<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://service.webservices.tvh.com" xmlns:xsd="http://struct.webservices.tvh.com/xsd"> <soap:Header/> <soap:Body> <ser:inquiry> <!--Optional:--> <ser:authToken>ЗдесьТокен</ser:authToken> <!--Optional:--> <ser:wsInqHead> <!--Zero or more repetitions:--> <xsd:wsInqHeadRow> <!--Optional:--> <xsd:customerCode>КакойтоКод</xsd:customerCode> <!--Optional:--> <xsd:customerContactName>ИмяКонтактногоЛица</xsd:customerContactName> <!--Optional:--> <xsd:customerInquiryNumber></xsd:customerInquiryNumber> </xsd:wsInqHeadRow> </ser:wsInqHead> <!--Optional:--> <ser:wsInqLine> <!--Zero or more repetitions:--> <xsd:wsInqLineRow> <!--Optional:--> <xsd:customerPartNumber></xsd:customerPartNumber> <!--Optional:--> <xsd:lineNumber></xsd:lineNumber> <!--Optional:--> <xsd:makeCode></xsd:makeCode> <!--Optional:--> <xsd:partNumber>НомерНоменлатуры</xsd:partNumber> <!--Optional:--> <xsd:productName></xsd:productName> <!--Optional:--> <xsd:quantity></xsd:quantity> </xsd:wsInqLineRow> </ser:wsInqLine> <!--Optional:--> <ser:wsInqText> <!--Zero or more repetitions:--> <xsd:wsInqTextRow> <!--Optional:--> <xsd:inquiryLineNumber></xsd:inquiryLineNumber> <!--Optional:--> <xsd:textData></xsd:textData> <!--Optional:--> <xsd:textLineNumber></xsd:textLineNumber> <!--Optional:--> <xsd:textPosition></xsd:textPosition> </xsd:wsInqTextRow> </ser:wsInqText> </ser:inquiry> </soap:Body> </soap:Envelope>
Безымянный33.png
Функция:
Безымянный2.png
В программе SOAP UI всё отправляется и всё получается как надо. Далее создаю обработку для провекри работы непосредственно в 1С. Код такой:
Код:Процедура КнопкаВыполнитьНажатие(Кнопка) Прокси = WSСсылки.TVH.СоздатьWSПрокси("http://service.webservices.tvh.com", "TvhwsService", "TvhwsServiceHttpSoap12Endpoint" ); ID = Прокси.login("Тут логин","тут пароль"); ТипwsInqHeadRow = Прокси.ФабрикаXDTO.Тип("http://struct.webservices.tvh.com/xsd","Inquiry_WSInqHeadRow"); wsInqHeadRow = Прокси.ФабрикаXDTO.создать(ТипwsInqHeadRow); wsInqHeadRow.customerCode = "тут код клиента"; wsInqHeadRow.customerContactName = "тут имя клиента"; ТипwsInqLineRow = Прокси.ФабрикаXDTO.Тип("http://struct.webservices.tvh.com/xsd","Inquiry_WSInqLineRow"); wsInqLineRow = Прокси.ФабрикаXDTO.Создать(ТипwsInqLineRow); wsInqLineRow.partNumber = "тут код номенлатуры"; wsInqLineRow.lineNumber = 0; wsInqLineRow.makeCode = ""; wsInqLineRow.quantity = 0; wsInqLineRow.customerPartNumber = ""; ТипwsInqTextRow = Прокси.ФабрикаXDTO.Тип("http://struct.webservices.tvh.com/xsd","Inquiry_WSInqTextRow"); wsInqTextRow = Прокси.ФабрикаXDTO.Создать(ТипwsInqTextRow); Загрузить = Прокси.inquiry(ID.sessionId,wsInqHeadRow ,wsInqLineRow,wsInqTextRow); КонецПроцедуры
Ошибка вызова операции сервиса: {http://service.webservices.tvh.com}:TvhwsService:inquiry( )
по причине:
Неверный формат.
Подозреваю, что ошибка возникает по причине что тип wsInqHeadRow вложен в wsInqHead. Вопрос собственно как правильно описать вложенные типы?
Социальные закладки