QBXML:简单客户添加“解析时出错”
本文关键字:出错 解析时出错 简单 客户 添加 QBXML | 更新日期: 2023-09-27 18:33:54
我已经构建了一个非常简单的XML请求到QuickBooks Desktop,并使用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()
与XDocument.ToString()丢弃XML编码标记基本相同的问题