販売注文を追加するために QBXML を quickbooks に送信しています。すべて正常に実行されますが、以下のように InventoryRef のタグを追加すると、XML が無効なエラーが発生します。
<SalesOrderLineAdd>
<InventorySiteRef>
<FullName>Austin</FullName>
</InventorySiteRef>
<ItemRef>
<FullName>ES-10BLU</FullName>
</ItemRef>
<Desc>BS10ELU</Desc>
<Quantity>3</Quantity>
<Rate>100.0</Rate>
</SalesOrderLineAdd>
http://www.consolibyte.com/docs/index.php/QbXML_for_Adding_a_Sales_Order
上記のリンクには、有効な追加タグとして InventorySiteRef がありませんが、intuit の画面上の参照 ( https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html ) には、このフィールドが追加リクエストで有効なタグ。
OSR に記載されている InventorySiteRef タグを送信すると無効な XML エラーが発生する理由を教えてください。
アップデート:
<?xml version="1.0" ?>
<?qbxml version="8.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<SalesOrderAddRq>
<SalesOrderAdd defMacro="MACROTYPE">
<CustomerRef>
<FullName>Amazon.com.nvdc, Inc</FullName>
</CustomerRef>
<TxnDate>2014-08-11</TxnDate>
<RefNumber>TST00002H</RefNumber>
<BillAddress>
<Addr1>1600 East Newlands Drive</Addr1>
<City>Fernley</City>
<State>NV</State>
<PostalCode>89408-8903</PostalCode>
<Country>US</Country>
</BillAddress>
<ShipAddress>
<Addr1>1600 East Newlands Drive</Addr1>
<City>Fernley</City>
<State>NV</State>
<PostalCode>89408-8903</PostalCode>
<Country>US</Country>
</ShipAddress>
<SalesOrderLineAdd>
<ItemRef>
<FullName>ES-10BLU</FullName>
</ItemRef>
<Desc>BS10ELU</Desc>
<Quantity>3</Quantity>
<Rate>100.0</Rate>
<InventorySiteRef>
<FullName>Austin</FullName>
</InventorySiteRef>
</SalesOrderLineAdd>
</SalesOrderAdd>
</SalesOrderAddRq>
</QBXMLMsgsRq>
</QBXML>
上記は、私が送信しているリクエスト XML です。Quickbooks SDK でテストしたところ、次のエラーが表示されました
-2147220480 QuickBooks は、提供された XML テキスト ストリームの解析中にエラーを検出しました。
このエラーは、InventorySiteRef が追加された場合にのみ発生します。それ以外の場合は、OSR が要求でこのタグを示しても処理されます