When I am submitting XML feed using amazon SP API I am facing error XML Parsing Fatal Error

111 Views Asked by At
  • 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>SellerId</MerchantIdentifier>
        </Header>
        <MessageType>Inventory</MessageType>
        <Message>
          <MessageID>1</MessageID>
          <OperationType>Update</OperationType>
          <Inventory>
            <SKU>SKUIID1223</SKU>
            <Quantity>4</Quantity>
          </Inventory>
        </Message>
      </AmazonEnvelope>
    

ERROR : XML Parsing Fatal Error at Line 1, Column 1: Content is not allowed in prolog. Content is not allowed in prolog.

<?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>A2ICRN18O3Y4N7</MerchantIdentifier>
    </Header>
    <MessageType>ProcessingReport</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <ProcessingReport>
            <DocumentTransactionID>257173019690</DocumentTransactionID>
            <StatusCode>Complete</StatusCode>
            <ProcessingSummary>
                <MessagesProcessed>0</MessagesProcessed>
                <MessagesSuccessful>0</MessagesSuccessful>
                <MessagesWithError>1</MessagesWithError>
                <MessagesWithWarning>0</MessagesWithWarning>
            </ProcessingSummary>
            <Result>
                <MessageID>0</MessageID>
                <ResultCode>Error</ResultCode>
                <ResultMessageCode>5001</ResultMessageCode>
                <ResultDescription>XML Parsing Fatal Error at Line 1, Column 1: Content is not allowed in prolog. Content is not allowed in prolog.</ResultDescription>
            </Result>
        </ProcessingReport>
    </Message>
</AmazonEnvelope>
1

There are 1 best solutions below

0
On

It may be a problem with space characters in the buffer below. Check the contents below, parse the xml contents, and send it.

String xml = "<?xml ...";
xml = xml.trim().replaceFirst("^([\\W]+)<","<");