0

我有一个通过 Web 连接器连接到 QuickBooks Desktop 的 Web 服务器。我的大多数交易类型都有效,但我有一些无效。当我通过 XML 验证器运行它们时,我收到此错误:

请求验证 QB Web 连接器 (qwc),文件具有指示 <?qbxml... 遵守处理指令的处理指令行:2 LinePos:8 Src 文本:原因:使用元素“QBXML”但未在 DTD/Schema 中声明.

我的 QBXML 如下:

<?xml version="1.0" ?><?qbxml version="13.0"?> 
<QBXML>
  <QBXMLMsgsRq onError = "stopOnError">
    <ReceivePaymentAddRq requestID = "2">
      <ReceivePaymentAdd>
        <CustomerRef>
          <ListID>8000017D-1509724466</ListID>
        </CustomerRef>
        <TxnDate>2016-01-04</TxnDate>                
        <RefNumber>1000</RefNumber>                      
        <TotalAmount>39.99</TotalAmount>     
        <PaymentMethodRef>            
          <FullName>Cash</FullName>   
        </PaymentMethodRef>
        <AppliedToTxnAdd>                        
          <TxnID>81E-1509734863</TxnID>
          <PaymentAmount>39.99</PaymentAmount>  
        </AppliedToTxnAdd>
      </ReceivePaymentAdd>
    </ReceivePaymentAddRq>
  </QBXMLMsgsRq>
</QBXML>

XML 验证器说 QBXML 对桌面和在线版本都有效,但在测试 Web 连接器时会出错

我遇到了 EmployeeAdd、ReceivePaymentAdd 和 PaymentMethodAdd 的问题。我没有使用 AccountAdd、ClassAdd、CustomerAdd、ItemServiceAdd 或 InvoiceAdd。

我尝试将版本更改为 2.0 和 13.0 之间的所有内容

有没有其他人遇到过这个并找到了解决方案?

4

1 回答 1

3

当我通过 XML 验证器运行它们时,我收到此错误:

您在验证器中使用了错误的设置。

  • 您永远不应该针对该Web Connector选项进行验证(即用于验证.qwc文件,而不是实际qbXML请求)

  • 您永远不应该进行验证Online(QuickBooks Online 根本不再使用 qbXML)

  • 始终根据Desktop版本选项进行验证

如果您遇到错误,那么您需要发布您遇到的实际错误以及您发送的实际请求,以便我们为您提供帮助。

于 2017-11-06T12:56:07.200 回答