построение 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 запроса. Но, что-то очень не хочется использовать такой способ - нет ли альтернатив?
 
Да, что-то я совсем запарился :) Конечно при использовании объекта результат выглядит ближе.

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

Есть ли идеи по решению такой задачи?
<ns1:paramC>
<ns1:tag>xx</ns1:tag>
<ns1:tag>xx</ns1:tag>
</ns1:paramC>
 
что-то я не в теме.
это проблема составить xml-документ нужного вида?
 
Да проблема составить xml-документ нужного вида, используя родной SoapClient из PHP5.
 
Да уже составил. Точнее написал потомка от SoapClient который подхачивает запрос до нужного вида. Да только метод такой, прям череж ж.. Поэтому и спросил "нет ли альтернатив?"
Конечно, у Mircosoft'а свое видение SOAP, но в итоге PHP'ный SoapClient выглядит неюзабельным без "дохачивания" xml запроса при использовании .NET веб-сервиса.
 
проблема и в MS и в php
разные правила сериализации объектов причем и там и там вроде как ПО СТАНДАРТУ =) хотя могу и ошибаться
 
Сверху