2013-02-19 45 views
0

我們正試圖在我們的應用程序中添加回寫功能。 我們正在使用Java SDK。我們嘗試兩種方法來更新現有的客戶更新客戶 - Intuit Anywhere

方法1

  1. 使用customerQuery
  2. 次使用同一客戶對象更新
  3. 已成功更新檢索客戶對象。

方法2

  1. 創建新的客戶對象爲新創建的對象
  2. 更新客戶
  3. 集ID使用SETID()方法入門以下異常

-2001錯誤詳細信息:: cvc-complex-type.2.4.a:找到無效內容start元素'MiddleName'。一個「{ 「http://www.intuit.com/sb/cdm/v2 」的:SyncToken,「 http://www.intuit.com/sb/cdm/v2 」:元數據,「 http://www.intuit.com/sb/cdm/v2 」:ExternalKey,「 http://www.intuit.com/sb/cdm/v2 」:同步,「 http://www.intuit.com/sb/cdm/v2 」:AlternateId,「 http://www.intuit.com/sb/cdm/v2 」:的CustomField,「 http://www.intuit.com/sb/cdm/v2 」:草案,「 http://www.intuit.com/sb/cdm/v2」: ObjectState,「http://www.intuit.com/sb/cdm/v2」:PartyReferenceId,「http://www.intuit.com/sb/cdm/v2」:TypeOf}'是預期的。 com.intuit.ds.qb.IDSException:錯誤(-2001):cvc-complex-type.2.4.a:在元素'MiddleName'開始找到無效的內容。一個「{ 「http://www.intuit.com/sb/cdm/v2 」的:SyncToken,「 http://www.intuit.com/sb/cdm/v2 」:元數據,「 http://www.intuit.com/sb/cdm/v2 」:ExternalKey,「 http://www.intuit.com/sb/cdm/v2 」:同步,「 http://www.intuit.com/sb/cdm/v2 」:AlternateId,「 http://www.intuit.com/sb/cdm/v2 」:的CustomField,「 http://www.intuit.com/sb/cdm/v2 」:草案,「 http://www.intuit.com/sb/cdm/v2」: ObjectState,「http://www.intuit.com/sb/cdm/v2」:PartyReferenceId,「http://www.intuit.com/sb/cdm/v2」:TypeOf}'是預期的。

方法1工作正常。但是,我是否有方法2的疑問。 第一種方法是正確的嗎? 第二種方法有什麼問題?

回答

2

方法2

創建使用SETID()方法爲新 創建的對象更新客戶新客戶對象集ID獲得以下異常

這^^^不會因爲你的工作沒有提供SyncToken值。

看看docs並看看update a QuickBooks customer examples,特別注意始終顯示的SyncToken標記。

,只要你做與QuickBooks的更新/ MOD操作,必須始終提供的最新 SyncToken標籤。這意味着要更新客戶,您必須始終首先執行查詢以獲取最新的SyncToken值,在您的mod /更新請求中設置SyncToken,然後發送請求。

有關SyncTokens的更多信息,請登錄我們的QuickBooks integration wiki