|
Возвращается XDTO объект вместо XDTO список в результате вызова веб сервиса | ☑ | ||
|---|---|---|---|---|
|
0
pandrew1
10.01.16
✎
20:53
|
Коллеги! Опять мозг плавиться!
Почему в результате вызова веб сервиса возвращается XDTO объект, а не список, если в списке один элемент? Ответ сервиса: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://doctor-plus.su/ws/"> <SOAP-ENV:Body> <ns1:getPersonsResponse xmlns:ns1="http://doctor-plus.su/ws/"> <return xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:Person[1]"> <item xsi:type="tns:Person"> <name xsi:type="xsd:string">kisa</name> <age xsi:type="xsd:int">22</age> <gender xsi:type="xsd:string">female</gender> </item> </return> </ns1:getPersonsResponse> </SOAP-ENV:Body></SOAP-ENV:Envelope> В ответе четко видно массив из одного элемента. Результат = Прокси.getPersons(); Результат.list - объект XDTO. Почему не список XDTO??? Если метод возвращает несколько элементов, то результат.list - список XDTO как и ожидается. |
|||
|
1
pandrew1
10.01.16
✎
20:56
|
||||
|
2
Asmody
10.01.16
✎
21:00
|
(0) потому что это так и должно быть.
|
|||
|
3
pandrew1
10.01.16
✎
21:06
|
хм... и что тогда анализировать тип значения Результат.list только остается?
Если объект XDTO, то это сам элемент - обрабатываем, если список XDTO, то список - идем по списку. гыгыгы, надо глянуть, что будет если в ответ пустой список придет. Коллега, не могли бы вы обосновать свое мнение? Я все-таки считаю, что должен быть список содержащий просто один элемент. |
|||
|
4
rozer76
10.01.16
✎
21:11
|
(3) да потребуй владельца вебсервиса всегда список возвращать...делов то )
|
|||
|
5
pandrew1
10.01.16
✎
21:22
|
Если список пустой, то и вовсе неопределенный XDTO объект возвращается.
Ну сервис то вроде как правильно возвращает. Сначала ответ, потом список, а далее элементы. Это мне кажется при разборе ответа сервиса 1С неверно отрабатывает. Какой должен быть ответ сервиса чтоб 1с корректно определяла ситуации: нет элементов - пустой список XDTO, один элемент - список XDTO состоящий из одного XDTO объекта, несколько - список XDTO состоящий из XDTO объектов? |
|||
|
6
DES
10.01.16
✎
22:24
|
Сам проверяй, через Попытку и ТипЗнч
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |