2016-12-28 3 views
-1

Amazonのオーダーの出荷確認を自動化しようとしていますが、提出フィードに「1つ以上のアイテムが無効であるためXMLフィードを処理できません。私はここで見つけるのドキュメントに対してそれをチェックしましたAmazon MWSエラー25 - 自分のXMLにエラーが表示されますか?

https://images-na.ssl-images-amazon.com/images/G/01/rainier/help/XML_Documentation_Intl.pdf

あなたが見てみていただけますか?

<?xml version="1.0" encoding="UTF-8"?> 
 
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> 
 
    <Header> 
 
     <DocumentVersion>1.01</DocumentVersion> 
 
     <MerchantIdentifier>MY-MERCHANT-ID</MerchantIdentifier> 
 
    </Header> 
 
    <MessageType>OrderFulfillment</MessageType> 
 
    <Message> 
 
     <MessageID>1</MessageID> 
 
     <OrderFulfillment> 
 
     <AmazonOrderID>116-8390288-9796217</AmazonOrderID> 
 
     <MerchantOrderID>877399</MerchantOrderID> 
 
     <FulfillmentDate>2016-12-28T22:55:27-08:00</FulfillmentDate> 
 
     <FulfillmentData> 
 
      <CarrierName>USPS</CarrierName> 
 
      <ShippingMethod>Standard</ShippingMethod> 
 
     <ShipperTrackingNumber>9400110200830414375387</ShipperTrackingNumber> 
 
     </FulfillmentData> 
 
     <Item> 
 
      <AmazonOrderItemCode>40322771766298</AmazonOrderItemCode> 
 
      <Quantity>1</Quantity> 
 
     </Item> 
 
     </OrderFulfillment> 
 
    </Message> 
 
</AmazonEnvelope>

答えて

1

あなたのXMLは、のXSDに対して検証しません。 OrderFulfillment.xsdは、次の一節が含まれます。

<xsd:choice> 
    <xsd:element ref="AmazonOrderID"/> 
    <xsd:element ref="MerchantOrderID"/> 
</xsd:choice> 

意味を、あなただけのいずれかAmazonOrderIDまたはあなたMerchantOrderIDを提出することができます。後者は、前の手順でアマゾンにあなた自身のMerchantOrderIDを知らせた場合にのみ許可されます。あなたのシステムは両方を認識しているようだから、AmazonOrderIDを使用しない理由はありません。

次のXMLフィードを検証しますので、動作するはずです:

<?xml version="1.0" encoding="UTF-8"?> 
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> 
    <Header> 
     <DocumentVersion>1.01</DocumentVersion> 
     <MerchantIdentifier>MY-MERCHANT-ID</MerchantIdentifier> 
    </Header> 
    <MessageType>OrderFulfillment</MessageType> 
    <Message> 
     <MessageID>1</MessageID> 
     <OrderFulfillment> 
     <AmazonOrderID>116-8390288-9796217</AmazonOrderID> 

     <FulfillmentDate>2016-12-28T22:55:27-08:00</FulfillmentDate> 
     <FulfillmentData> 
      <CarrierName>USPS</CarrierName> 
      <ShippingMethod>Standard</ShippingMethod> 
     <ShipperTrackingNumber>9400110200830414375387</ShipperTrackingNumber> 
     </FulfillmentData> 
     <Item> 
      <AmazonOrderItemCode>40322771766298</AmazonOrderItemCode> 
      <Quantity>1</Quantity> 
     </Item> 
     </OrderFulfillment> 
    </Message> 
</AmazonEnvelope> 
+0

は、これはそれを解決しました。 – billabrian6

関連する問題