修改QB Desktop销售订单时出现XML解析错误
QuickBooks销售订单修改XML解析错误排查
错误信息
错误代码:
0x80040400
错误描述:QuickBooks解析提供的XML文本流时发现错误
原XML请求内容
<?xml version="1.0" encoding="ISO-8859-1"?> <?qbxml version="11.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <SalesOrderModRq> <SalesOrderMod> <TxnID>1-1672737866</TxnID> <EditSequence>1672737866</EditSequence> <CustomerRef> <FullName>156004 Loose Bee Ln</FullName> </CustomerRef> <TxnDate>2023-01-03</TxnDate> <BillAddress> <Addr1>123</Addr1> <Addr2></Addr2> <City>Gity</City> <State>Ritham</State> <PostalCode>5555</PostalCode> <Country>Universe</Country> </BillAddress> <PONumber>4444444</PONumber> <Other>Southshore Bay</Other> <SalesOrderLineMod> <TxnID>3-1672737866</TxnID <ItemRef> <FullName>Single Family - One Story</FullName> </ItemRef> <Desc>Foundation</Desc> <Quantity>1</Quantity> <Amount>85.00</Amount> <DataExtMod> <OwnerID>0</OwnerID> <DataExtName>Lot</DataExtName> <DataExtValue>8/98</DataExtValue> </DataExtMod> <DataExtMod> <OwnerID>0</OwnerID> <DataExtName>Address</DataExtName> <DataExtValue>156004 Loose Bee Ln</DataExtValue> </DataExtMod> </SalesOrderLineMod> </SalesOrderMod> </SalesOrderModRq> </QBXMLMsgsRq> </QBXML>
问题定位
- XML标签未闭合:
<SalesOrderLineMod>节点下的<TxnID>标签存在语法错误,原代码末尾缺少闭合符号>,直接导致XML解析失败。
修正后的XML
<?xml version="1.0" encoding="ISO-8859-1"?> <?qbxml version="11.0"?> <QBXML> <QBXMLMsgsRq onError="stopOnError"> <SalesOrderModRq> <SalesOrderMod> <TxnID>1-1672737866</TxnID> <EditSequence>1672737866</EditSequence> <CustomerRef> <FullName>156004 Loose Bee Ln</FullName> </CustomerRef> <TxnDate>2023-01-03</TxnDate> <BillAddress> <Addr1>123</Addr1> <Addr2></Addr2> <City>Gity</City> <State>Ritham</State> <PostalCode>5555</PostalCode> <Country>Universe</Country> </BillAddress> <PONumber>4444444</PONumber> <Other>Southshore Bay</Other> <SalesOrderLineMod> <TxnID>3-1672737866</TxnID> <ItemRef> <FullName>Single Family - One Story</FullName> </ItemRef> <Desc>Foundation</Desc> <Quantity>1</Quantity> <Amount>85.00</Amount> <DataExtMod> <OwnerID>0</OwnerID> <DataExtName>Lot</DataExtName> <DataExtValue>8/98</DataExtValue> </DataExtMod> <DataExtMod> <OwnerID>0</OwnerID> <DataExtName>Address</DataExtName> <DataExtValue>156004 Loose Bee Ln</DataExtValue> </DataExtMod> </SalesOrderLineMod> </SalesOrderMod> </SalesOrderModRq> </QBXMLMsgsRq> </QBXML>
内容的提问来源于stack exchange,提问作者SkRoR
相关产品推荐
相关产品推荐

