Different SOAP output for the same software
[email protected] (Vladimir Pogorelenko) Mon, 28 Jun 2010 12:56:24 +0400
| Newsgroups | php.soap |
|---|---|
| Message-ID | <2010062812562457998-vpogorelenko@trueshipcom> |
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.