Quickbooks SDK调用限制

时间:2014-01-09 16:29:24

标签: c# sdk quickbooks

我正在使用QuickBooks SDK中的CustomerAdd演示程序来添加客户。当我添加一个客户时,我可以设置名称加上另外两个字段(即电话和电子邮件),但如果我尝试设置超过2,我会收到错误“QuickBooks在解析XML输入流时发现错误”。这是对试用版的限制吗?我的Quickbooks版本是试用版。

1 个答案:

答案 0 :(得分:2)

从这个qbXML wiki article at consolibyte.com

中无耻地回答

“0x80040400 QuickBooks在解析提供的XML文本流时发现了什么错误。”意味着吗

这意味着您的qbXML请求中存在某种奇怪的错误。尝试通过QuickBooks SDK中包含的QuickBooks qbXML测试/验证器实用程序运行qbXML请求。

值得注意的是,在构建qbXML请求时,顺序很重要。例如,如果在OSR中定义了qbXML请求,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="7.0"?>
<QBXML>
  <QBXMLMsgsRq onError="stopOnError">
    <CustomerAddRq>
      <CustomerAdd>
        <Name>STRTYPE</Name>
        <FirstName>STRTYPE</FirstName>
        <MiddleName>STRTYPE</MiddleName>
        <LastName>STRTYPE</LastName>
        ...

然后这不起作用(因为<Name>…</Name><FirstName>…</FirstName>标签的顺序相反):

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="7.0"?>
<QBXML>
  <QBXMLMsgsRq onError="stopOnError">
    <CustomerAddRq>
      <CustomerAdd>
        <FirstName>Keith</FirstName>        
        <Name>Keith R Palmer</Name>
        <MiddleName>R</MiddleName>
        <LastName>Palmer</LastName>
        ...

其他常见错误包括:

  • 遗漏所需元素
  • 忘记关闭标签/非常丑陋,无效的XML流
  • 发送非ASCII或非UTF-8文本(不发送奇怪的非标准字符)
  • 发送应转义的XML属性:&amp; &LT;取代。这些需要转换为:&amp; &LT; &GT;将它们包含在qbXML请求中。
  • 使用您的QuickBooks版本不支持的qbXML版本
  • 使用您的qbXML版本不支持的节点

如何解决qbXML错误?