Different SOAP output for the same software
| From: | Vladimir Pogorelenko | Date: | Mon, 28 Jun 2010 08:56:24 +0000 |
| Subject: | Different SOAP output for the same software | ||
| Groups: | php.soap | ||
| Request: | Send a blank email to php-soap+get-3101@lists.php.net to get a copy of this message | ||
Hi all! I am facing strange problem with SOAP output generated by the same software installed on different servers. And I am not sure why this happens.
I am trying to access with Apache Axis SOAP client two different installations of Magento store of the same version 1.3.2.4.
When accessing one installation from I am getting SOAP response in format which Axis client understand well:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:salesOrderListResponse> <result SOAP-ENC:arrayType="ns1:salesOrderEntity[24]" xsi:type="ns1:salesOrderEntityArray"> <item xsi:type="ns1:salesOrderEntity"> <increment_id xsi:type="xsd:string">100000056-1</increment_id> <parent_id xsi:type="xsd:string">0</parent_id>When I am trying to access another server with the same Magento version installed I am getting response in another format which uses Map type to represent SalesOrderEntity object: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento"
xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <ns1:salesOrderListResponse> <result SOAP-ENC:arrayType="ns2:Map[30]" xsi:type="ns1:salesOrderEntityArray"> <item xsi:type="ns2:Map"> <item> <key xsi:type="xsd:string">increment_id</key> <value xsi:type="xsd:string">200000281</value> </item> <item> <key xsi:type="xsd:string">parent_id</key> <value xsi:type="xsd:string">0</value> </item>Magento forum didn't help. On both servers PHP5 is installed. I am wonder what can affect on the output format and how I can fix it. I also wonder if Axis client should read both formats correctly, but currently I am getting Axis error when connecting to second server: ArrayStoreException: HashMap - it looks like the problem is that server returns Map type instead of SalesOrderEntity type expected. I will quite appreciate any ideas. Thanks, Vladimir.