Quickbooks webconnector错误解析xml

时间:2014-07-04 15:27:30

标签: xml quickbooks

您能就如何从Quickbooks Web Connector获取发票提供一些建议吗?

我有Quickbooks Enterprise 4.0和webconnector 2.1。版本US。

我使用这个xml

<?qbxml version="3.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <InvoiceQueryRq  requestID="invoice" iterator="Start">
              <MaxReturned>100</MaxReturned>
        </InvoiceQueryRq>
    </QBXMLMsgsRq>
</QBXML>

网络连接说:

QuickBooks在解析提供的XML文本流时发现错误。

hresult:0x80040400


如果使用不带迭代器属性的xml

<?qbxml version="3.0"?>
<QBXML>
    <QBXMLMsgsRq onError="stopOnError">
        <InvoiceQueryRq  requestID="invoice">
        </InvoiceQueryRq>
    </QBXMLMsgsRq>
</QBXML>

然后Quickbooks enterprise 4.0响应有错误,因为有很多行。

您能就如何从Quickbooks Web Connector获取发票提供一些建议吗?


Quickbooks表示支持MAX SDK 3.0中的迭代器

qbXML page

为什么不使用Quickbooks Enterprise 4.0运行迭代器?

1 个答案:

答案 0 :(得分:0)

OSR引用显然不正确 - 您的QuickBooks版本太旧而无法支持迭代器。您需要升级到较新版本的QuickBooks,或不使用迭代器。

如果您参考文档(将qbXML版本设置为您的版本,3.0):

你会发现这个模糊:

  

有两种方法可以限制查询返回的数据。最好的方法是使用   迭代器功能,特定于查询。此功能仅适用于桌面   版本QB 2006及更高版本使用qbXML规范5.0及更高版本。

QuickBooks 2004 / qbXML版本3.0(现在已有10年历史的QuickBooks版本......)不支持迭代器。

解决方案 - 要么不使用迭代器(您拥有的iterator="Start"行),要么升级到支持它们的QuickBooks版本。