Personalización avanzada > Actualización de las tareas personalizadas
  
Actualización de las tareas personalizadas
Si se han creado tareas personalizadas en PTC Navigate 1.4 o una versión anterior, WindchillConnectorThing.processJSONRequest era el centro de toda ejecución de la API de REST. El enfoque del conector estaba gobernado por el URL de REST. Con el nuevo conector de Runtime Integration actual, basado en WindchillSwaggerConnector, el enfoque está gobernado por el servicio. Como resultado, para migrar las tareas al conector, es necesario predefinir un servicio en el conector para el URL de REST específico que se ha estado utilizando. Siga los pasos recomendados abajo para reemplazar la API processJSONRequest.
* 
Si la tarea personalizada se ha creado mediante tareas de Info*Engine y servicios REST, consulte también el siguiente tema Actualización de una tarea personalizada que tiene tareas de Info*Engine.
1. Utilice ptc-windchill-integration-connector, la nueva cosa del conector de Runtime Integration incluida con el PTC Windchill Extension, o bien cree su propio conector y utilice WindchillSwaggerConnector como referencia de Plantilla de cosa. Al actualizar, se recomienda duplicar el conector de fábrica ptc-windchill-integration-connector y personalizar el conector duplicado. De lo contrario, se perderá el conector personalizado propio.
2. Cree un servicio para operationType y el URL que se utiliza en las llamadas a la API processJSONRequest en el conector.
Si se necesita más información sobre la creación de servicios, empiece por el tema de ayuda de ThingWorx "Thing Services".
3. En el servicio, enumere todos los elementos queryParams, como en versiones anteriores de ThingWorx Navigate. Asegúrese de que los nombres de param coincidan exactamente con los nombres esperados por el servicio.
4. Si hay peticiones POST, añada estos elementos a la sección queryParams:
a. Token CSRF. Para obtener un token, ejecute el servicio en el conector Security_Get_CSRF.
b. Datos (JSONObject) param. En versiones anteriores, era un elemento param separado en las llamadas a processJSONRequest.
5. Asegúrese de que el conector sea una cosa que se pueda identificar por el nombre:
Thing connector = (Thing)EntityUtilities.findEntity(connector,ThingworxRelationshipTypes.Thing);
6. Inicie el servicio en la cosa de conector:
InfoTable serviceResult = connector.processServiceRequest(serviceName,params);
7. Utilice WindchillServicesConnector.InvokeService(operationType,serviceName,queryParams) como referencia y la API util para el uso en las API o tareas personalizadas.