2013-07-22 19 views
1

我發送正確的XML(很確定,見下文),但同步失敗,並顯示「QBXML驗證錯誤:[severity = FATAL_ERROR,message = cvc-complex-type.2.4.a:發現無效的內容是從元素'ItemServiceRef'開始的,預計會有'{EntityRef}'之一。 1,列= -1,節點= NULL,對象= com.intuit.sb.datasync.writeback.qbxml.schema.ItemServiceRef @ 3409f69b,字段=空]]」。我不知道ItemServiceRef是什麼。下面是我送的XML:嘗試創建一個TimeActivity,除非我使用EmployeeName/CustomerName或QB Id而不是NG ID來同步錯誤

<?xml version="1.0" encoding="utf-8"?> 
<Add xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" RequestId="126fcdcda65a4a15ab422a69a2f021b1" xsi:schemaLocation="http://www.intuit.com/sb/cdm/V2./RestDataFilter.xsd "> 
    <OfferingId>ipp</OfferingId> 
    <TimeActivity> 
     <TxnDate>2013-07-22</TxnDate> 
     <NameOf>Employee</NameOf> 
     <Employee> 
     <EmployeeId idDomain="NG">88025</EmployeeId> 
     </Employee> 
     <CustomerId idDomain="NG">1212626</CustomerId> 
     <ItemId idDomain="QB">1</ItemId> 
     <PayItemId idDomain="QB">10</PayItemId> 
     <BillableStatus>Billable</BillableStatus> 
     <Taxable>false</Taxable> 
     <HourlyRate>10.0</HourlyRate> 
     <Hours>1</Hours> 
     <Minutes>30</Minutes> 
     <Description>Some description</Description> 
    </TimeActivity> 
</Add> 

IF我我的XML改變這一點,那麼這一切工作正常:

<?xml version="1.0" encoding="utf-8"?> 
<Add xmlns="http://www.intuit.com/sb/cdm/v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" RequestId="126fcdcda65a4a15ab422a69a2f021b1" xsi:schemaLocation="http://www.intuit.com/sb/cdm/V2./RestDataFilter.xsd "> 
    <OfferingId>ipp</OfferingId> 
     <TimeActivity> 
     <TxnDate>2013-07-22</TxnDate> 
     <NameOf>Employee</NameOf> 
     <Employee> 
     <EmployeeId idDomain="QB">17</EmployeeId> 
     </Employee> 
     <CustomerId idDomain="QB">15</CustomerId> 
     <ItemId idDomain="QB">1</ItemId> 
     <PayItemId idDomain="QB">10</PayItemId> 
     <BillableStatus>Billable</BillableStatus> 
     <Taxable>false</Taxable> 
     <HourlyRate>10.0</HourlyRate> 
     <Hours>1</Hours> 
     <Minutes>30</Minutes> 
     <Description>Tutoring for Algebra</Description> 
    </TimeActivity> 
</Add> 

我所做的只是改變我的ID來使用QB域名Id而不是NG域名Id。我唯一遇到的問題是,當我通過API創建一個新對象時,Intuit只返回NG域ID(因爲它還沒有創建QB域ID)。所以1,我必須得到QB ID的唯一方法是對已經有NG ID的對象進行不必要的重新查詢。 2,如果我需要爲尚未同步的客戶/員工/供應商添加TimeActivity ...我只是不能?

回答

3

這是TimeActivity V2 API中的一個錯誤。理想情況下,我們不需要同步並重新查詢客戶實體來獲取QB ID。一個錯誤票已被提出。修復時我會在這裏更新。

1

創建TimeActivity時,我一直對PayItems有奇怪的問題。

PayItemRef 我認爲指的是PayItemName - 我最終實際上不得不包含除PayItemId之外的元素。這隻對我有用,因爲它導致了一個真正的問題,那就是我不得不重構一堆東西來獲取字符串PayItemName以及ID(我在本地緩存)。

不確定這是否是您的問題,但可能是相關的。我發現的唯一另外一個問題是,我的PayItemNames中有一個'&'字符 - 「I & E Engineering」,它在同步時引起了各種奇怪的無聲錯誤。

就問題2而言,情況可能如此。它可能與QB內部的事實有關,它曾經是TimeTracker應用程序,它讀取作業並呈現時鐘類型接口。

我曾經發現過一個與此相關的開發論壇帖子,這幫助我破解了它,但顯然所有這些帖子都在Intuit的開發者門戶重新組織之後消失了。

+0

謝謝你們關於&的問題,我實際上剛剛創建了一些項目,我現在要去改變他們...... –

相關問題