2014-10-08 127 views
0

我收到以下錯誤:亞馬遜MWS錯誤當Subitting _POST_ORDER_FULFILLMENT_DATA_飼料

<Result> 
<MessageID>1</MessageID> 
<ResultCode>Error</ResultCode> 
<ResultMessageCode>25</ResultMessageCode> 
<ResultDescription>We are unable to process the XML feed because one or more items are invalid. Please re-submit the feed.</ResultDescription> 

,我提交的XML如下:

<?xml version="1.0" encoding="utf-8"?> 
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> 
    <Header> 
    <DocumentVersion>1.01</DocumentVersion> 
    <MerchantIdentifier>**REMOVED**</MerchantIdentifier> 
    </Header> 
    <MessageType>OrderFulfillment</MessageType> 
    <Message> 
    <MessageID>1</MessageID> 
    <OrderFulfillment> 
     <MerchantOrderID>ORD-20000018</MerchantOrderID> 
     <MerchantFulfillmentID>DEL-50000018</MerchantFulfillmentID> 
     <FulfillmentDate>2014-10-08T14:55:00+00:00</FulfillmentDate> 
     <FulfillmentData> 
     <CarrierCode>Royal Mail</CarrierCode> 
     <ShippingMethod>Standard</ShippingMethod> 
     <ShipperTrackingNumber>KF95809XXXGB</ShipperTrackingNumber> 
     </FulfillmentData> 
     <Item> 
     <MerchantOrderItemID>1013</MerchantOrderItemID> 
     <MerchantFulfillmentItemID>22</MerchantFulfillmentItemID> 
     <Quantity>2</Quantity> 
     </Item> 
    </OrderFulfillment> 
    </Message> 
</AmazonEnvelope> 

你能不能讓我知道我在哪裏可能會出錯,我再次用xsd檢查了元素名稱。

回答

1

根據OrderFulfillment.xsd模式,MerchantFulfillmentID的類型爲IDNumber,它來源於xsd:positiveInteger類型。 amzn-base.xsd還爲IDNumber指定了一個正則表達式約束<xsd:pattern value="\d{1,20}"/>。因此,請嘗試將您的第一個MerchantFulfillmentID更改爲一個整數(順便說明,與您目前在Item下的第二個MerchantFulfillmentID不匹配)。

+0

非常感謝解決了這個問題,不敢相信我錯過了這個。至於「第二個」MerchantFulfillmentID,該元素實際上是MerchantFulfillmentItemID,它應該是不同的值。再次感謝。 – 2014-10-08 20:58:41

+0

很高興幫助。如果您不介意,我是否也可以在答案上得到贊成票?謝謝! :) – 2014-10-08 21:09:18