QBXML:简单的CustomerAdd“解析时出错”

时间:2013-10-03 22:07:17

标签: c# quickbooks qbxml

我已经为QuickBooks Desktop构建了一个非常简单的XML请求,并使用QBSDK qb * XML Validator验证了它,它告诉我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,唯一需要的字段是“名称”。我已经没有地方可以参加这项调查了。

我是怎么回事这个问题有什么明显的错误吗?是否存在我没​​有看到的权限问题?

1 个答案:

答案 0 :(得分:2)

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

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

XDocument.ToString() drops XML Encoding Tag

基本相同的问题