Scénario 2 : Utiliser un message SOAP depuis un fichier XML pour obtenir le nom d'un pays et le sauvegarder dans un fichier XML - 6.1

Composants Talend Open Studio Guide de référence

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

Ce scénario décrit un Job à trois composants utilisant un message SOAP d'un fichier d'entrée XML afin d'invoquer un service Web. Il permet également récupérer le nom d'un pays correspondant à un code pays donné, dans cet exemple, IR, puis d'écrire la réponse dans un fichier XML.

Déposer et relier les composants

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tFileInputXML, un tSOAP et un tFileOutputXML.

  2. Connectez les composants à l'aide de liens Main > Row.

Configurer le composant d'entrée

  1. Double-cliquez sur le composant tFileInputXML pour ouvrir sa vue Basic settings et configurer ses propriétés.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema afin d'ouvrir la boîte de dialogue [Schema].

  3. Cliquez sur le bouton [+] pour ajouter une colonne et nommez-la getCountryName dans ce scénario. Sélectionnez le type Document dans la liste Type, puis cliquez sur OK pour fermer la boîte de dialogue.

  4. Dans le champ File name/Stream, saisissez le chemin d'accès au fichier d'entrée XML contenant le message SOAP à utiliser, ou parcourez votre système jusqu'à ce fichier en cliquant sur le bouton [...].

    Le fichier d'entrée contient le message SOAP suivant. Vous pouvez constater que le code pays donné est IR.

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET">
        <soapenv:Header/>
        <soapenv:Body>
            <web:GetCountryByCountryCode>
                <web:CountryCode>IR</web:CountryCode>
            </web:GetCountryByCountryCode>
        </soapenv:Body>
    </soapenv:Envelope>
  5. Dans le champ Loop XPath query, saisissez "/" afin de définir l'élément racine comme nœud de boucle de la structure du fichier d'entrée.

  6. Dans la table Mapping, renseignez la colonne XPath query en saisissant "." pour extraire toutes les données du nœud contexte de la source. Cochez la case Get Nodes pour construire un flux de données de type Document.

Configurer le service Web à l'aide du tSOAP

  1. Double-cliquez sur le composant tSOAP pour ouvrir sa vue Basic settings.

  2. Dans le champ ENDPOINT, saisissez ou collez l'URL du service Web à utiliser, entre guillemets : "http://www.webservicex.net/country.asmx".

  3. Dans le champ SOAP Action, saisissez ou collez l'URL de l'en-tête HTTP SOAPAction indiquant que vous souhaitez récupérer les informations du pays : http://www.webserviceX.NET/GetCountryByCountryCode.

  4. Cochez la case Use a message from the input schema et sélectionnez une colonne de type Document dans la liste SOAP Message afin de lire le message SOAP du fichier d'entrée et de l'envoyer au service Web. Dans cet exemple, le schéma d'entrée possède une seule colonne, getCountryName.

  5. Cochez la case Output in Document pour écrire en sortie le message de réponse au format XML.

Configurer le composant de sortie

  1. Double-cliquez sur le composant tFileOutputXML pour ouvrir sa vue Basic settings.

  2. Dans le champ File Name, saisissez le chemin d'accès au fichier XML de sortie.

  3. Cochez la case Incoming record is a document afin de récupérer le flux de données entrant en tant que document XML. Notez qu'une liste Column list apparaît, vous permettant de sélectionner une colonne de laquelle récupérer les données. Dans cet exemple, le schéma contient une seule colonne.

Exécuter le Job

  1. Appuyez sur les touches Ctrl+S pour sauvegarder votre Job.

  2. Appuyez sur la touche F6 ou cliquez sur le bouton Run dans l'onglet Run pour exécuter le Job.

    Les informations concernant le pays correspondant au code pays IR sont retournées et sauvegardées dans le fichier XML défini.