построение soap-запроса со сложной структурой

SibProgrammer

Новичок
построение soap-запроса со сложной структурой

Необходимо выполнить soap-запрос к веб-сервису (.NET) используя родной SoapClient для PHP5 (использую PHP 5.1.4).

Структура запроса должна быть следующей:

<soap:Body>
<MethodName xmlns="http://...">
<paramA>string</paramA>
<paramB>string</paramB>
<paramC>
<subElementA>string</subElementA>
<subElementB>string</subElementB>
</paramC>
</MethodName>
</soap:Body>

Проблемы возникают с оборачиванией paramC и его subElementA, subElementB. Xml в таком виде у меня получить не удалось.

Если обернуть элементы paramC в ассоциативный массив, то получаю :

<soap:Body>
<ns1:MethodName>
<ns1:paramA>test</paramA>
<ns1:paramB>test</paramB>
<ns1:paramC>
<item>
<key>subElementA</key>
<value>xx</value>
</item>
<item>
<key>subElementB</key>
<value>xx</value>
</item>
</ns1:paramC>
</ns1:MethodName>
</soap:Body>

Кто-нибудь сталкивался с подобными проблемами? Как правильно сформировать запрос с описанной структурой?

-~{}~ 14.06.06 11:05:

Нашел в user comments http://www.php.net/manual/en/function.soap-soapclient-dorequest.php
вариант решения с использованием создания потомка от SoapClient и "подхачиванием" на лету xml запроса. Но, что-то очень не хочется использовать такой способ - нет ли альтернатив?
 

SibProgrammer

Новичок
Да, что-то я совсем запарился :) Конечно при использовании объекта результат выглядит ближе.

Однако оказалось не все так здорово. Если требуется наличия нескольких тегов с одинаковым именем, то опять возвращаюсь к "подхачиваию" xml.

Есть ли идеи по решению такой задачи?
<ns1:paramC>
<ns1:tag>xx</ns1:tag>
<ns1:tag>xx</ns1:tag>
</ns1:paramC>
 

neko

tеam neko
что-то я не в теме.
это проблема составить xml-документ нужного вида?
 

SibProgrammer

Новичок
Да проблема составить xml-документ нужного вида, используя родной SoapClient из PHP5.
 

SibProgrammer

Новичок
Да уже составил. Точнее написал потомка от SoapClient который подхачивает запрос до нужного вида. Да только метод такой, прям череж ж.. Поэтому и спросил "нет ли альтернатив?"
Конечно, у Mircosoft'а свое видение SOAP, но в итоге PHP'ный SoapClient выглядит неюзабельным без "дохачивания" xml запроса при использовании .NET веб-сервиса.
 

slach

Новичок
проблема и в MS и в php
разные правила сериализации объектов причем и там и там вроде как ПО СТАНДАРТУ =) хотя могу и ошибаться
 
Сверху