您能就如何从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中的迭代器
为什么不使用Quickbooks Enterprise 4.0运行迭代器?
答案 0 :(得分:0)
OSR引用显然不正确 - 您的QuickBooks版本太旧而无法支持迭代器。您需要升级到较新版本的QuickBooks,或不使用迭代器。
如果您参考文档(将qbXML版本设置为您的版本,3.0
):
你会发现这个模糊:
有两种方法可以限制查询返回的数据。最好的方法是使用 迭代器功能,特定于查询。此功能仅适用于桌面 版本QB 2006及更高版本使用qbXML规范5.0及更高版本。
QuickBooks 2004 / qbXML版本3.0
(现在已有10年历史的QuickBooks版本......)不支持迭代器。
解决方案 - 要么不使用迭代器(您拥有的iterator="Start"
行),要么升级到支持它们的QuickBooks版本。