【问题标题】:Quickbooks webconnector error parsing xmlQuickbooks webconnector解析xml错误
【发布时间】:2014-07-04 15:27:29
【问题描述】:

您能否就如何从 Quickbooks 网络连接器获取发票提供一些建议?

我有 Quickbooks Enterprise 4.0 和 webconnector 2.1。美国版。

我使用这个 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 企业 4.0 响应错误,因为有很多行。

您能否就如何从 Quickbooks 网络连接器获取发票提供一些建议?


Quickbooks 说在 MAX SDK 3.0 中支持迭代器

为什么不在 Quickbooks Enterprise 4.0 中使用迭代器?

【问题讨论】:

    标签: xml quickbooks


    【解决方案1】:

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

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

    你会发现这个简介:

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

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

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

    【讨论】:

    • 请查看我的问题。
    • 链接已更新,有关哪些版本支持和不支持迭代器的详细信息,请参阅链接 PDF 的第 76 页。显然 OSR 显示不正确。我的回答仍然正确 - 您的 QuickBooks 版本不支持迭代器。升级或不使用它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多