2014-10-08 129 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