![]() |
|
Вопрос по Передаче параметров в сторонний Web-сервис | ☑ | ||
---|---|---|---|---|
0
rocvel
22.07.13
✎
14:13
|
Добрый день,
написал тестовый джоб для передачи данных. джоб выполняется с ошибкой: Ошибка SOAP сервера: Unmarshalling Error: unexpected element (uri:"http://company.partner.iqcard.ru/", local:"partners"). Expected elements are <{}partners> Хотя в файле, узел <partners> присутствует. <shop xmlns="http://company.partner.iqcard.ru/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <partners> <id>22222222</id> <parentId>111111</parentId> <name>Управляющий магазином</name> <adress>Улица</adress> <contactPerson>Управляющий</contactPerson> <contactPhone>8916123456789</contactPhone> <contactEmail>Email@email.ru</contactEmail> <site>www.site.ru</site> </partners> </shop> Не пойму в чем ошибка. Текст джоба внизу. ПроксиIQCard = WSСсылки.IQCard.СоздатьWSПрокси("http://company.partner.iqcard.ru/", "company", "companyServicePort" ); МояФабрикаXDTO = WSСсылки.IQCard.ПолучитьWSОпределения().ФабрикаXDTO; XDTOShop = ПроксиIQCard.ФабрикаXDTO.Тип("http://company.partner.iqcard.ru/","shop"); СписокМагазинов = ПроксиIQCard.ФабрикаXDTO.Создать(XDTOShop); XDTOShopRequest = ПроксиIQCard.ФабрикаXDTO.Тип("http://company.partner.iqcard.ru/", "ShopRequest"); Магазин = ПроксиIQCard.ФабрикаXDTO.Создать(XDTOShopRequest); Магазин.id = 22222222; Магазин.parentId = 111111; Магазин.name = "Управляющий магазином"; Магазин.adress = "Улица"; Магазин.contactPerson = "Управляющий"; Магазин.contactPhone = "8916123456789"; Магазин.contactEmail = "Email@email.ru"; Магазин.site = "www.site.ru"; СписокМагазинов.partners.Добавить(Магазин); //ЗаписьXML = Новый ЗаписьXML; //ЗаписьXML.ОткрытьФайл("C:\data.xml", "UTF-8"); //МояФабрикаXDTO.ЗаписатьXML(ЗаписьXML,СписокМагазинов); ПроксиIQCard.shop(СписокМагазинов); |
|||
1
Serginio1
22.07.13
✎
14:24
|
Попробуй с 0 и 2 элементами. Кстати как он определен?
Минимальное количество случайно не 1? |
|||
2
rocvel
22.07.13
✎
14:35
|
минимальное количество для partners = 0. Попробовать 2 поставить?
|
|||
3
Жан Пердежон
22.07.13
✎
14:42
|
схему бы еще показал, может у тебя с типом косяк
|
|||
4
rocvel
22.07.13
✎
14:53
|
ссылку на WSDL файл?
|
|||
5
Serginio1
22.07.13
✎
15:00
|
Хотя бы описание метода и его параметра
|
|||
7
Serginio1
22.07.13
✎
15:44
|
Обратись к разработчикам. Это у них ошибка. Может телефон неправильно указан или еще чего. Например http://vamshop.ru/forum/topic/11675-подключение-kiwi/
|
|||
8
Serginio1
22.07.13
✎
15:58
|
попробуй заполнить только одно обязательное поле id
|
|||
9
rocvel
22.07.13
✎
16:05
|
то же самое.
Ошибка SOAP сервера: Unmarshalling Error: unexpected element (uri:"http://respublica.partner.iqcard.ru/", local:"partners"). Expected elements are <{}partners> |
|||
10
rocvel
22.07.13
✎
17:08
|
у меня по факту генерится следующий запрос. в логах он выглядит так:
Address: http://test002.iqcard.ru:9668/partner-server-ws/respublica Encoding: UTF-8 Http-Method: POST Content-Type: text/xml; charset=utf-8 Headers: {Accept=[*/*], Content-Length=[339], content-type=[text/xml; charset=utf-8], Host=[test002.iqcard.ru:9668], SOAPAction=["shop"], User-Agent=[1C+Enterprise/8.2]} Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/> <soap:Body> <shop xmlns="http://respublica.partner.iqcard.ru/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <partners> <id>221</id> </partners> </shop></soap:Body> </soap:Envelope> а надо чтобы генерировался запрос вида: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:res="http://respublica.partner.iqcard.ru/"> <soapenv:Header/> <soapenv:Body> <res:shop> <!--Zero or more repetitions:--> <partners> <id>1</id> <!--Optional:--> <parentId>1</parentId> <!--Optional:--> <name>1</name> <!--Optional:--> <adress>1</adress> <!--Optional:--> <contactPerson>1</contactPerson> <!--Optional:--> <contactPhone>1</contactPhone> <!--Optional:--> <contactEmail>1</contactEmail> <!--Optional:--> <site>1</site> </partners> </res:shop> </soapenv:Body> </soapenv:Envelope> Параметры не суть, заголовки в начале сильно различаются. Что значит тэг " <res:shop> </res:shop>"? почему у меня просто "<shop> <shop>" генерится? |
|||
11
Serginio1
22.07.13
✎
17:26
|
(10) Это уже их проблема. Или смотри v8: Сторонний Веб сервис, XDTO
см 79 |
|||
12
Жан Пердежон
22.07.13
✎
17:57
|
(6) судя по всему, неверно задан тип возвращаемого значения
|
|||
13
rocvel
23.07.13
✎
11:34
|
спасибо, пока решения нет. разбираемся с внешним веб сервисом.
|
|||
14
rocvel
25.07.13
✎
15:53
|
все. всем спасибо. код наверху был правильный. ошибка была из-за неправильно настроенного веб сервиса. большое спасибо коллегам за поддержку в каком направлении искать ошибку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |