broo
Новичок
SoapClient, xsi:type="SOAP-ENC:Struct"
Приветствую.
PHP 5.2.1, SOAP extension.
Реализовываю soap-клиент. Говорю __soapCall() определённой функции и передаю в качестве параметра объект.
Получается такой request:
Проблема в том, что этот запрос я получаю ошибку: Call to undefined method stdClass::getId().
Разработчик soap-сервера предполагает, что проблема в наличие xsi:type="SOAP-ENC:Struct" в коде. У меня избавиться от xsi:type="SOAP-ENC:Struct" в запросе не получается.
Может проблема не в xsi:type="SOAP-ENC:Struct"?
-~{}~ 12.04.07 17:14:
Заменить <name xsi:type="SOAP-ENC:Struct"> валидным типом получилось прописав правильный параметр classmap при инициализации SoapClient.
Это решило проблему.
Приветствую.
PHP 5.2.1, SOAP extension.
Реализовываю soap-клиент. Говорю __soapCall() определённой функции и передаю в качестве параметра объект.
Получается такой request:
Код:
...
<SOAP-ENV:Body>
<ns1:take>
<object xsi:type="ns1:ProjectFile">
<id xsi:nil="true"/>
<owner xsi:type="xsd:ProjectUser">
<id xsi:type="xsd:int">32</id>
<city xsi:type="SOAP-ENC:Struct">
<id xsi:type="xsd:int">1</id>
<name xsi:type="xsd:string">Москва</name>
</city>
<station xsi:type="SOAP-ENC:Struct">
<id xsi:type="xsd:int">41</id>
<name xsi:type="xsd:string">Домодедовская</name>
</station>
<name xsi:type="xsd:string">Pukin_Vasya</name>
<password xsi:type="xsd:string">999</password>
<created xsi:type="SOAP-ENC:Struct">
<year xsi:type="xsd:int">2007</year>
<month xsi:type="xsd:int">4</month>
<day xsi:type="xsd:int">8</day>
<hour xsi:type="xsd:int">8</hour>
<minute xsi:type="xsd:int">6</minute>
<second xsi:type="xsd:int">35</second>
</created>
</owner>
<type xsi:type="xsd:MediaType">
<id xsi:type="xsd:int">2</id>
<name xsi:type="xsd:string">video</name>
</type>
<created xsi:nil="true"/>
<title xsi:type="xsd:string">Test</title>
<description xsi:nil="true"/>
<file xsi:nil="true"/>
<preview xsi:nil="true"/>
<rate xsi:nil="true"/>
</object>
</ns1:take>
</SOAP-ENV:Body>
Разработчик soap-сервера предполагает, что проблема в наличие xsi:type="SOAP-ENC:Struct" в коде. У меня избавиться от xsi:type="SOAP-ENC:Struct" в запросе не получается.
Может проблема не в xsi:type="SOAP-ENC:Struct"?
-~{}~ 12.04.07 17:14:
Заменить <name xsi:type="SOAP-ENC:Struct"> валидным типом получилось прописав правильный параметр classmap при инициализации SoapClient.
Это решило проблему.