Different SOAP output for the same software

From: 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.

« previous php.soap (#3101) next »