我需要一些帮助,在我目前的实现自动化的法案流程从我们的系统到QB。我已作出一切所需的更改,将条例草案有关资料由我们的系统传送至QB,并期望将其保存在有关QB的条例草案下。下面是我请求的样例qbxml。但我从QB得到的错误信息如下。如果需要修改xml请求,请指导我。
QB:错误消息:
20200325.16:57:30 UTC : QBWebConnector.SOAPWebService.do_sendRequestXML() : Request xml received.
20200325.16:57:30 UTC : QBWebConnector.SOAPWebService.ProcessRequestXML() : Processing request #2
20200325.16:57:30 UTC : QBWebConnector.SOAPWebService.ProcessRequestXML() : REQUEST: received from pplication: size (bytes) = 711
20200325.16:57:30 UTC : QBWebConnector.SOAPWebService.ProcessRequestXML() : Sending request to uickBooks.
20200325.16:57:30 UTC : QBWebConnector.SOAPWebService.ProcessRequestXML() : Sending error message back to application:
HRESULT = 0x80040400
**Message: QuickBooks found an error when parsing the provided XML text stream.**
20200325.16:57:30 UTC : QBWebConnector.SOAPWebService.ProcessRequestXML() : XML dump follows: -失败的请求:
<?xml version="1.0" encoding="ASCII"?><?qbxml versi......**QBXML请求:
<?xml version="1.0" encoding="ASCII"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="continueOnError">
<BillAddRq requestID="9240">
<BillAdd>
<VendorRef>
<FullName>ALERNER</FullName>
</VendorRef>
<TxnDate>2020-03-25</TxnDate>
<DueDate>2020-03-24</DueDate>
<RefNumber>100</RefNumber>
<TermsRef>
<FullName>Net 30 Days</FullName>
</TermsRef>
<Memo>via access</Memo>
<Address>
<Adr1>1060 N Kings Hway Suite 220</Adr1>
<City>Cherry Hill</City>
<State>NJ</State>
<PostalCode>08034</PostalCode>
<Country></Country>
</Address>
<ItemLineAdd>
<ItemRef>
<ListID>430001 - 1197741385</ListID>
</ItemRef>
<Desc>1 cubed mice</Desc>
<Quantity>10</Quantity>
<Cost>5</Cost>
<Amount>6</Amount>
</ItemLineAdd>
</BillAdd>
</BillAddRq>
</QBXMLMsgsRq>
</QBXML>发布于 2020-03-26 13:29:37
每当你看到这个:
QuickBooks found an error when parsing the provided XML text stream.
这意味着您的XML要么无效,要么与XSD Intuit定义的针对所需字段/数据类型/等等进行验证不匹配。
当您遇到这种情况时,您应该做的第一件事是使用XML Validator工具,该工具包含在QuickBooks SDK中。不要在线使用XML,因为它不仅验证QuickBooks结构本身,而且根据XSD验证数据类型、字段长度、元素排序等。
在这种情况下,您的问题是Address根本不是一个有效的元素(您可能在寻找VendorAddress)。
您还可以参考Intuit的文档:
https://developer-static.intuit.com/qbsdk-current/common/newosr/index.html
:
编辑:由于某种原因,OSR链接已经更新,请使用以下链接https://static.developer.intuit.com/qbSDK-current/common/newosr/index.html
https://stackoverflow.com/questions/60861532
复制相似问题