Axis SOAP responses in different format is it the same?
I am getting two different responses from different Magento installations. They considered to be the same and both should work but second response can开发者_开发知识库’t be parsed by my Axis Java client app. And I don’t know if certain newer version of Axis can parse both.
The question is: From the SOAP format form of view should these both responses parsed well to the same result?
Response 1:
<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>
...
Response 2:
<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>
...
Update: Both installations use the same Magento version 1.3.2.4. Second installation is running PHP 5.2.13. Could it be related to PHP version or installed PHP soap frameworks?
Surely this is happening because of the Soap framework used in your installation. See Webserver requirements here.
By the way, it is know that Axis 1.4 has problems with:
<value xsi:type="xsd:string">200000281</value>
To work in Axis, it should be:
<value xsi:type="soapenc:string">200000281</value>
Look here for more information, looks like it is the same problem you're facing.
Here is a thread that maybe can help you too.
精彩评论