2017-01-31 11 views
0

次のリクエスト[1]を使用して、受注シップメントを部分的にマゼンタで作成しようとしています。私は "SOAP-ERROR:エンコーディング:エンコーディング規則の違反"を取得します。誰も私がこの問題を解決するのを助けることができますか?注文受注シップメントを部分的に作成するためのSOAPリクエスト

[1]

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <urn:salesOrderShipmentCreate> 
     <sessionId>xxxxxxxxxxxxxxxxxxxxxx</sessionId> 
     <orderIncrementId>200006672</orderIncrementId> 
     <itemsQty><orderItemIdQty><order_item_id>AG0102019</order_item_id><qty>1.0</qty></orderItemIdQty></itemsQty> 
     <comment>Testing</comment> 
     <email>1</email> 
     </urn:salesOrderShipmentCreate> 
    </soapenv:Body> 
</soapenv:Envelope> 

おかげで、事前

答えて

0

に私は、この問題の根本的な原因を見つけました。 order_item_idは整数型要素で、渡される値はstringです。そのため、 'エンコードルールの違反'の問題が発生します。

要求は、このようにする必要があり、

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> 
     <soapenv:Header/> 
     <soapenv:Body> 
      <urn:salesOrderShipmentCreate soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
      <sessionId>xxxxxxxxxxxxxxxxx</sessionId> 
      <orderIncrementId>200006672</orderIncrementId> 
      <itemsQty> 
        <urn:orderItemIdQty> 
         <order_item_id>13066</order_item_id> 
         <qty>1.0</qty> 
        </urn:orderItemIdQty> 
       </itemsQty> 
      </urn:salesOrderShipmentCreate> 
     </soapenv:Body> 
    </soapenv:Envelope> 
関連する問題