PHP Amazon MWS提要-ProductImage-XML第1行出现错误

PHP Amazon MWS提要-ProductImage-XML第1行出现错误,php,xml,amazon-mws,Php,Xml,Amazon Mws,我正在开发一个定制模块,通过PHP amazon MWS向amazon发送一些产品。 我阅读了所有指南,模块现在已启动并运行(发送所有提要:产品、产品图像、库存、价格),但我在发送图像时遇到了一个问题 最奇怪的事情(这就是我被卡住的地方,我正考虑把自己扔出这个三楼办公室)是在Amazon Scratchpad上测试我的XML ProductImage提要,它可以工作!! () 但是,如果我使用完全相同的XML提要,它就会失败,并出现来自AmazonWS的一个奇怪错误(您知道,第1行的语法错误in

我正在开发一个定制模块,通过PHP amazon MWS向amazon发送一些产品。 我阅读了所有指南,模块现在已启动并运行(发送所有提要:产品、产品图像、库存、价格),但我在发送图像时遇到了一个问题

最奇怪的事情(这就是我被卡住的地方,我正考虑把自己扔出这个三楼办公室)是在Amazon Scratchpad上测试我的XML ProductImage提要,它可以工作!! ()

但是,如果我使用完全相同的XML提要,它就会失败,并出现来自AmazonWS的一个奇怪错误(您知道,第1行的语法错误invalid char)

我确信我的模块工作得很好,因为它只需从队列中获取产品,生成所需的XML提要,并使用amazon在其文档示例中编写的相同函数发送它。(事实上,我成功地发送了5000种产品,除了图像)

我读到了另一个答案,答案很接近,但解决方案是删除“xml version=“1.0”部分,但我真的认为这不是问题所在(因为ScratchPad工具正确地发送了它,并获得了肯定的提交提要结果)

这是一个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>A1VWJ2240S9NYA</MerchantIdentifier>
</Header>
<MessageType>ProductImage</MessageType>
<PurgeAndReplace>false</PurgeAndReplace>
<Message>
   <MessageID>1</MessageID>
   <OperationType>Update</OperationType>
   <ProductImage>
       <SKU>0582</SKU>
       <ImageType>Main</ImageType>
       <ImageLocation>http://www.mywebsite.com/images/product/myimage.jpg</ImageLocation>
   </ProductImage>
</Message>
</AmazonEnvelope>

1.01
A1VWJ2240S9NYA
产品形象
假的
1.
更新
0582
主要
http://www.mywebsite.com/images/product/myimage.jpg
有人能帮我吗? 任何建议或评论都是有价值的


谢谢

如果XML文件的最开始没有UTF-8,只需进行盲快照检查(例如使用一些十六进制查看器)。UTF-8 BOM是3个字符:
EF BB BF
。是的,很棒的快照Dawid,我也这么认为,但这里生成的每个XML都是php生成的(simpleXML)并通过CURL发送。它都是UTF8,没有BOM。我在另一个提要上也应该有同样的问题。无论如何,非常感谢!只是一个盲目的快照检查(例如,使用一些十六进制查看器)如果XML文件开头没有UTF-8。UTF-8 BOM是3个字符:
EF BB BF
。是的,很棒的镜头Dawid,我也这么认为,但这里生成的每个XML都是php生成的(simpleXML),并通过CURL发送。没有BOM,都是UTF8。我在另一个提要上也应该有同样的问题。非常感谢!