![]() |
![]() |
|
XDTO дублирует тэг | ☑ | ||
---|---|---|---|---|
0
nadvig
18.09.20
✎
12:52
|
В SOAPUI определяется запрос как
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:XXXXXXXXXXXX"> <soapenv:Header/> <soapenv:Body> <urn:GetMobileTariffInfoRequest> <mobileTariffIdList> <!--1 or more repetitions:--> <mobileTariffId>?</mobileTariffId> </mobileTariffIdList> </urn:GetMobileTariffInfoRequest> </soapenv:Body> </soapenv:Envelope> XDTO формирует такой текст запроса <m:GetMobileTariffInfoRequest xmlns:m="urn:XXXXXXXXXXXXXXX" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <mobileTariffIdList xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="m:GetMobileTariffInfoRequest"> <m:mobileTariffIdList> <m:mobileTariffId>235045</m:mobileTariffId> </m:mobileTariffIdList> </mobileTariffIdList> </m:GetMobileTariffInfoRequest> |
|||
1
nadvig
18.09.20
✎
12:53
|
Т.е. тэг mobileTariffIdList дублируется.
Подскажите, пожалуйста, как обойти этот косяк со списочным типом? |
|||
2
nadvig
18.09.20
✎
12:58
|
код формирования
Прокси = Новый WSПрокси(Определение, "urn:XXXXXXXXXXXXXXX", "CRMServiceOutService", "HTTP_Port"); Прокси.Пользователь = ИмяПользователя; Прокси.Пароль = Пароль; ТипWSПараметраRequest = Прокси.ФабрикаXDTO.Пакеты.Получить("urn:XXXXXXXXXXXXXX").Получить("GetMobileTariffInfoRequest"); WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметраRequest); ТипОбъектаitemList = Прокси.ФабрикаXDTO.Пакеты.Получить("urn:XXXXXXXXXXXXXXXX").Получить("MobileTariffIdList"); ОбъектitemList = Прокси.ФабрикаXDTO.Создать(ТипОбъектаitemList); ОбъектitemList.mobileTariffId.Добавить("235045"); WSПараметр.mobileTariffIdList = ОбъектitemList; |
|||
3
Вафель
18.09.20
✎
17:23
|
а изначально WSПараметр.mobileTariffIdList чему равно. до присваивания?
|
|||
4
nadvig
18.09.20
✎
17:34
|
Неопределено
|
|||
5
acht
18.09.20
✎
17:41
|
Чой-то бред какой-то у тебя написан, там все проще должно быть, типа
Прокси = Новый WSПрокси ... ТипСписка = Прокси.ФабрикаXDTO.Тип("urn:XXXXXXXXXXXXXXXX", "MobileTariffIdList"); Список = Прокси.ФабрикаXDTO.Создать(ТипСписка); Список.Добавить("235045"); Результат = Прокси.GetMobileTariffInfo(Список) |
|||
6
nadvig
18.09.20
✎
17:58
|
ОК, пробую только ОбъектitemList передавать.
А как можно отловить, что на выходе генерится? Визуально увидеть текст запроса. Мне внешняя система, в которой этот запрос получают не доступна. |
|||
7
nadvig
18.09.20
✎
18:05
|
Если через ЗаписьXML получать текст, то пишет, что тип принадлежит пакету, отсутствующему в фабрике типов XDTO (wsdl из файла загружал).
Да и это же только внутренняя часть запроса. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |