Personnalisation avancée > Mise à niveau de vos tâches personnalisées
  
Mise à niveau de vos tâches personnalisées
Si vous avez créé des tâches personnalisées dans PTC Navigate 1.4 ou une version antérieure, WindchillConnectorThing.processJSONRequest était au centre de l'exécution de toutes les API REST. Le connecteur reposait alors sur une approche de pilotage par URL REST. Avec le nouveau connecteur Integration Runtime basé sur WindchillSwaggerConnector, il s'agit d'une approche de pilotage par service. Par conséquent, pour migrer vos tâches vers le nouveau connecteur, nous avons besoin de prédéfinir un service sur le connecteur pour l'URL REST spécifique que vous avez utilisée. Suivez les étapes recommandées ci-dessous pour remplacer l'API processJSONRequest.
* 
Si votre tâche personnalisée est créée à l'aide de tâches Info*Engine mais aussi de services REST, consultez également la rubrique suivante : Mise à niveau d'une tâche personnalisée avec des tâches Info*Engine.
1. Soit vous utilisez ptc-windchill-integration-connector, le nouvel objet du connecteur Runtime Integration fourni avec Windchill Extension, soit vous créez votre propre connecteur et utilisez WindchillSwaggerConnector comme référence de modèle d'objet. En cas de mise à niveau, nous vous recommandons de dupliquer notre connecteur standard ptc-windchill-integration-connector et de personnaliser le connecteur dupliqué. Sinon, vous perdrez votre propre connecteur personnalisé.
2. Créez un service pour l'operationType et l'URL qui sont utilisés dans les appels de l'API processJSONRequest sur le connecteur.
Pour obtenir plus d'informations sur la création de services, référez-vous d'abord à la rubrique d'aide ThingWorx intitulée "Thing Services" (en anglais).
3. Dans le service, énumérez tous les queryParams, comme dans les versions précédentes de ThingWorx Navigate. Assurez-vous que vos noms de param correspondent exactement aux noms attendus par le service.
4. Si vous avez des requêtes POST, ajoutez les éléments suivants à la section queryParams :
a. JetonCSRF ; pour obtenir un jeton, exécutez le service sur le connecteur Security_Get_CSRF.
b. param des données (JSONObject) ; dans les versions précédentes, il s'agissait d'un param distinct dans les appels processJSONRequest.
5. Assurez-vous que le connecteur est un objet identifiable par son nom :
Thing connector = (Thing)EntityUtilities.findEntity(connector,ThingworxRelationshipTypes.Thing);
6. Démarrez le service sur l'objet de connecteur :
InfoTable serviceResult = connector.processServiceRequest(serviceName,params);
7. Utilisez WindchillServicesConnector.InvokeService(operationType,serviceName,queryParams) comme référence et l'API Util pour l'utilisation de toute API ou tâche personnalisée.