Amazon Marketplace API ProductImage Feed непредвиденная ошибка элемента при разборе xml

Я работаю с API Amazon MWS Feed в Java, и у меня возникли некоторые проблемы при отправке канала ProductImage в Amazon.

Это xml, который я отправляю:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ProductImage>
    <SKU>ABCDORD0001</SKU>
    <ImageType>Main</ImageType>
    <ImageLocation>http://vocearancio.ingdirect.it/wp-content/uploads/2013/01/bici-1.jpeg</ImageLocation>
</ProductImage>

И это ответ веб-службы (только интересная часть):

            <Result>
                <MessageID>1</MessageID>
                <ResultCode>Error</ResultCode>
                <ResultMessageCode>5000</ResultMessageCode>
                <ResultDescription>XML Parsing Error at Line 2, Column 15: Found unexpected element &apos;ProductImage&apos; while parsing the start of this &apos;AmazonEnvelope&apos; document. Children of this element will be ignored by the parser..</ResultDescription>
            </Result>

Я не понимаю, почему он игнорирует тег ProductImage, я следую примеру в документации, и все должно быть в порядке. Я отправляю канал с request.setFeedType("_POST_PRODUCT_IMAGE_DATA_");Это потому, что мне не хватает части конверта? Я думал, что это сделал java API, у меня не было проблем с другими каналами (даже несмотря на то, что продукт не отображается в инвентаре Sellecentral).

Это был мой фид POST_PRODUCT_DATA (кулак, который я должен отправить, а не тот, что выше), который вернулся без ошибок:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Product>
    <SKU>ABCDORD0001</SKU>
    <LaunchDate>2014-11-10T00:00:00.000+01:00</LaunchDate>
    <ReleaseDate>2014-11-10T00:00:00.000+01:00</ReleaseDate>
    <Condition>
        <ConditionType>New</ConditionType>
    </Condition>
    <DescriptionData>
        <Title>titolo_articolo</Title>
        <Brand>brand_item</Brand>
        <Description>descrizione_articolo_dett</Description>
        <ItemType>sotto_categoria</ItemType>
    </DescriptionData>
    <ProductData>
        <Sports></Sports>
    </ProductData>
</Product>

Я надеюсь, что кто-то может помочь.

2 ответа

Решение

Проблема заключалась в том, что мне не хватало части амазонка-конверта, вот пример правильного xml, который я сейчас отправляю на веб-сервис:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AmazonEnvelope>
    <Header>
        <DocumentVersion>1.01</DocumentVersion>
        <MerchantIdentifier>A2UAUVMGTII0KR</MerchantIdentifier>
    </Header>
    <MessageType>Product</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <OperationType>Update</OperationType>
        <Product>
            <SKU>ABCDORD0005</SKU>
            <StandardProductID>
                <Type>ISBN</Type>
                <Value>9788478888566</Value>
            </StandardProductID>
            <LaunchDate>2014-03-23T00:00:00.000+01:00</LaunchDate>
            <ReleaseDate>2014-03-23T00:00:00.000+01:00</ReleaseDate>
            <Condition>
                <ConditionType>New</ConditionType>
            </Condition>
            <DescriptionData>
                <Title>Harry Potter and the Philosopher's Stone</Title>
                <Brand>brand_item</Brand>
                <Description>Harry Potter and the Philosopher's Stone is the first novel in the Harry Potter series, written by J. K. Rowling.</Description>
                <Manufacturer>J. K. Rowling</Manufacturer>
                <ItemType>sotto_categoria</ItemType>
            </DescriptionData>
            <ProductData>
                <Sports></Sports>
            </ProductData>
        </Product>
    </Message>
</AmazonEnvelope>

И это прекрасно работает, никаких ошибок при возврате, просто обратите внимание, что для покупки продукта в центральном магазине требуется почти 1 минута, и еще 10 минут для его обработки и активации. Кроме того, элемент StandardProductID действительно важен, если вы не предоставите правильный код, вы получите в ответ отсутствующую ключевую ошибку.

Это звучит так, как будто вы отправляете свой канал изображений с помощью _POST_PRODUCT_DATA_ SubmitFeant Conant.

Вместо этого вам нужно отправить свои изображения, используя _POST_PRODUCT_IMAGE_DATA_ постоянная. Здесь есть описание рабочего процесса. Обратитесь к разделу " Продажи на Amazon", "Руководство по XML", чтобы получить подробную информацию о требуемом содержимом канала. Это показывает пример подачи на страницах 47/48.

Другие вопросы по тегам