高级自定义 > 升级您的自定义任务
  
升级您的自定义任务
如果您在 PTC Navigate 1.4 或更早版本中创建了自定义任务,则 WindchillConnectorThing.processJSONRequest 是所有 REST API 执行的中心。该连接器采用 REST URL 驱动的方法。新的运行时集成连接器 (基于 WindchillSwaggerConnector) 采用服务驱动的方法。因此,为了将您的任务迁移到新连接器,您需要在连接器上为先前使用的 REST URL 预定义服务。请按照使用以下推荐步骤来替换 processJSONRequest API。
* 
如果您的自定义任务是使用 Info*Engine 任务以及 REST 服务创建的,请另外参阅下一主题:升级包含 Info*Engine 任务的自定义任务
1. 使用 ptc-windchill-integration-connector - Windchill Extension 随附的新 Runtime Integration 连接器事物,或者创建您自己的连接器并使用 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. 对于所有自定义 API 和任务,使用 WindchillServicesConnector.InvokeService(operationType,serviceName,queryParams) 作为参考和基础 API。