進階自訂 > 升級自訂任務
  
升級自訂任務
如果您在 PTC Navigate 1.4 或更早版本中建立了自訂任務,則 WindchillConnectorThing.processJSONRequest 為所有 REST API 執行的中心。連接器採取了 REST URL 驅動的方法。由於使用了基於 WindchillSwaggerConnector 的目前 Runtime Integration 連接器,此方法為服務驅動型方法。因此,為了將您的任務移轉到此連接器,我們需要在您一直使用的特定 REST URL 連接器上預先定義服務。請遵循以下建議的步驟來取代 processJSONRequest API。
* 
若您的自訂任務是使用 Info*Engine 任務與 REST 服務建立的,另請參閱下一個主題:升級具有 Info*Engine 任務的自訂任務
1. 可以使用 ptc-windchill-integration-connectorPTC Windchill Extension 中隨附的新 Runtime Integration 連接器物件,也可以建立您自己的連接器,並使用 WindchillSwaggerConnector 作為物範本參考。升級時,建議您複製我們的現成連接器 ptc-windchill-integration-connector 並自訂該複製的連接器。否則,將會遺失您自訂的連接器。
2. 為連接器上 processJSONRequest API 調用中使用的 operationType 與 URL 建立服務。
如果您需要有關建立服務的詳細資訊,請首先參閱 ThingWorx 說明主題「物件服務
3. 在服務中,列出較早版本的 中的所有 queryParamsThingWorx Navigate。請確定您的 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。