Scénario : Extraire des informations client d'un fichier WSDL privé

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Data Quality
Talend Open Studio for Big Data
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Open Studio for Data Integration
task
Gouvernance de données
Qualité et préparation de données
Création et développement
EnrichPlatform
Studio Talend

Ce scénario décrit un Job comprenant trois composants, qui se connecte à un fichier WSDL privé, pour extraire des informations client.

Le fichier WSDL utilisé dans ce Job accède au service Web correspondant via le protocole SSL. Le code correspondant dans le fichier est le suivant :

<wsdl:port name="CustomerServiceHttpSoap11Endpoint"
binding="ns:CustomerServiceSoap11Binding">
            <soap:address location="https://192.168.0.22:8443/axis2/services/CustomerService.CustomerServiceHttpSoap11Endpoint/"/>
        </wsdl:port>

Saisissez le code suivant dans le fichier server.xml de Tomcat :

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="true" sslProtocol="TLS" 
     keystoreFile="D:/server.keystore" keystorePass="password"
     keystoreType="JKS"
     truststoreFile="D:/server.p12" truststorePass="password"
     truststoreType="PKCS12"
    />

Vous avez besoin de fichiers Keystore pour vous connecter à ce fichier WSDL. Pour reproduire ce Job, procédez comme suit :

  • Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tSetKeystore, tWebService, et tLogRow.

  • Cliquez-droit sur le composant tSetKeystore pour ouvrir son menu contextuel.

  • Dans ce menu, sélectionnez Trigger > On Subjob Ok afin de relier ce composant au tWebService.

  • Cliquez-droit sur le tWebService pour ouvrir son menu contextuel.

  • Dans ce menu, sélectionnez Row > Main pour connecter ce composant au tLogRow.

  • Double-cliquez sur le tSetKeystore pour ouvrir sa vue Basic settings et définir ses propriétés.

  • Dans la liste TrustStore type, sélectionnez PKCS12.

  • Dans le champ TrustStore file, parcourez votre répertoire jusqu'au fichier TrustStore. Ici, le fichier est server.p12.

  • Dans le champ TrustStore password, saisissez le mot de passe pour ce fichier TrustStore. Dans cet exemple, le mot de passe est password.

  • Cochez la case Need Client authentication afin d'activer les champs de configuration Keystore.

  • Dans la liste KeyStore type, sélectionnez JKS.

  • Dans le champ KeyStore file, parcourez votre répertoire jusqu'au fichier Keystore correspondant. Ici, le fichier est server.keystore.

  • Double-cliquez sur le composant tWebService pour ouvrir l'éditeur du composant, ou sélectionnez le composant dans l'espace de modélisation graphique et dans sa vue Basic settings, cliquez sur le bouton [...] à côté du champ Service configuration.

  • Dans le champ WSDL, parcourez votre répertoire jusqu'au fichier WSDL privé à utiliser. Dans cet exemple, ce fichier est CustomerService.wsdl.

  • Cliquez sur le bouton Refresh à côté du champ WSDL afin de récupérer la description WSDL et l'afficher dans les champs qui suivent.

  • Dans la liste Port Name, sélectionnez le port que vous souhaitez utiliser, CustomerServiceHttpSoap11Endpoint dans cet exemple.

  • Dans la liste Operation, sélectionnez le service que vous souhaitez utiliser. Dans cet exemple, le service sélectionné est getCustomer(parameters):Customer.

  • Cliquez sur Next pour ouvrir une nouvelle vue dans l'éditeur.

Dans le panneau de droite de la vue Input mapping, le paramètre d'entrée du service s'affiche automatiquement. Cependant, vous pouvez ajouter d'autres paramètres si vous sélectionnez [+] parameters et que vous cliquez sur le bouton [+] en haut, afin d'afficher la boîte de dialogue [Parameter Tree] dans laquelle vous pouvez sélectionner n'importe lequel des paramètres listés.

Le service Web de cet exemple n'a qu'un seul paramètre d'entrée, ID.

  • Dans la colonne Expression de la ligne parameters.ID, saisissez entre guillemets l'ID du client qui vous intéresse. Dans cet exemple, l'ID est A00001.

  • Cliquez sur Next pour ouvrir une nouvelle vue dans l'éditeur.

Dans la liste Element à gauche de la vue s'affiche automatiquement le paramètre de sortie du service Web. Cependant, vous pouvez ajouter d'autres paramètres si vous sélectionnez [+] parameters et que vous cliquez sur le bouton [+] en haut afin d'afficher la boîte de dialogue [Parameter Tree] dans laquelle vous pouvez sélectionner n'importe lequel des paramètres affichés.

Le service Web dans cet exemple contient quatre paramètres de sortie : return.address, return.email, return.name et return.phone.

Vous devez créer une connexion entre le paramètre de sortie du service Web défini et le schéma du composant de sortie. Pour ce faire :

  • Dans le panneau à droite de la vue, cliquez sur le bouton [...] à côté du champ Edit Schema afin d'ouvrir une boîte de dialogue dans laquelle vous pouvez définir le schéma de sortie.

  • Dans l'éditeur de schéma, cliquez sur le bouton [+] pour ajouter quatre colonnes au schéma de sortie.

  • Cliquez dans chaque colonne et saisissez les nouveaux noms : Name, Phone, Email et Address dans cet exemple. Cela vous permettra de récupérer les informations client qui vous intéressent.

  • Cliquez sur OK pour valider les modifications et fermer la boîte de dialogue du schéma.

  • Dans la liste Element à droite de l'éditeur, glissez chaque paramètre dans le champ correspondant à la colonne que vous avez définie dans l'éditeur de schéma.

Note

S'il est disponible, vous pouvez utiliser le bouton Auto map!, situé en bas à gauche de l'interface, afin d'effectuer l'opération de mapping automatiquement.

  • Cliquez sur OK pour valider vos modifications et femer l'éditeur.

  • Dans l'espace de modélisation graphique, double-cliquez sur le composant tLogRow afin d'ouvrir sa vue Basic settings et définir ses propriétés.

  • Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent.

  • Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

Les informations du client dont l'ID est A00001 sont retournées et affichées dans la console du Studio Talend.