Propriétés du tRESTClient Standard - 7.3

ESB REST

Version
7.3
Language
Français
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Composants ESB > Composants ESB REST
Gouvernance de données > Systèmes tiers > Composants ESB > Composants ESB REST
Qualité et préparation de données > Systèmes tiers > Composants ESB > Composants ESB REST
Last publication date
2024-02-22

Ces propriétés sont utilisées pour configurer le tRESTClient s'exécutant dans le framework de Jobs Standard.

Le composant tRESTClient Standard appartient à la famille ESB.

Le composant de ce framework est disponible dans tous les produits Talend.

Basic settings

URL

Saisissez l'URL du serveur REST à invoquer. Lorsque la case Use Service Locator est cochée, ce champ ne s'affiche pas et l'URL du serveur REST est obtenue automatiquement du serveur du Service Locator.

Relative Path

Saisissez le chemin d'accès relatif au serveur REST à invoquer.

Par exemple, vous souhaitez accéder à http://localhost:8888/services/Customers/list :

Si la case Use Service Locator est décochée : vous pouvez saisir la première partie de l'adresse dans le champ URL et la seconde partie dans le champ Relative Path. Par exemple, saisissez http://localhost:8888 dans le champ URL et /services/Customers/list dans le champ Relative Path. Vous pouvez également saisir le chemin d'accès complet au serveur REST dans le champ URL et laisser vide le champ Relative Path.

Si la case Use Service Locator est cochée : la partie dans le champ URL est donnée par le Service Locator. Dans ce cas, vous devez connaître la partie URL et spécifier la suite dans le champ Relative Path. Elle dépend du service interrogé. Par exemple, dans le tRESTRequest, vous pouvez paramétrer l'endpoint REST Endpoint à http://localhost:8888/services et cocher la case Use Service Locator. Si vous souhaitez utiliser ce service du côté du tRESTClient, vous devez spécifier /customers/list dans le champ Relative Path.
Avertissement : Lorsque vous utilisez un chemin relatif, vous devez spécifier au moins un sous-répertoire dans le champ URL et non uniquement dans host:port, pour éviter des erreurs de compilation. Par exemple, utilisez http://localhost:8888/services au lieu de http://localhost:8888.

Méthode HTTP

À partir de cette liste, sélectionnez une méthode HTTP qui décrit l'action souhaitée. Le sens spécifique des méthodes HTTP est soumis aux définitions de votre fournisseur de services Web. Ci-dessous, les définitions des méthodes HTTP généralement admises :

- GET : récupère les données du côté serveur en fonction des paramètres donnés.

- POST : charge des données dans le serveur selon les paramètres donnés.

- PUT : met à jour les données en fonction des paramètres donnés, ou crée les données si elles sont inexistantes.

- PATCH : modifie partiellement les données selon les paramètres donnés.

- DELETE : supprime les données en fonction des paramètres donnés.

Content Type

Sélectionnez XML, JSON ou FORM selon le type de média du contenu à charger dans le serveur.

Cette liste apparaît uniquement lorsque vous sélectionnez la méthode HTTP POST, PUT ou PATCH.

Accept Type

Sélectionnez le type de média que le côté client est préparé à accepter pour la réponse, du côté serveur.

Les options disponibles sont : XML, JSON et ANY. Lorsque l'option ANY est sélectionnée, le message de réponse peut être de tout type et sera transformé en une chaîne de caractères (string).

Query parameters

Spécifiez les paramètres de la requête URI sous forme de paires nom-valeur.

Cette option est généralement utilisée avec la méthode GET.

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant.

Ce composant utilise trois schémas built-in, en lecture seule.

Cliquez sur Edit Schema pour visualiser la structure du schéma.

Avertissement :

Modifier le schéma peut engendrer une perte de la structure du schéma et donc un échec du composant.

Input Schema

Schéma des données d'entrée. Le schéma contient deux colonnes :

- body : stocke le contenu des données d'entrée structurées

- string : stocke le contenu d'entrée lorsqu'il est de type string, ou est géré comme tel.

Response Schema

Schéma pour la réponse du serveur. Ce schéma est passé au composant suivant à l'aide d'un lien Row > Response et contient trois colonnes :

- statusCode : stocke le code de statut HTTP côté serveur.

- body : stocke le contenu d'une réponse structurée côté serveur.

- string : stocke le contenu de la réponse côté serveur, lorsqu'elle est de type string ou gérée comme telle.

Error Schema

Schéma pour les informations d'erreur. Ce schéma est passé au composant suivant via un lien Row > Error et contient deux colonnes :

- errorCode : stocke le code de statut HTTP côté serveur lorsqu'une erreur survient durant le processus d'invocation. Le sens spécifique des codes d'erreur est soumis aux définitions de votre fournisseur de services Web. Pour des informations de référence, consultez le site http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP.

- errorMessage : stocke le message d'erreur correspondant au code d'erreur.

Use Service Locator Cochez cette case pour activer le Service Locator. Cela maintient la disponibilité du service et permet de répondre aux demandes et de respecter les accords de niveau de service (SLA). Spécifiez l'espace de noms du Service ainsi que le nom du Service dans les champs correspondants.
Use Service Activity Monitor Cochez cette case pour activer le Service Activity Monitor. Il capture les événements et stocke les informations afin de faciliter les analyses en profondeur de l'activité des services et de suivre les messages via une transaction métier. Cette option peut être utilisée, entre autres, pour analyser le temps de réponse du service, identifier les modèles de trafic ou effectuer une analyse de cause racine.
Use Authentication

Cochez cette case si l’authentification est requise du côté du serveur REST. Sélectionnez le type d'authentification entre les suivants :

  • Basic HTTP : renseignez les champs Username et Password avec vos identifiants.
  • HTTP Digest : renseignez les champs Username et Password avec vos identifiants.
  • SAML Token (ESB runtime only) : renseignez les champs Username et Password avec vos identifiants.
  • OAuth2 Bearer : renseignez le champ Bearer Token avec une chaîne contenant vos identifiants, encodée en base64.
  • Open ID Connect : renseignez les champs Username et Password avec vos identifiants. Pour plus d'informations, consultez Talend Identity and Access Management (en anglais) et Gestion des autorisations et Ressources ESB.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles et cliquez sur OK afin de sauvegarder les paramètres.

Use Authorization

Cochez cette case pour activer les appels autorisés. Spécifiez le rôle du client dans le champ Role. Cette option apparaît lorsque l'option SAML Token (ESB runtime only) est sélectionnée dans la liste Use Authentication.

Pour plus d'informations concernant la gestion des rôles et les droits des utilisateurs et des utilisatrices, consultez le Guide d'utilisation de Talend Administration Center et le Talend Talend ESB Infrastructure Services Configuration Guide (en anglais).

Use Business Correlation

Cochez cette case pour créer un ID de corrélation dans ce composant.

Vous pouvez spécifier un ID de corrélation ID dans le champ Correlation Value. Dans ce cas, l'ID de corrélation est passé au service qu'il appelle, afin que les appels en chaîne des services soient groupés sous cet ID de corrélation. Si vous laissez ce champ vide, cette valeur est générée automatiquement lors de l'exécution.

Lorsque cette option est activée, le tRESTClient extrait également l'ID de corrélation de l'en-tête de réponse et le stocke dans la variable du composant pour usage ultérieur dans le flux.

Check Server Identity

Cochez cette case afin que le Job vérifie la correspondance entre le nom de l'hôte de l'URL et le nom commun (Common Name, CN) du certificat du serveur. S'ils ne correspondent pas, une erreur java.io.IOException: HTTPS hostname wrong est retournée.

Arrêter en cas d''erreur Cette case est cochée par défaut et stoppe le Job en cas d'erreur. Décochez-la pour ignorer les lignes en erreur et terminer le processus avec les lignes sans erreur.

Advanced settings

Log Messages

Cochez cette case pour enregistrer l'échange de messages entre le service et le consommateur.

Follow redirects Cochez cette case pour suivre les redirections automatiques.
Allow non-same host redirects Cette option apparaît lorsque l'option Follow redirects est activée. Cochez cette case pour autoriser les redirections sur un hôte différent.
Maintain session
Cette option apparaît lorsque l'option Follow redirects est activée. Cochez cette case pour activer les cookies de session partagée dans le cas de redirections multiples. Les cookies de session seront collectés et disponibles pour traitement ultérieur de la même manière que pour les autres cookies, une fois l'échange de messages terminé.
Remarque : Cette option est disponible uniquement si vous avez installé la mise à jour mensuelle R2023-01 du Studio ou une mise à jour plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.

Enable WebClient Operation Reporting

Si cette case est cochée, une propriété endpoint CXF est définie côté client. Cette propriété peut être utilisée par des intercepteurs métriques CXF de sortie afin de suivre les requêtes sur les services utilisant leurs URL.

La propriété définie est org.apache.cxf.resource.operation.name et contient l'URL du service ainsi que le nom de la méthode HTTP, par exemple GET:http: //example.com:8080/service/.

Si la case est décochée, la propriété n'est pas définie et certaines métriques ne sont pas comptées, ce qui a pour effet d'améliorer la performance.

Convert Response To DOM Document

Cochez cette case afin de convertir la réponse du serveur en type Document.

Décochez cette case si vous souhaitez que la réponse soit traitée comme une chaîne de caractères.

Convert Types To Strings

Cette option est disponible lorsque, dans la liste Content Type le type sélectionné est JSON, ou lorsque dans la liste Accept Type, le type sélectionné est JSON ou any. Cochez cette case pour convertir toutes les valeurs de JSON à String, entre guillemets doubles. Par exemple, une fois cette option activée, les données JSON :

 "root": {
      "test": 111
    }

seront modifiées en :

"root": {
      "test": "111"
    }
Drop JSON Request Root

Cette option apparaît lorsque vous avez sélectionné POST, PUT ou PATCH dans la liste HTTP Method et JSON dans la liste Content Type. Cochez cette case pour supprimer les éléments JSON racine.

Wrap JSON Response

Cette option est disponible et activée par défaut lorsque l'option JSON est sélectionnée dans la liste Accept Type de la vue Basic settings.

Lorsque cette case est cochée, la réponse est entourée d'un élément root. Décochez cette case si vous souhaitez supprimer cet élément root de la réponse.

HTTP Headers

Saisissez les paires nom/valeur (name-value) pour les en-têtes HTTP afin de définir les paramètres de l'opération HTTP demandée.

Pour connaître les définitions spécifiques d'en-têtes HTTP, consultez votre fournisseur de services Web REST. Pour des informations de référence, consultez en.wikipedia.org/wiki/List_of_HTTP_headers (en anglais).

Disable chunked encoding

Cette option apparaît uniquement lorsque la méthode dans la liste HTTP Method est POST, PUT ou PATCH. Cochez cette case pour désactiver l'encodage des payloads par morceaux.

Service Locator Customer Properties Cette option apparaît lorsque la case Use Service Locator est cochée dans la vue Basic settings. Cliquez sur le bouton [+] pour ajouter autant de propriétés que nécessaire dans la table. Saisissez le nom et la valeur de chaque propriété dans le champ Property Name et Property Value respectivement.
Service Activity Customer Properties Cette option apparaît lorsque la case Use Service Activity Monitor est cochée dans la vue Basic settings. Cliquez sur le bouton [+] pour ajouter autant de propriétés que nécessaire dans la table. Saisissez le nom et la valeur de chaque propriété dans le champ Property Name et Property Value respectivement.

Connection timeout

Configurez le temps, en secondes, avant suspension, durant lequel le client attend pour établir une connexion. Si ce champ est configuré à 0, le client continue indéfiniment à essayer d'ouvrir une connexion. La valeur par défaut est 30.

Cette option ne fonctionne pas dans Talend Runtime. Pour les déploiements ESB dans Talend Runtime, ce paramètre n'a aucun effet. Dans le fichier de configuration <TalendRuntimePath>/container/etc/org.apache.cxf.http.conduits-common.cfg, il vous faut une URL couvrant votre service, par exemple url = http://.* pour gérer les requêtes HTTP et HTTPS. Spécifiez ensuite le paramètre client.ConnectionTimeout de délai avant expiration en millisecondes, dans le fichier HTTP Conduit. Si vous devez utiliser l'option Receive time out, spécifiez le délai client.ReceiveTimeout en millisecondes également.

Receive timeout

Configurez le temps, en secondes, durant lequel le client attend pour obtenir une réponse, avant expiration de la connexion. Lorsque ce champ est configuré à 0, le client attend indéfiniment. (Valeur par défaut : 60)

Cette option fonctionne de la même manière que l'option Connection timeout (Délai avant expiration de la connexion). Pour l'utiliser après le déploiement du composant dans Talend Runtime, consultez l'option Connection timeout (Délai avant expiration de la connexion).

Use HTTP proxy Cochez cette case si vous utilisez un serveur proxy. Une fois cochée, vous devez saisir les informations de connexion : hôte, port, identifiant et mot de passe.
tStatCatcher Statistics Cochez cette case pour collecter les métadonnées de traitement du Job au niveau du Job ainsi qu'au niveau de chaque composant.

Variables globales

Variables globales

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier.

HEADERS : en-têtes des réponses HTTP. Cette variable est une variable Flow et retourne une liste des valeurs des en-têtes des réponses HTTP.

CORRELATION_ID : l'ID de corrélation par lequel regrouper les appels de services en chaîne. Cette variable est une variable Flow et retourne une chaîne de caractères.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, lorsque le composant contient cette case.

Une variable Flow fonctionne durant l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide d'utilisation du Studio Talend.

Utilisation

Règle d'utilisation

Ce composant est utilisé comme client de service Web RESTful pour communiquer avec un fournisseur de services RESTful, avec la possibilité de saisir une requête dans un service, à l'intérieur d'un Job et de retourner le résultat du Job comme réponse du service. Selon les actions à effectuer, le composant peut être un composant intermédiaire dans un Job ou un sous-Job.

Dynamic settings

Cliquez sur le bouton [+] pour ajouter une ligne à la table. Dans le champ Code, saisissez une variable de contexte afin d'activer ou désactiver dynamiquement l'option Use Authentication ou Use HTTP proxy lors de l'exécution. Vous pouvez ajouter deux lignes à la table afin de configurer les deux options.

Une fois qu'un paramètre dynamique est défini, l'option correspondante est mise en relief et devient inutilisable dans les vues Basic settings et Advanced settings.

Pour des exemples d'utilisation de paramètres dynamiques, consultez Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte et Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement. Pour plus d'informations concernant les paramètres dynamiques (Dynamic settings) et les variables de contexte, consultez le Guide d'utilisation du Studio Talend.

Connections

Liens de sortie :

Row : Response ; Error.

Trigger : OnSubjobOk, OnSubjobError, Run if, OnComponentOk, OnComponentError.

Liens d'entrée :

Row : Main, Reject.

Trigger : Run if ; On Subjob Ok ; On Subjob Error ; On component Ok ; On Component Error.

Pour plus d'informations concernant les liens, consultez le Guide d'utilisation du Studio Talend.

Limitation

L'utilisation des variables de contexte pour les endpoints dynamiques ou les espaces de noms du Service Locator fonctionne uniquement dans le Studio. Elle n'est pas supportée dans le Runtime.