고급 사용자 지정 > 사용자 지정 작업 업그레이드
  
사용자 지정 작업 업그레이드
PTC Navigate 1.4 이하에서 사용자 지정 작업을 만들었다면 모든 REST API 실행의 중심에는 WindchillConnectorThing.processJSONRequest가 있습니다. 이 커넥터는 REST URL에 기반한 접근 방식을 취했습니다. WindchillSwaggerConnector를 토대로 한 최신 Integration Runtime 커넥터를 통해 이제 그 접근 방식이 서비스 기반으로 바뀌었습니다. 따라서 사용자의 작업을 커넥터로 마이그레이션하려면, 사용자가 사용해 왔던 특정 REST URL에 대하여 커넥터의 서비스를 사전 정의할 필요가 있습니다. 아래의 권장 단계를 따라 processJSONRequest API를 바꿉니다.
* 
사용자 지정 작업이 Info*Engine 작업 뿐만 아니라 REST 서비스를 사용하여 작성되는 경우, Info*Engine 작업이 있는 사용자 지정 작업 업그레이드 도움말 항목도 참조하십시오.
1. PTC Windchill Extension에 포함된 새 Integration Runtime 커넥터 사물인 ptc-windchill-integration-connector를 사용하거나 사용자 고유의 커넥터를 만들고 WindchillSwaggerConnector를 사물 템플릿 참조를 사용하십시오. 업그레이드하는 경우, 기본으로 제공된 커넥터 ptc-windchill-integration-connector를 복제하여 이 복제된 커넥터를 사용자 지정하는 것이 좋습니다. 그렇지 않을 경우, 사용자 고유의 사용자 지정된 커넥터가 손실됩니다.
2. 커넥터에서 processJSONRequest API 호출에 사용되는 operationType 및 URL에 대한 서비스를 만듭니다.
서비스 작성에 관한 추가 정보가 필요할 경우, ThingWorx 도움말 항목 “사물 서비스”를 참조하십시오.
3. 서비스에서 이전 버전의 ThingWorx Navigate와 같이 모든 queryParams를 나열합니다. param 이름이 서비스에서 예상하는 이름과 일치하도록 하십시오.
4. POST 요청이 있는 경우, 이 항목들을 queryParams 섹션에 추가합니다.
a. CSRF 토큰. 토큰을 가져오려면 Security_Get_CSRF 커넥터에서 서비스를 실행합니다.
b. 데이터 (JSONObject) param. 이전 릴리스에서는 processJSONRequest 호출에서 별개의 param이었습니다.
5. 커넥터가 이름으로 식별 가능한 사물인지 확인하십시오.
Thing connector = (Thing)EntityUtilities.findEntity(connector,ThingworxRelationshipTypes.Thing);
6. 커넥터 사물에서 서비스를 시작합니다.
InfoTable serviceResult = connector.processServiceRequest(serviceName,params);
7. WindchillServicesConnector.InvokeService(operationType,serviceName,queryParams)를 참조로 사용하고 사용자 지정 API 혹은 작업의 사용에 대해서는 util API를 사용합니다.