Ответы SOAP SOAP в разных форматах одинаковы? - PullRequest
3 голосов
/ 24 июня 2010

Я получаю два разных ответа от разных установок Magento.Они считаются одинаковыми, и оба должны работать, но второй ответ не может быть проанализирован моим клиентским приложением Axis Java.И я не знаю, может ли какая-то более новая версия Axis анализировать оба.

Вопрос заключается в следующем: должны ли оба ответа с точки зрения формата SOAP анализироваться одинаково?Ответ 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>  
...

Ответ 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>
...

Обновление: обе установки используют одну и ту же версию Magento 1.3.2.4.Вторая установка работает под управлением PHP 5.2.13.Может ли это быть связано с версией PHP или установленными мыльными фреймворками PHP?

1 Ответ

3 голосов
/ 05 июля 2010

Конечно, это происходит из-за структуры Soap, используемой в вашей установке. См. Требования к веб-серверу здесь.

Кстати, известно, что у Axis 1.4 проблемы с:

<value xsi:type="xsd:string">200000281</value>

Для работы в Axis должно быть:

<value xsi:type="soapenc:string">200000281</value>

Смотрите здесь для получения дополнительной информации, похоже, что это та же проблема, с которой вы столкнулись.

Здесь - это тема, которая может вам тоже помочь.

...