2013-02-19 3 views
0

우리의 응용 프로그램에 다시 쓰기 기능을 추가하려고합니다. Java SDK를 사용하고 있습니다. 우리는 1고객 업데이트 - Intuit Anywhere

  1. 가 성공적으로 업데이트 업데이트하는 동일한 고객 객체 번째 customerQuery
  2. 사용하여 고객 객체를 검색 방법을 기존 고객

    를 업데이트하는 두 가지 방법을 시도.

방법 예외

에게 다음하기 2

  1. 새로운 고객 객체를 새로 생성 된 객체
  2. 업데이트 고객
  3. 에 대한
  4. ID를 설정하여 SetId() 메소드 만들기 -2001Error 상세 정보 :: cvc-complex-type.2.4.a : 유효하지 않은 내용이 발견되었습니다. 시작 'MiddleName'요소가 포함되어 있습니다. 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" '{ "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'요소로 시작하는 잘못된 콘텐츠가 발견되었습니다. 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" '{ "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을보고 항상 표시되는 SyncToken 태그에 특히주의하면서 update a QuickBooks customer examples을 살펴보십시오.

최신 QuickBooks로 업데이트/수정 작업을 수행 할 때마다 항상 SyncToken 태그를 제공해야합니다. 즉, 고객 을 업데이트하려면 항상 최신 SyncToken 값을 얻기 위해 항상 쿼리를 수행하고 mod/update 요청에 SyncToken을 설정 한 다음 요청을 보내야합니다.

SyncTokens에 대한 자세한 내용은 QuickBooks integration wiki에서 확인할 수 있습니다.