我正在使用QuickBooks SDK中的CustomerAdd演示程序来添加客户。当我添加一个客户时,我可以设置名称加上另外两个字段(即电话和电子邮件),但如果我尝试设置超过2,我会收到错误“QuickBooks在解析XML输入流时发现错误”。这是对试用版的限制吗?我的Quickbooks版本是试用版。
答案 0 :(得分:2)
从这个qbXML wiki article at consolibyte.com:
中无耻地回答“0x80040400 QuickBooks在解析提供的XML文本流时发现了什么错误。”意味着吗
这意味着您的qbXML请求中存在某种奇怪的错误。尝试通过QuickBooks SDK中包含的QuickBooks qbXML测试/验证器实用程序运行qbXML请求。
值得注意的是,在构建qbXML请求时,顺序很重要。例如,如果在OSR中定义了qbXML请求,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="7.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CustomerAddRq>
<CustomerAdd>
<Name>STRTYPE</Name>
<FirstName>STRTYPE</FirstName>
<MiddleName>STRTYPE</MiddleName>
<LastName>STRTYPE</LastName>
...
然后这不起作用(因为<Name>…</Name>
和<FirstName>…</FirstName>
标签的顺序相反):
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="7.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CustomerAddRq>
<CustomerAdd>
<FirstName>Keith</FirstName>
<Name>Keith R Palmer</Name>
<MiddleName>R</MiddleName>
<LastName>Palmer</LastName>
...
其他常见错误包括:
如何解决qbXML错误?