我们正在尝试在应用程序中添加写回功能。我们正在使用Java。我们尝试两种方法来更新现有的客户
方法1
方法2
-2001 Detail ::cvc-complex- with .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,"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 of }‘。com.intuit.ds.qb.IDSException: Error (-2001):cvc-complex- with .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,"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 of }‘。
方法1工作得很好。但是,我有没有提到方法2。第一种方法是正确的吗?第二种方法有什么问题?
发布于 2013-02-19 13:06:52
方法2 使用SetId()方法为新创建的对象更新客户创建新的客户对象集Id,以获取以下异常
这^无法工作,因为您没有提供SyncToken值。
看看文档,看看更新QuickBooks客户示例,特别注意总是会出现的SyncToken标记。
在使用SyncToken执行update/mod操作时,必须始终提供最新的QuickBooks标记。这意味着要更新客户,您必须始终先执行一个查询,以获取最新的SyncToken值,在mod/ SyncToken请求中设置SyncToken,然后发送请求。
关于SyncTokens的更多信息,我们的QuickBooks集成维基。
https://stackoverflow.com/questions/14951576
复制相似问题