AmazonMWSを介してAmazonに注文確認を送信するのに問題があります。
私が提出しているXMLは次のとおりです。
<?xml version="1.0"?>
<AmazonEnvelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>F85S4E7G4FSE98</MerchantIdentifier>
</Header>
<MessageType>OrderAcknowledgment</MessageType>
<Message>
<MessageID>1</MessageID>
<OrderAcknowledgment>
<AmazonOrderID>654-8547853-2598634</AmazonOrderID>
<MerchantOrderID>658795124</MerchantOrderID>
<StatusCode>Success</StatusCode>
<Item>
<AmazonOrderItemCode>35287489587654</AmazonOrderItemCode>
<MerchantOrderItemID>587487</MerchantOrderItemID>
<AmazonOrderItemCode>35287489587655</AmazonOrderItemCode>
<MerchantOrderItemID>587488</MerchantOrderItemID>
</Item>
</OrderAcknowledgment>
</Message>
</AmazonEnvelope>
XMLを送信すると、Amazonから返されるエラーは次のとおりです。
エラー25:1つ以上のアイテムが無効であるため、XMLフィードを処理できません。フィードを再送信してください。
Amazonが提供するXMLドキュメントのガイドに従ってXMLを作成しました。
このStackOverflowの質問に基づいて、複数のアイテムの形式は正しいです。
データをXSDファイルと照合しましたが、XMLは有効なようです
https://images-na.ssl-images-amazon.com/images/G/01/rainier/help/xsd/release_1_9/OrderAcknowledgement.xsd
https:/ /images-na.ssl-images-amazon.com/images/G/01/rainier/help/xsd/release_1_9/amzn-base.xsd
XML XSDバリデーターを使用してXMLを検証しようとしましたが、次のエラーが返されます
。Src-resolve:名前'AmazonOrderID'をA(n)'要素宣言'コンポーネントに解決できません。
このエラーは私にはあまり意味がありませんが、バリデーターで適切に参照できない他のXSCが多数含まれているため、返されていると思います。'AmazonOrderID'の制限は、amzn-base.xsdファイルにあり、私が提供したAmazonOrderIDと一致します。
<xsd:element name="AmazonOrderID">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\w{3}-\w{7}-\w{7}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
複数のアイテムの構造が正しくない場合
に備えて、単一のアイテムを順番に確認しようとしました。アイテムのセクションを読む必要がない場合があるため、アイテムのセクションを完全に削除
しようとしました。作成したすべてを処理するphpスクリプトを介して送信しようとしました。他のリクエストは正常
にAmazonスクラッチパッドを介して送信しようとしました:https ://mws.amazonservices.co.uk/scratchpad/index.html
私が試したことは何も問題を解決していません、そして私はすべてアイデア
がありませんあなたが提供できるどんな助けでも大いに感謝されます
ありがとうございました