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,唯一必填的字段是"名称"。我已经没有地方可以进行这项调查了。

我的做法有什么

明显的问题吗?是否有我没有看到的权限问题?

QBXML:简单客户添加“解析时出错”

知道了!C# 的 XDocument.ToString() 删除了 <?xml?> 指令。我的另一个查询有效,因为我使用的是XmlDocument.InnerXml,它没有这样做(但与XDocument相比看起来更丑陋)。我继续,只是连接:

doc.Declaration.ToString() + doc.ToString()

与XDocument.ToString()丢弃XML编码标记基本相同的问题