我收到以下XML请求,以添加新的Quickbooks帐单:
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="3.0"?>
<QBPOSXML>
<QBPOSXMLMsgsRq onError="stopOnError">
<BillAddRq>
<BillAdd defMacro="MACROTYPE"> <!-- required -->
<VendorRef> <!-- required -->
<ListID>80012448-1569211475</ListID> <!-- optional -->
</VendorRef>
<TxnDate>2019-06-28</TxnDate> <!-- optional -->
<DueDate>2019-06-29</DueDate> <!-- optional -->
<RefNumber>Ref12345</RefNumber> <!-- optional -->
<Memo>Memo12345</Memo> <!-- optional -->
<ExternalGUID>ExternalGUID12345</ExternalGUID> <!-- optional -->
<ExpenseLineAdd defMacro="MACROTYPE"> <!-- optional, may repeat -->
<AccountRef> <!-- optional -->
<FullName>Casual Labor:Moving</FullName> <!-- optional -->
</AccountRef>
<Amount>99.99</Amount> <!-- optional -->
<Memo>VillageMemo12345</Memo> <!-- optional -->
</ExpenseLineAdd>
</BillAdd>
</BillAddRq>
</QBPOSXMLMsgsRq>
</QBPOSXML>
Web连接器返回上述错误0x80040400: QuickBooks found an error when parsing the provided XML text stream.
。我在Intuit的支持论坛上关注了此post,以尝试使用内置的XML验证程序。
通过验证程序运行XML请求时,出现以下错误:
如何解决上述验证程序错误?另外,除了使用内置验证器之外,还有其他方法可以验证QB XML吗?
答案 0 :(得分:1)
您在验证器中选择的平台需要与您在XML中定位的平台选择相匹配。
您选择根据以下条件进行验证:
但是您的qbXML用于:
<?qbposxml version="3.0"?>
<QBPOSXML>
(QuickBooks销售点)由于您对不是您实际的qbXML目标的东西进行了验证,因此验证当然会失败。对于您选择的内容无效。
如果您要开发销售点,请针对销售点进行验证。
如果您正在为美国版的QuickBooks开发,那么请为美国版的QuickBooks放入一些qbXML并进行验证。