Extraire des informations clients d'un fichier WSDL privé
Ce scénario décrit un Job comprenant trois composants, qui se connecte à un fichier WSDL privé, pour extraire des informations clients.
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 composant tWebService pour ouvrir son menu contextuel.
-
Dans ce menu, sélectionnez Row > Main afin de relier 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. Vous pouvez également sélectionner le composant dans l'espace de modélisation graphique et, dans la 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 pour récupérer la description du WSDL dans les champs suivants.
-
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 l'éditeur, le paramètre de sortie du service Web apparaît 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 dans cet exemple contient quatre paramètres de sortie : return.address, return.email, return.name et return.phone.
Vous devez à présent créer une connexion entre le paramètre de sortie du service Web défini et le schéma du composant de sortie. Pour cela :
-
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 clients 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.
S'il est disponible, utilisez le bouton Auto map! situé en bas à gauche de la fenêtre, il permet d'effectuer l'opération de mapping automatiquement.
-
Cliquez sur OK pour valider les changements et fermer 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 Sync columns pour récupérer le schéma du composant précédent.
-
Enregistrez 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 .