我已经向 QuickBooks Desktop 构建了一个非常简单的 XML 请求,并使用 QBSDK qb*XML 验证器对其进行了验证,这告诉我 XML 实例是有效的:
<?qbxml version="12.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CustomerAddRq requestID="12">
<CustomerAdd>
<Name>EDWARDS, JOHN</Name>
<FirstName>John</FirstName>
</CustomerAdd>
</CustomerAddRq>
</QBXMLMsgsRq>
</QBXML>
但是,我自己的 C# 应用程序和 SDK 提供的 qbXML 测试应用程序都失败,并显示无用的消息“QuickBooks 在解析提供的 XML 文本流时发现错误。”
我已通过 QuickBooks 成功授权该应用,并授予其额外的客户信息权限以确保万无一失。
根据 OSR,唯一必填字段是“名称”。我已经没有地方可以进行这项调查了。
我的处理方式有什么明显的错误吗?是否存在我没有看到的权限问题?
最佳答案
明白了! C# 的 XDocument.ToString() 删除 <?xml?>
指示。我的另一个查询有效,因为我使用的是 XmlDocument.InnerXml,它没有这样做(但与 XDocument 相比看起来更丑)。我继续并连接:
doc.Declaration.ToString() + doc.ToString()
关于c# - QBXML:简单的 CustomerAdd "error when parsing",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19170030/