更新运费的Feed无效,此时预计不会显示子元素

时间:2014-09-08 21:44:44

标签: xml amazon-mws

我试图更新我的产品的运费。这是我提交的Feed:

<?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>M_GAATUSALES_1356361</MerchantIdentifier>
    </Header>
    <MessageType>Override</MessageType>
    <Message> 
        <MessageID>1</MessageID> 
        <OperationType>Update</OperationType> 
        <Override> 
            <SKU>112629</SKU> 
            <ShippingOverride> 
                <ShipAmount currency="USD">120.00</ShipAmount> 
                <IsShippingRestricted>false</IsShippingRestricted>
            </ShippingOverride> 
        </Override> 
    </Message> 
</AmazonEnvelope>

这是我从亚马逊收到的回复。

<?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.02</DocumentVersion>
        <MerchantIdentifier>M_GAATUSALES_1356361</MerchantIdentifier>
    </Header>
    <MessageType>ProcessingReport</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <ProcessingReport>
            <DocumentTransactionID>11074252872</DocumentTransactionID>
            <StatusCode>Complete</StatusCode>
            <ProcessingSummary>
                <MessagesProcessed>0</MessagesProcessed>
                <MessagesSuccessful>0</MessagesSuccessful>
                <MessagesWithError>1</MessagesWithError>
                <MessagesWithWarning>0</MessagesWithWarning>
            </ProcessingSummary>
            <Result>
                <MessageID>1</MessageID>
                <ResultCode>Error</ResultCode>
                <ResultMessageCode>5000</ResultMessageCode>
                <ResultDescription>XML Parsing Error at Line 16, Column 30: cvc-complex-type.2.4.d: Invalid content was found starting with element 'IsShippingRestricted'. No child element is expected at this point..</ResultDescription>
            </Result>
        </ProcessingReport>
    </Message>
</AmazonEnvelope>

任何想法我做错了什么?我使用Amazon Scratchbook进行测试。

1 个答案:

答案 0 :(得分:0)

您的XML无法验证。

ShippingOverrideOverride.xsd中定义为以下之一:

<ShippingOverride>
  <ShipOption>...</ShipOption>
  <IsShippingRestricted>...</IsShippingRestricted>
</ShippingOverride>

<ShippingOverride>
  <ShipOption>...</ShipOption>
  <Type>...</Type>
  <ShipAmount currency="...">...</ShipAmount> 
</ShippingOverride>

,其中

  • ShipOption不受架构限制,但似乎有list of valid values
  • IsShippingRestricted可以是truefalse
  • Type可以是AdditiveExclusive
  • ShipAmount需要货币ISO代码(例如USDGBP)和数值。

请注意currency ISO code seems to be cosmetic