Configuration de la condition If dans une transformation If, Else if et Else

Cette rubrique décrit comment utiliser une transformation If, Else If et Else pour définir des conditions afin de contrôler le flux du mappage des données entre des éléments définis comme ayant un type spécifique ou un type dérivé dans l'assemblage de message d'entrée et de sortie. Pour configurer la condition If, vous devez relier un élément d'entrée à un élément de sortie et sélectionner la transformation pivot If.

Procédure

Pour créer et configurer la condition If d'une transformation If, Else if et Else, exécutez les actions suivantes :

  1. Connectez l'élément Country dans l'objet d'assemblage de messages d'entrée situé sous SOAP_Domain_Msg > Body > SaveAddress > Person > Address à l'élément Address dans l'objet d'assemblage de messages de sortie situé sous SOAP_Domain_Msg > Corps > SaveAddress > Personne.

    Une transformation de type Mappe locale est créée automatiquement.

  2. Connectez la condition Carte locale à l'élément de sortie Adresse.
  3. Remplacez la transformation Carte locale par une transformation Si en sélectionnant la flèche vers le bas située à droite de la transformation Carte locale .
    1. Cliquez avec le bouton gauche de la souris sur la flèche située à droite de la transformation Carte locale .

      La figure suivante décrit comment sélectionner la transformation If.

      Cette figure montre la transformation de la carte locale avec la flèche entourée d'un cercle rouge.

    2. Sélectionnez la transformation Si située dans Transformations de base.

      La figure suivante répertorie les transformations pivot (Core) disponibles :

      Cette figure illustre la liste des transformations de base disponibles.

      L'écran affiche une condition If assortie d'un point d'exclamation rouge reliée à deux éléments d'entrée et un élément de sortie.

      Remarque: Vous allez résoudre ces erreurs en exécutant le scénario

      Le point d'exclamation rouge à gauche de la condition If signale plusieurs problèmes de validation. L'un des messages d'erreur indique que la condition If ne contient pas d'expression. Le deuxième message d'erreur vous informe que vous devez définir des transformations pour tous les éléments figurant dans la mappe imbriquée associée à la condition If. Cette mappe imbriquée est la mappe que vous utilisez pour définir la façon dont une adresse ayant le type dérivé CanadianAddress sera mappée au type d'adresse de base Address.

      Cette figure illustre la mappe de messages une fois que vous avez connecté l'adresse dont le type dérivé est CanadianAddress à la transformation If.

  4. Connectez l'adresse dont le type dérivé est CanadianAddress à la transformation If .

    La figure suivante montre la mappe de messages que vous obtenez après avoir créé la connexion :

    Cette figure montre la mappe de messages avec l'élément Country et l'élément Address de type CanadianAddress à une condition If, et une connexion de la condition à l'élément de sortie Address.

  5. Sélectionnez la condition Si , puis définissez l'expression dans l'onglet Condition sous les propriétés Transformer-Si . Pour ce faire, procédez comme suit :
    1. Appuyez sur Ctrl + barre d'espacement pour obtenir la liste des éléments.

      La figure suivante montre les éléments que vous pouvez sélectionner dans le scénario :

      Cette figure présente la liste des éléments disponibles lorsque vous appuyez sur Ctrl + barre d'espace.

      Remarque: Bien que vous puissiez entrer directement l'expression XPATH, en fonction des étapes que vous effectuez pour créer votre solution d'intégration, les noms de variable générés sont différents du nom d'élément dans le fichier de schéma. A la fin du nom de l'élément se trouve un ID concaténé qui est défini automatiquement par l'outil.
    2. Double-cliquez sur un élément pour le sélectionner.
    3. Définissez l'expression XPATH liée à cette variable.
    4. Répétez les étapes suivantes si votre expression XPATH comprend plusieurs éléments d'entrée.

    La condition est constituée d'une expression XPath 2.0 que vous pouvez définir directement ou que vous pouvez créer avec le générateur d'expression XPath en cliquant sur Editer.

    Dans le scénario, si vous avez créé vous-même le flux de messages, l'expression sera similaire à celle de $Country4 = 'Canada'.

    La figure suivante montre l'onglet Propriétés de la transformation If :

    Cette figure illustre l'onglet de propriétés de la transformation If et l'expression XPath permettant de définir la condition.

Résultats

Vous avez défini et configuré la condition If.

Etape suivante

Définissez la condition Else If de la transformation If. Pour plus d'informations, voir Configuration de la condition Else If dans une transformation If, Else if et Else.