Personnalisation avancée > Exécution des services Info*Engine avec le connecteur OData
  
Exécution des services Info*Engine avec le connecteur OData
ThingWorx Navigate prend désormais en charge le connecteur OData pour exécuter des tâches Info*Engine. Si vos tâches personnalisées utilisent des tâches Info*Engine, appelez-les à l'aide du connecteur OData.
Pour obtenir les informations les plus à jour sur la prise en charge du connecteur OData avec Windchill, consultez la matrice de support des plateformes de ThingWorx Navigate.
* 
Dans les prochaines versions de ThingWorx Navigate, la prise en charge des connecteurs Windchill, ptc-windchill-connector et ptc-windchill-swagger-connector sera abandonnée. Pour une transition transparente vers une version qui ne dispose pas de prise en charge des anciens connecteurs Windchill, exécutez désormais vos tâches Info*Engine avec ptc-windchill-OData-connector, en respectant la procédure décrite dans cette rubrique.
Pour utiliser le connecteur OData afin d'exécuter des tâches Info*Engine, configurez d'abord ptc-windchill-OData-connector pour la connexion aux services REST Windchill du domaine Info*Engine. Vous pourrez alors utiliser les services REST Windchill pour exécuter des tâches Info*Engine.
* 
Vous devez configurer Integration Runtime. Pour plus d'informations, consultez la rubrique Configuration d'Integration Runtime.
1. Dans ThingWorx Composer, recherchez le connecteur ptc-windchill-OData-connector, puis ouvrez-le. La page Informations générales s'ouvre.
2. Cliquez sur Configuration. La page Configuration s'affiche.
Votre configuration dépend de votre méthode d'authentification : authentification unique, authentification Windchill ou authentification fixe.
Authentification unique
Si vous êtes configuré en mode d'authentification unique, procédez comme suit :
1. Sous Paramètres de connexion au connecteur générique, en regard de Type d'authentification, sélectionnez SSO.
2. Sous ID du serveur d'autorisation, saisissez la valeur AuthorizationServerSettingsID que vous avez fournie dans sso-settings.json, PingFed1 par exemple.
3. Sous Paramètres d'étendue du serveur d'autorisation, cliquez sur Ajouter. La fenêtre AuthorizationServerScopesSettings s'ouvre.
4. Sous Etendue, entrez l'étendue Windchill que vous enregistrée dans PingFederate, WINDCHILL_READ par exemple.
5. Cliquez sur Ajouter.
6. Sous Paramètres CSRF, entrez les informations suivantes :
URL relative pour requête Get CSRF : servlet/odata
Nom de jeton CSRF : CSRF_NONCE
7. Sous Paramètres de connexion à OData Connector, cliquez sur Ajouter. La fenêtre ODataConnectorConnectionSettings s'ouvre.
8. Sous URL relative de la racine du service, entrez IE, puis cliquez sur Ajouter. Passez à l'étape 9 si vous avez déjà ajouté l'URL relative de la racine du service.
9. Sous Paramètres de connexion au connecteur HTTP, entrez les informations voulues :
URL de base : URL de Windchill. L'URL doit se terminer par /oauth/. Utilisez ce format :
[https]://[Windchill Host]:[port]/[Windchill-web-app]/oauth/
Ce format spécifie que la connexion utilise le standard OAuth et active les demandes de données dans le fournisseur de ressources.
URL relative : servlet/odata
Il n'est pas nécessaire de renseigner le nom d'utilisateur et le mot de passe.
10. Cliquez sur Enregistrer. Le connecteur OData est désormais configuré pour opérer dans votre environnement en mode d'authentification unique.
A présent, passez à la section "Exécution de tâches Info*Engine".
Authentification Windchill
Si vous êtes configuré en mode d'authentification Windchill procédez comme suit :
1. Sous Paramètres de connexion au connecteur générique, en regard de Type d'authentification, sélectionnez None.
2. Sous Paramètres CSRF, entrez les informations suivantes :
URL relative pour requête Get CSRF : servlet/odata
Nom de jeton CSRF : CSRF_NONCE
3. Sous Paramètres de connexion à OData Connector, cliquez sur Ajouter. La fenêtre ODataConnectorConnectionSettings s'ouvre.
4. Sous URL relative de la racine du service, entrez la valeur suivante :
tw.friendly-name.ServiceRootReletive
Passez à l'étape 6 si vous avez déjà ajouté l'URL relative de la racine du service.
5. Cliquez sur Ajouter.
6. Sous Paramètres de connexion au connecteur HTTP, entrez les informations voulues :
URL de base : serveur Windchill qui reçoit la demande Info*Engine du connecteur OData. Utilisez ce format :
[https]://[Windchill Host]:[port]/[Windchill-web-app]/sslClientAuth
URL relative : servlet/odata
URL de connexion : /servlet/WindchillGW/wt.httpgw.HTTPServer/ping
Il n'est pas nécessaire de renseigner le nom d'utilisateur et le mot de passe.
7. Cliquez sur Enregistrer.
8. Cliquez sur Services.
9. Cliquez sur GetCustomerHeaderParameters.
10. Cliquez sur Modifier.
11. Copiez et collez ce script en entrée :

var sessionQueryParam = "wt.effectiveUid";
var Language = Resources["CurrentSessionInfo"].GetCurrentUserLanguage();
var params = {
infoTableName : "InfoTable",
dataShapeName : "NavigateCustomHeadersDataShape"
};
var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var CurrentUser = Resources["CurrentSessionInfo"].GetCurrentUser();
params = {
tableName: "GenericConnectorConnectionSettings" /* STRING */
};
var configTable = me.GetConfigurationTable(params);
var row = configTable.getRow(0);
var authType = row.getStringValue("AuthenticationType");
if("None".equals(authType)) {
var camelHttpQuery = sessionQueryParam + "=" + CurrentUser;
row = {"Accept-Language" : Language, "CamelHttpQuery": camelHttpQuery };
} else {
row = {"Accept-Language" : Language };
}
result.AddRow(row);
12. Cliquez sur Enregistrer et continuer, puis sur Terminé.
13. Cliquez sur Enregistrer.
A présent, passez à la section "Exécution de tâches Info*Engine".
Authentification fixe
Si vous êtes configuré en mode d'authentification fixe, procédez comme suit configurer le connecteur OData :
1. Sous Paramètres de connexion au connecteur générique, en regard de Type d'authentification, sélectionnez Fixed.
2. Sous Paramètres CSRF, entrez les informations suivantes :
URL relative pour requête Get CSRF : servlet/odata
Nom de jeton CSRF : CSRF_NONCE
3. Sous Paramètres de connexion à OData Connector, cliquez sur Ajouter. La fenêtre ODataConnectorConnectionSettings s'ouvre.
4. Sous URL relative de la racine du service, entrez IE, puis cliquez sur Ajouter. Passez à l'étape 5 si vous avez déjà ajouté l'URL relative de la racine du service.
5. Sous Paramètres de connexion au connecteur HTTP, entrez les informations voulues :
Nom d'utilisateur : votre nom d'utilisateur d'administrateur Windchill
Mot de passe : votre mot de passe administrateur Windchill
URL de base : serveur Windchill qui reçoit la demande Info*Engine du connecteur OData. Utilisez ce format :
[https]://[Windchill Host]:[port]/[Windchill-web-app]
URL relative : servlet/odata
6. Cliquez sur Enregistrer. Le connecteur OData est désormais configuré pour opérer dans votre environnement en mode d'authentification fixe.
Poursuivez avec la section "Exécution de tâches Info*Engine".
Exécution de tâches Info*Engine
A présent, exécutez les tâches Info*Engine avec le service :
1. Cliquez sur Services. La page Services s'affiche.
2. Pour RefreshEndpointCache, cliquez sur . La fenêtre Exécuter le service s'ouvre.
3. Cliquez sur Exécuter. Vous recevez le message : Succès. Votre service a été exécuté avec succès.
4. Cliquez sur Terminé.
5. Pour InvokeIETask, cliquez sur .
6. Dans la fenêtre Entrée, ajoutez les informations suivantes au format JSON :
Task : fichier XML de la tâche Info*Engine. Le fichier se trouve ici : <Windchill Installation>/<Windchill_Home>/tasks/.
* 
Assurez-vous que la tâche est activée pour exécution. Pour ce faire, vérifiez que les annotations suivantes apparaissent au début du fichier XML :
<%@page language="java" access="http"%>
Params : (facultatif) tableau JSON contenant des paires nom-valeur à transmettre en tant que paramètre à la tâche Info*Engine.
Exemple :
{
"Task": "wt/federation/delegates/windchill/QueryObjects.xml",
"Params": [
{ "Name": "type", "Value": "wt.part.WTPart" },
{ "Name": "where", "Value": "name=SOME_PART_NAME" }
]
}
7. Cliquez sur Exécuter pour démarrer la tâche Info*Engine. La sortie du service est au format JSON et contient les propriétés suivantes :
@odata.context : URL de contexte pour le champ de données.
Value : tableau JSON contenant des objets JSON avec les propriétés Groupname et Element.
8. Pour exécuter une autre tâche Info*Engine, répétez les étapes 1 à 7.
* 
Les points de terminaison du connecteur OData peuvent ne pas fonctionner correctement dans ThingWorx Navigate. Des modifications seront par conséquent peut-être nécessaires. Pour obtenir des informations et des instructions sur la configuration de services OData sur les données Windchill, consultez le manuel anglais Windchill REST Services User's Guide (Guide de l'utilisateur de Windchill REST Services).