2017-05-24 6 views
0

기본적으로 작동하는 템플릿을 사용하여 인보이스를 추가하려고합니다. 그러나 XML에 Other1과 Other2를 추가하는 순간에 다음과 같이 반환됩니다.PHP Quickbooks SDK - AddInvoice XML 문제

처리 된 오류 : 0x80040400 : 제공된 XML 텍스트 스트림을 구문 분석 할 때 QuickBooks에서 오류를 발견했습니다. (핸들러는 반환) 여기

내가 그 통해 전송하고있는 XML이 오류가 발생하지 않습니다 수 있습니다 : 아무리 작동하지 않는 기타 1 및 기타 2 그것으로 무엇을 넣어

<?xml version="1.0" encoding="utf-8"?> 
<?qbxml version="2.0"?> 
<QBXML> 
    <QBXMLMsgsRq onError="stopOnError"> 
      <InvoiceAddRq> 
        <InvoiceAdd> 
         <CustomerRef> 
           <ListID>{customer_id}</ListID> 
         </CustomerRef> 
         <TxnDate>'.date('Y-m-d').'</TxnDate> 
         <RefNumber>'.$ID.'</RefNumber>   
         <Memo>Generated via Sys</Memo> 
         <InvoiceLineAdd> 
           <ItemRef> 
            <FullName>Purchase</FullName> 
           </ItemRef> 
           <Desc>Rental of 3 Days</Desc> 
           <Quantity>3</Quantity> 
           <Rate>200</Rate> 
           <Other1 >STRTYPE</Other1> 
           <Other2 >STRTYPE</Other2> 
         </InvoiceLineAdd> 

        </InvoiceAdd> 
      </InvoiceAddRq> 
    </QBXMLMsgsRq> 
</QBXML> 

합니다. 하지만 두 번째로 제거하면 문제가되지 않는 인보이스가 생성됩니다. (임 개발하고 테스트하는 팀 뷰어 맥을 사용, 그래서 당신은 혹시 Mac 용 XML 유효성 검사기의 알 수 있습니까?)

답변

0

당신은 QuickBooks에의 OSR 보면 :

enter image description here

,369 :

당신은 Other1Other2 필드 qbXML 버전 6.0까지 지원되지 않는 것을 확인할 수 있습니다

그리고 당신은 버전을 사용하는 :

<?qbxml version="2.0"?>

변경 사용중인 버전.

또한 무료 VM 도구를 다운로드하고 Mac의 VM에 Windows를 설치하십시오. 그런 다음 QuickBooks SDK를 설치하십시오. 그런 다음 XML Validator 도구에 액세스 할 수 있습니다.이 도구는 이와 같은 경우에 무엇이 잘못되었는지 정확하게 알려줍니다.

+0

대단히 감사합니다. 그런 간단한 수정! – ChrisF