2

QB for Windows で請求書を作成しようとしています。XML は次のとおりです。

<?xml version='1.0' encoding='utf-8'?>
<Add xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.intuit.com/sb/cdm/v2" xsi:schemaLocation="http://www.intuit.com/sb/cdm/V2./RestDataFilter.xsd " RequestId="1836474224e142c9ad9b7dd6cb0eaa41" FullResponse="true">
  <OfferingId>ipp</OfferingId>
  <ExternalRealmId>596059545</ExternalRealmId>
  <Invoice>
    <Header>
      <TxnDate>2013-01-30</TxnDate>
      <DiscountAmt>0</DiscountAmt>
      <ARAccountName>Sales - Support and Maintenance</ARAccountName>
      <DiscountAccountName>Discounts/Refunds</DiscountAccountName>
      <DueDate>2013-02-17</DueDate>
      <Currency>USD</Currency>
      <CustomerId>4</CustomerId>
    </Header>
    <Line>
      <Qty>1</Qty>
      <UnitPrice>7.00</UnitPrice>
      <Desc>Follow-up Test, Instant for Person138-Org3 Person138-Org3</Desc>
    </Line>
  </Invoice>
</Add>

応答は次のとおりです。

-2001:  cvc-complex-type.2.4.a: Invalid content was found starting with element 'ARAccountName'. One of '{"http://www.intuit.com/sb/cdm/v2":DiscountAccountId, "http://www.intuit.com/sb/cdm/v2":DiscountAccountName, "http://www.intuit.com/sb/cdm/v2":DiscountTaxable, "http://www.intuit.com/sb/cdm/v2":TxnId}' is expected.

既に割引アカウント名が指定されているため、わかりません。また、 create の例に似たもの(上記と同じですが、ARAccountName と DiscountAccountName を削除したもの) を試してみたところ、同様の応答が得られました。よろしくお願いします。

4

1 に答える 1

3

Intuit XMLリクエストはXSDによって検証され、XMLがXSDによって検証されると、提供するタグの順序が重要になります

つまり、ドキュメント(https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/0500_QuickBooks_Windows/0600_Object_Reference/Invoice)でARAccountNameがDiscountAmtの前に来ると記載されている場合は、ARAccountNameをDiscountAmtの前に置く必要があります。

XMLタグの順序をドキュメントに示されている順序と一致するように切り替えると、すべて設定されます。

于 2013-01-30T18:51:24.733 に答える