最近まで、Consolibyte PHP Web Connector を使用して、販売注文を問題なくプッシュできていました。今、それはエラーを投げています
0x80040400: QuickBooks は、提供された XML テキスト ストリームの解析中にエラーを検出しました。
XML のすべてのオプション要素を削除しましたが、それでもエラーがスローされます。エラーを生成できる最も単純な XML は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="continueOnError">
<SalesOrderAddRq>
<SalesOrderAdd>
<CustomerRef>
<ListID>80002DBC-1342467727</ListID>
</CustomerRef>
</SalesOrderAdd>
</SalesOrderAddRq>
</QBXMLMsgsRq>
</QBXML>
これを、OSR が私に期待するべきだと言っているものと比較し、QB SDK にある XML バリデーターを実行しましたが、すべてが整形式であると言っています。CustomerQuery
その特定の ListID に対しても実行したところ、Quickbooks で有効な顧客が返されました。ここで何が間違っているのでしょうか?
編集: OSR 以外のすべての要素CustomerRef
はオプションであると言っているにもかかわらず、最新の SDK (以前に使用していたと思っていたもの) からバリデーターを再実行したところ、XML はそれらすべてを期待していると言われました。バリデーターが有効であると言う完全な XML を次に示しますが、それでもエラーがスローされます。
<?xml version="1.0" encoding="UTF-8"?>
<?qbxml version="13.0"?>
<QBXML>
<QBXMLMsgsRq onError="continueOnError">
<SalesOrderAddRq>
<SalesOrderAdd>
<CustomerRef>
<ListID>80002DBC-1342467727</ListID>
</CustomerRef>
<TxnDate>2014-12-12</TxnDate>
<RefNumber>14942</RefNumber>
<BillAddress>
<Addr1>redacted</Addr1>
<Addr2>redacted</Addr2>
<City>redacted</City>
<State>IL</State>
<PostalCode>12345</PostalCode>
</BillAddress>
<ShipAddress>
<Addr1>redacted</Addr1>
<Addr2>redacted</Addr2>
<City>redacted</City>
<State>IL</State>
<PostalCode>12345</PostalCode>
</ShipAddress>
<DueDate>2015-02-20</DueDate>
<Memo>redacted</Memo>
<SalesOrderLineAdd>
<ItemRef>
<ListID>8000418C-1393430847</ListID>
</ItemRef>
<Quantity>61</Quantity>
<Rate>334.00</Rate>
</SalesOrderLineAdd>
<SalesOrderLineAdd>
<ItemRef>
<ListID>80003E9F-1382701326</ListID>
</ItemRef>
<Quantity>61</Quantity>
</SalesOrderLineAdd>
<SalesOrderLineAdd>
<ItemRef>
<ListID>8000490D-1417183681</ListID>
</ItemRef>
<Quantity>50</Quantity>
<Rate>349.00</Rate>
</SalesOrderLineAdd>
<SalesOrderLineAdd>
<ItemRef>
<ListID>80003E9F-1382701326</ListID>
</ItemRef>
<Quantity>50</Quantity>
</SalesOrderLineAdd>
<SalesOrderLineAdd>
<ItemRef>
<ListID>80003D0C-1377271839</ListID>
</ItemRef>
<Quantity>111</Quantity>
</SalesOrderLineAdd>
<SalesOrderLineAdd>
<ItemRef>
<FullName>Subtotal</FullName>
</ItemRef>
</SalesOrderLineAdd>
<SalesOrderLineAdd>
<ItemRef>
<ListID>80004710-1409243586</ListID>
</ItemRef>
</SalesOrderLineAdd>
</SalesOrderAdd>
</SalesOrderAddRq>
</QBXMLMsgsRq>
</QBXML>