アプリケーションに書き戻し機能を追加しようとしています。Java SDK を使用しています。既存の顧客を更新するために 2 つの方法を試しています
方法 1
- customerQuery を使用して顧客オブジェクトを取得する
- 同じ顧客オブジェクトを使用して更新します
- 正常に更新されました。
方法 2
- 新しい顧客オブジェクトを作成する
- 新しく作成されたオブジェクトの SetId() メソッドを使用して ID を設定します
- 顧客を更新する
- 次の例外を取得する
-2001Error Detail :: cvc-complex-type.2.4.a: 要素「MiddleName」で始まる無効なコンテンツが見つかりました。'{" http://www.intuit.com/sb/cdm/v2 ":SyncToken, " 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, "":TypeOf}' が予期されます。com.intuit.ds.qb.IDSException: エラー (-2001): cvc-complex-type.2.4.a: 要素 'MiddleName' で始まる無効なコンテンツが見つかりました。'{" の 1 つhttp://www.intuit.com/sb/cdm/v2 ":SyncToken, " 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}' が期待されます。
方法 1 は完全に機能しています。しかし、私は方法 2 に疑問を持っています.最初の方法は正しいですか? 2番目の方法の問題は何ですか?