2016-12-28 66 views
-1

我試圖自動化我們的亞馬遜訂單的運輸確認,但提交Feed中說:「我們無法處理XML提要,因爲一個或多個項目無效,請重新提交提要。」亞馬遜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> 

意思,你只能提交要麼一個AmazonOrderIDMerchantOrderID。如果您在上一步中製作屬於自己的亞馬遜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