문제

I am trying to query bill payments using QBXML and web connector on a desktop version. Request XML is as below

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="13.0"?>
<QBXML>  
   <QBXMLMsgsRq  onError="continueOnError">
       <BillPaymentCheckQueryRq >
           <TxnID >
               xx-xxxxxx
           </TxnID>
       </BillPaymentCheckQueryRq>
   </QBXMLMsgsRq>
</QBXML>

but in response i get error xml

<?xml version="1.0" ?>
<QBXML>
     <QBXMLMsgsRs>
           <BillPaymentCheckQueryRs statusCode="500" statusSeverity="Warn" statusMessage="The query request has not been fully completed. There was a required element (&quot;xx-xxxxxx&quot;) that could not be found in QuickBooks." />
     </QBXMLMsgsRs>
</QBXML>

I also checked that there is a bill with that TxnId and that bill is also paid with check.

is there any thing else i need to pass in request XML?

도움이 되었습니까?

해결책

I also checked that there is a bill with that TxnId

How did you check this?

The only way to check this would have been to do a BillPaymentCheckQuery, which you showed you did above, and which QuickBooks responded telling you that the Bill Payment Check didn't exist.

Note that TxnIDs do not show up in the QuickBooks GUI, so you couldn't possibly have checked for it there...

Also, this XML:

           <TxnID >
               xx-xxxxxx
           </TxnID>

Would check for a TxnID value of:

"\r\n (lots and lots of spaces here) xx-xxxxx\r\n (lots and lots of spaces here)"

You should be passing:

<TxnID>xx-xxxxx</TxnID>

Finally, you indicate that you:

I also checked that there is a bill with that TxnId

However, you are querying for a BillPaymentCheck. If you want to query for a Bill, you need to query using BillQuery. The TxnID value for a BillPaymentCheck will NOT be the same as the TxnID for a Bill.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top