使用XML更新了问题。我之前用验证器检查了它并且它通过了。问题可能是其他问题。再次感谢。
您能告诉我以下代码有什么问题吗?我用它来提交服务器到服务器检出API请求。
我一直收到错误:“ 解析XML时出错;来自解析器的消息是:prolog中不允许内容 。
我已尝试过所有排列和组合,并在网上搜索但无法获得任何线索。当我被困住时,我们将非常感谢您的提示帮助。
谢谢。 .Ashish PS:以下修改了用于身份验证的base64编码值,以便安全性,因此只是一个随机值。
XML = "..."
form_fields = {'XML': XML}
form_data = urllib.urlencode(form_fields)
result = urlfetch.fetch( url='https://sandbox.google.com/checkout/api/checkout/v2/merchantCheckout/Merchant/MERCHANT_ID', payload= form_data,
method=urlfetch.POST,
headers={"Authorization": "Basic Kfgoijkef3fdgikneijerfererererwetfni43rfeferr=",
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "application/xml;charset=UTF-8"
}
)
XML = "<?xml version='1.0' encoding='UTF-8'?> \
<checkout-shopping-cart xmlns='http://checkout.google.com/schema/2'> \
<shopping-cart> \
<items> \
<item> \
<item-name>HelloWorld 2GB MP3 Player</item-name> \
<item-description>HelloWorld, the simple MP3 player</item-description> \
<unit-price currency='USD'>159.99</unit-price> \
<quantity>1</quantity> \
</item> \
</items> \
</shopping-cart> \
<checkout-flow-support> \
<merchant-checkout-flow-support> \
<shipping-methods> \
<flat-rate-shipping name='SuperShip Ground'> \
<price currency='USD'>9.99</price> \
</flat-rate-shipping> \
</shipping-methods> \
</merchant-checkout-flow-support> \
</checkout-flow-support> \
</checkout-shopping-cart>"
答案 0 :(得分:0)
您看到的错误消息是一条非常通用的错误消息,指出您为XML解析器提供的内容不是格式良好的XML。这可能意味着该文件为空,或以无法识别的字节顺序标记开头,或以“&lt;”以外的其他内容开头。
答案 1 :(得分:0)
“prolog中不允许内容”错误是XML解析器在XML文档类型声明之前定位时出现错误,或者在XML声明中出现非标准字符(在HTML中有效)。它也可能是由大写字母指定编码引起的(例如UTF-8不正确)。
尝试将编码更改为“utf-8”以查看是否修复了它。
当出现此错误时,下面的链接会有更多有趣的案例:
http://www.judahfrangipane.com/blog/2006/12/13/content-is-not-allowed-in-prolog/