因爲V3不支持在SyncError狀態中恢復IDS對象,所以我不得不使用V2恢復調用(在https://developer.intuit.com/docs/95_deprecated/qbd_v2/qbd_v2_reference/0100_calling_data_services/reverting_an_object處找到)。不幸的是,我遇到了一些修理客戶的麻煩。QBD V2客戶端恢復
POST:https://services.intuit.com/sb/customer/v2/<RealmID>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<Revert xmlns="http://www.intuit.com/sb/cdm/v2" RequestId="7aa1d747cf5c58969a3bc638e0c820b1">
<Object xsi:type="Customer" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id idDomain="QB">6</Id>
<SyncToken>2</SyncToken>
</Object>
</Revert>
響應:
<?xml version=\"1.0\" ?>
<RestResponse xmlns=\"http://www.intuit.com/sb/cdm/v2\">
<Error RequestId=\"8c28d64de5c644079d10f0165b717258\">
<RequestName>ErrorRequest</RequestName>
<ProcessedTime>2014-01-17T00:03:35.627Z</ProcessedTime>
<ErrorCode>-2001</ErrorCode>
<ErrorDesc>cvc-complex-type.2.4.b: The content of element 'Object' is not complete. One of '{\"http://www.intuit.com/sb/cdm/v2\":MetaData, \"http://www.intuit.com/sb/cdm/v2\":ExternalKey, \"http://www.intuit.com/sb/cdm/v2\":Synchronized, \"http://www.intuit.com/sb/cdm/v2\":AlternateId, \"http://www.intuit.com/sb/cdm/v2\":CustomField, \"http://www.intuit.com/sb/cdm/v2\":Draft, \"http://www.intuit.com/sb/cdm/v2\":ObjectState, \"http://www.intuit.com/sb/cdm/v2\":PartyReferenceId, \"http://www.intuit.com/sb/cdm/v2\":TypeOf}' is expected.
</ErrorDesc>
</Error>
</RestResponse>
我不知道爲什麼它會需要一些元素的Revert
通話。我在服務器上的數據無效,這就是爲什麼它首先處於錯誤狀態。這個問題是否可能是由於V3中創建了錯誤而導致的,而不是使用V2解決的?
感謝, 阿甘
將我們的V3集成移回過時的V2集成不是一個實際的選擇。你真的告訴我,正在開發的新應用程序無法解決同步錯誤嗎?難道這不會使這些客戶無限期地被所有未來的應用卡住嗎? – Forrest
我知道現在不實用,但V3的同步狀態API或衝突解決工具仍在進行中。所以,直到那個時候上面的解決方案應該工作。這個問題在我們的優先列表上,正在進行中。 –