Intuit任何API告诉我,当已经指定了一个字段时

时间:2013-01-30 18:24:13

标签: quickbooks intuit-partner-platform

我正在尝试在QB中为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.

我不明白,因为我已经指定了DiscountAccountName。我还尝试使用更像create example的东西(与上面相同但删除了ARAccountName和DiscountAccountName)并获得了类似的响应。在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

Intuit XML请求由XSD验证,并且由XSD验证的XML 您提供的标签的顺序

这意味着如果文档(https://ipp.developer.intuit.com/0010_Intuit_Partner_Platform/0050_Data_Services/0500_QuickBooks_Windows/0600_Object_Reference/Invoice)指示ARAccountName在 DiscountAmt之前来,那么必须在DiscountAmt之前放置ARAccountName。

切换XML标记的顺序以匹配文档中显示的顺序,您将全部设置完毕。