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

Quickbook SalesOrderQueryRq xml provide QuickBooks found an error when parsing the provided XML text stream

我想从 Quickbook Desktop 获取销售订单。 来自 Quickbook 参考,我正在使用 Salesorderquery(2.1) 下面是我正在使用的XML

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError"> 
   <SalesOrderQueryRq metaData="ENUMTYPE" iterator="ENUMTYPE" iteratorID="UUIDTYPE"/>
</QBXMLMsgsRq>
</QBXML>

但是当我尝试通过 SDKTESTPLUS3 测试 xml 请求时,出现以下错误

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

你能告诉我我在这个请求中做错了什么吗?

你这里有几个问题:

  • metaData="ENUMTYPE" - 这是枚举 (https://en.wikipedia.org/wiki/Enumerated_type),ENUMTYPE 不是枚举的有效值。删除此属性,或指定有效类型。
  • iterator="ENUMTYPE" - 这也是一个枚举,同样的处理。
  • iteratorID="UUIDTYPE" - 这应该是一个 UUID。如果你不继续一个迭代器,你应该离开这个属性。否则,使用迭代器的 UUID。

此外,某些版本的 QuickBooks 使用 XML 不喜欢自闭标签的解析器。试试这个:

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError"> 
   <SalesOrderQueryRq></SaalesOrderQueryRq>
</QBXMLMsgsRq>
</QBXML>