Propriétés du tRESTClient Standard - 6.5

ESB

author
Talend Documentation Team
EnrichVersion
6.5
EnrichProdName
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 Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Composants ESB
Gouvernance de données > Systèmes tiers > Composants ESB
Qualité et préparation de données > Systèmes tiers > Composants ESB
EnrichPlatform
Studio Talend

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.

HTTP Method

Dans cette liste, sélectionnez une méthode HTTP décrivant l'action souhaitée. Les significations des méthodes HTTP sont sujets aux définitions de votre fournisseur de service Web. Les définitions des méthodes HTTP généralement acceptées sont listées ci-dessous :

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

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

- PUT : met à jour des données selon les paramètres donnés, ou crée les données, si elles n'existent pas.

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

- DELETE : supprime les données selon les 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 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 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 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 type du schéma peut conduire à une perte de cette structure et à un échec de l'exécution 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 du serveur.

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

- string : stocke le contenu de la réponse du 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 du serveur lorsqu'une erreur survient durant le processus d'invocation. L'interprétation des codes d'erreur spécifiques est soumise 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 (SLAs). 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 Passwordavec vos identifiants.

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 des droits des utilisateurs, consultez le Guide utilisateur de Talend Administration Center et le Guide 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.

Die on error

Cette case est cochée par défaut et stoppe le Job en cas d'erreur. Décochez cette case pour terminer le traitement avec les lignes sans erreur, et ignorer les lignes en erreur.

Advanced settings

Log messages

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

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 la (les) paire(s) nom-valeur des en-têtes HTTP pour définir les paramètres de l'opération HTTP demandée.

Pour les définitions spécifiques des 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 table apparaît lorsque la case Use Service Locator est cochée. Vous pouvez ajouter autant de lignes que nécessaire afin de personnaliser les propriétés correspondantes. Saisissez entre guillemets le nom et la valeur de chaque propriété dans le champ Property Name et Property Value respectivement.
Service Activity Customer Properties Cette table apparaît lorsque la case Use Service Activity Monitor est cochée. Vous pouvez ajouter autant de lignes que nécessaire afin de personnaliser les propriétés correspondantes. Saisissez entre guillemets 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 fonctionne uniquement dans le Studio et seulement pour les Jobs d'intégration de données. Pour les déploiements ESB vers Talend Runtime, ce paramètre n'a aucun effet lorsque le composant est déployé dans le Runtime. 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 suspension 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.

Pour plus d'informations concernant la configuration du délai avant suspension dans Talend Administration Center, consultez le Guide utilisateur de Talend Administration Center.

Receive timeout Configurez le temps, en secondes, durant lequel le client attend pour obtenir une réponse, avant suspension de la connexion. Si ce champ est configuré à 0, le client attend indéfiniment. Cette option fonctionne de la même manière que l'option Connection timeout dans le Studio, les Jobs d'intégration et le Runtime ESB (OSGi/déploiements de micro-services). Pour l'utiliser après le déploiement du composant dans le moteur d'exécution ou dans Talend Administration Center, consultez l'option Connection timeout.
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 données de log, aussi bien au niveau du Job qu'au niveau de chaque composant.

Variables globales

Global Variables

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. Une variable After fonctionne après 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 utilisateur 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 de début ou intermédiaire.

Dynamic settings

Cliquez sur le bouton [+] pour ajouter une ligne à la table et renseignez le champ Code avec 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 relatifs à l'utilisation des paramètres dynamiques, consultez Lire des données dans des bases de données à 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 et les variables de contexte, consultez le Guide utilisateur 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 ; OnSubjobOk ; OnSubjobError ; OnComponentOk ; OnComponentError.

Pour plus d'informations concernant les connexions, consultez le Guide utilisateur 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.