It appears that one or more XSDs in the MWS documentation is out of date. Specifically, we are trying to submit an Order Acknowledgement request and it is not working. There are no details about what is wrong, however.
Here is the request that was sent (I have masked potentially sensitive values)
The Amazon response is:
<?xml version="1.0" encoding="UTF-8"?> 1.02 ************** ProcessingReport 1 *********** Complete 1 0 1 0 1 Error 25 We are unable to process the XML feed because one or more items are invalid. Please re-submit the feed.This is entirely unhelpful, and the only thing I can conclude is perhaps the XSD for order acknowledgments is out of date. Any help is appreciated.
Your request is not readable can you please repost and use the preformatted tag option as I did below with their example?
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier> M_IDENTIFIER</MerchantIdentifier>
</Header>
<MessageType>OrderAcknowledgement</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderAcknowledgement>
<AmazonOrderID>050-1234567-1234567</AmazonOrderID>
<MerchantOrderID>1234567</MerchantOrderID>
<StatusCode>Success</StatusCode>
<Item>
<AmazonOrderItemCode>12345678901234</AmazonOrderItemCode>
<MerchantOrderItemID>1234567</MerchantOrderItemID>
</Item>
</OrderAcknowledgement>
</Message>
</AmazonEnvelope>
I noticed the same difference and tried it in Scratchpad, too. I actually still have it open and verified that it doesn’t work.
Thanks for the help. I am using the OrderItemId from the ListOrderItemsResult - would that not be correct?
Thank you Buildcom. The issue turned out to be AmazonOrderId (my original tag) vs. AmazonOrderID. After updating that value the acknowledgement went through. All this time spent over a case sensitivity issue - I wish the error reporting was more robust on the Amazon side! I appreciate the help.