quickbooks - Quickbooks 与我期望的 qbXML 版本不兼容
问题描述
我有一个使用 Quickbooks SDK 版本 13 构建的自制 C++ 应用程序。该应用程序的目的是允许我通过从网络端口接收 XML 字符串来与 Quickbooks 交谈。我能够使用 qbXML 2.1 版进行通信。它正在与 Quickbooks Enterprise 版本 16 交谈。那么,当我运行主机查询时,我很惊讶......
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="2.1"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<HostQueryRq></HostQueryRq>
</QBXMLMsgsRq>
</QBXML>
...输出是这样的:
<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<HostQueryRs statusCode="0" statusSeverity="Info" statusMessage="Status OK">
<HostRet>
<ProductName>Intuit QuickBooks Enterprise Solutions: Manufacturing and Wholesale 16.0</ProductName>
<MajorVersion>26</MajorVersion>
<MinorVersion>0</MinorVersion>
<SupportedQBXMLVersion>1.0</SupportedQBXMLVersion>
<SupportedQBXMLVersion>1.1</SupportedQBXMLVersion>
<SupportedQBXMLVersion>2.0</SupportedQBXMLVersion>
<SupportedQBXMLVersion>2.1</SupportedQBXMLVersion>
</HostRet>
</HostQueryRs>
</QBXMLMsgsRs>
</QBXML>
SDK 13 版显然应该可以使用 qbXML 13 版,Quickbooks Enterprise 16 应该兼容高于 2.1 的 qbXML。我需要使用 qbXML 的一项功能,该功能仅在 qbXML 2.1 之后可用。 Intuit 的这些发行说明指出,Quickbooks Enterprise 14.0 与 qbXML 版本 13.0、12.0、11.0、10.0、9.0、8.0、7.0、6.0、5.0、4.1、4.0、3.0、2.1、2.0、1.1 和 1.0 兼容。当然,像 16 这样的更高版本也将与这些兼容。
为什么 Quickbooks 告诉我它只能使用 qbXML 2.1?我该怎么做才能使用更新的版本?
<?qbxml version="2.1"?>
编辑:抱歉,在更改为<?qbxml version="13.0"?>
2.1 或任何高于 2.1 的值返回错误之前我忘了提及,80040428
这意味着“当前请求处理器不支持该请求”。另外,如果我使用<?qbxml version="2.0"?>
,我仍然会得到<SupportedQBXMLVersion>2.1</SupportedQBXMLVersion>
。
解决方案
为什么 Quickbooks 告诉我它只能使用 qbXML 2.1?
因为你只使用 2.1。只需使用不同的版本。2.1大约15岁。
改变这个:
<?qbxml version="2.1"?>
对于这样的事情:
<?qbxml version="13.0"?>
推荐阅读
- java - 如何在正确项目的多项目中加载资源路径?
- python - 查找两个不同模型的两个查询集的交集
- python - 替换字符串中的子字符串:Python
- microservices - 如何使用 traefik 为服务器 api 添加 url 前缀?
- javascript - 使用 Ajax 在 Div 单击时更新 MYSQL 表 - 没有页面刷新?
- postgresql - 在 typeORM Typescript 的 WHERE 条件中使用 LIKE
- c# - 使用 Entity Framework Core 映射图像类型属性
- javascript - 为什么我在 Javascript 中查找从 2 到给定数字的素数的代码无法正常工作
- r - 根据条件将列添加到数据框
- python - 如何将图像添加到轴中的条形图(matplotlib)