PHP SOAP xsi:type

RiDDi
На сайте с 06.06.2010
Offline
256
1008

есть такой ответ soap


<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<MethodResponse xmlns="http://tempuri.org/">
<MethodResult>
<Details>
<SoapDetailItem>
данные...
</SoapDetailItem>
<SoapDetailItem>
данные...
</SoapDetailItem>
</Details>
</MethodResult>
</MethodResponse>
</soap:Body>
</soap:Envelope>

который SoapClient обрабатывает некорректно - не видит вложенных данных:


object(stdClass)#2 (1) { ["MethodResult"]=> object(stdClass)#3 (3) { ["Details"]=> object(stdClass)#4 (0) { }} }

но при этом такой


<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<MethodResponse xmlns="http://tempuri.org/">
<MethodResult>
<Details>
<SoapDetailItem xsi:type="fDetailsSOAP_data">
данные...
</SoapDetailItem>
<SoapDetailItem xsi:type="fDetailsSOAP_data">
данные...
</SoapDetailItem>
</Details>
</MethodResult>
</MethodResponse>
</soap:Body>
</soap:Envelope>

обрабатывает корректно

Подскажите пожалуйста, что надо скормить SoapClient, что бы он разобрался в типах?

Вебмастер отдыхает на бережках морей. Заработок в интернете - дело техники.
богоносец
На сайте с 30.01.2007
Offline
753
#1

Ну отличия в атрибуте xsi:type="fDetailsSOAP_data"

Может поможет

http://www.artlebedev.ru/tools/technogrette/xslt/xmlns-1/

dkameleon
На сайте с 09.12.2005
Offline
386
#2
RiDDi:
который SoapClient обрабатывает некорректно - не видит вложенных данных:

совсем не обязательно.

попробуйте обратиться к данным непосредственно, а не выводить весь объект

Дизайн интерьера (http://balabukha.com/)
RiDDi
На сайте с 06.06.2010
Offline
256
#3
dkameleon:
совсем не обязательно.
попробуйте обратиться к данным непосредственно, а не выводить весь объект

Пробовал - NULL

---------- Добавлено 17.04.2013 в 21:11 ----------

Решено.

Была ошибка в типах на стороне сервера.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий