Transformer des données XML dans des flux de travail dans Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation + Standard)

Dans des scénarios d’intégration d’entreprise interentreprises (B2B), vous devrez peut-être convertir des données XML entre des formats. Votre flux de travail d’application logique peut transformer du code XML à l’aide de l’action Transformer XML et d’une carteprédéfinie.

Par exemple, imaginons que vous receviez régulièrement des commandes ou des factures B2B de la part d’un client qui utilise le format de date YearMonthDay (AAAAMMJJ). Votre organisation, quant à elle, utilise le format de date MonthDayYear (MMJJAAAA). Vous pouvez créer et utiliser un mappage qui transforme le format de date YearMonthDay au format MonthDayYear avant d’enregistrer les détails de la commande ou de la facture dans votre base de données d’activité clients.

Prérequis

  • Un compte et un abonnement Azure. Si vous n’avez pas encore d’abonnement, vous pouvez vous inscrire pour obtenir un compte Azure gratuitement.

  • Un workflow d’application logique qui démarre déjà avec un déclencheur afin que vous puissiez ajouter l’action Transformer du XML si nécessaire dans votre workflow.

  • Une ressource de compte d’intégration dans laquelle vous définissez et stockez les artefacts, comme les parties, les contrats, les certificats, etc., à utiliser dans vos flux de travail d’intégration d’entreprise et B2B. Cette ressource doit remplir les conditions suivantes :

    • Associé au même abonnement Azure que votre ressource d’application logique.

    • Existante dans le même emplacement ou la même région Azure que la ressource d’application logique dans laquelle vous envisagez d’utiliser l’action Transformer au format XML.

    • Si vous travaillez sur la ressource et le flux de travail d’une application logique de Consommation, votre compte d’intégration nécessite les éléments suivants :

    • Si vous travaillez sur un flux de travail et une ressource d’application logique Standard, vous pouvez lier votre compte d’intégration à votre ressource d’application logique, charger des mappages directement dans votre ressource d’application logique, ou les deux, en fonction les scénarios suivants :

      • Si vous avez déjà un compte d’intégration avec les artefacts dont vous avez besoin ou que vous voulez utiliser, vous pouvez lier votre compte d’intégration à plusieurs ressources d’application logique Standard dans lesquelles vous souhaitez utiliser les artefacts. De cette façon, vous n’avez pas besoin de charger des mappages dans chaque application logique individuelle. Pour plus d’informations, consultez Lier votre ressource d’application logique à votre compte d’intégration.

      • Si vous n’avez pas de compte d’intégration ou vous envisagez uniquement d’utiliser vos artefacts sur plusieurs workflows au sein de la même ressource d’application logique, vous pouvez ajouter directement des mappages à votre ressource d’application logique à l’aide du Portail Azure ou de Visual Studio Code.

        Notes

        Le connecteur intégré Liquid vous permet de sélectionner un mappage que vous avez précédemment chargé dans votre ressource d’application logique ou dans un compte d’intégration lié, mais pas les deux.

      Par conséquent, si vous n’avez pas ou n’avez pas besoin de compte d’intégration, vous pouvez utiliser l’option de chargement. Sinon, vous pouvez utiliser l’option de liaison. Quoi qu’il en soit, vous pouvez utiliser ces artefacts dans tous les flux de travail enfants au sein de la même ressource d’application logique.

    Toutefois, vous avez toujours besoin de ce compte pour stocker les artefacts, tels que les partenaires, les contrats et les certificats, en plus d’utiliser les opérations AS2, X12 ou EDIFACT.

Ajouter une action Transformer du XML

  1. Sur le portail Azure, ouvrez votre application logique Standard et votre workflow dans le concepteur.

  2. Si vous disposez d'un flux de travail vierge qui n'a pas de déclencheur, suivez ces étapes générales pour ajouter le déclencheur de votre choix. Sinon, passez à l’étape suivante.

    Cet exemple utilise le déclencheur Requête.

  3. Sous l’étape de votre flux de travail à laquelle vous souhaitez ajouter l’action Transformer XML, suivez ces étapes générales pour ajouter l’action nommée Transform XML.

  4. Dans la zone Contenu, spécifiez le contenu XML que vous souhaitez transformer à l'aide des données XML que vous recevez dans la requête HTTP.

    1. Pour sélectionner les sorties des opérations précédentes dans le flux de travail, dans l’action Transformer xml , cliquez dans la zone Contenu , puis sélectionnez l’option de liste de contenu dynamique (icône éclair).

    2. Dans la liste de contenu dynamique, sélectionnez le jeton correspondant au contenu que vous souhaitez transformer.

      Screenshot shows Standard workflow with opened dynamic content list.

      Cet exemple sélectionne le jeton Corps du déclencheur.

      Remarque

      Assurez-vous de sélectionner le contenu XML. Si le contenu n'est pas XML ou est codé en base64, vous devez spécifier une expression qui traite le contenu. Par exemple, vous pouvez utiliser des fonctions d’expression, telles que base64ToBinary(), pour décoder le contenu ou xml() pour traiter le contenu comme du XML.

  5. Dans la liste Source de la carte, sélectionnez l'emplacement où vous avez téléchargé votre carte, soit votre ressource LogicApp, soit votre IntegrationAccount.

  6. Dans la liste Carte, sélectionnez votre carte.

  7. Lorsque vous avez terminé, enregistrez votre flux de travail.

    Vous avez maintenant terminé la configuration de votre action Transformer du XML. Dans une application réelle, vous souhaiterez peut-être stocker les données transformées dans une application métier (LOB) telle que Salesforce. Pour envoyer la sortie transformée à Salesforce, ajoutez une action Salesforce.

  8. Pour tester votre action de transformation, déclenchez et exécutez votre workflow. Par exemple, pour le déclencheur de requête, envoyez une requête à l’URL de point de terminaison du déclencheur.

    L'action Transformer XML s'exécute après le déclenchement de votre workflow et lorsque le contenu XML est disponible pour la transformation.

Fonctionnalités avancées

Référencer des assemblées ou appeler du code personnalisé à partir de cartes

L’action Transformer XML prend en charge le référencement d’assemblées externes à partir de cartes, ce qui permet d’appeler directement du code .NET personnalisé à partir de cartes XSLT. Pour plus d’informations, consultez Ajouter des mappages XSLT pour les flux de travail dans Azure Logic Apps.

Objets d’extension de référence

Dans les flux de travail Standard, l’action Transformer xml prend en charge la spécification d’un objet d’extension XML à utiliser avec votre carte.

  1. Dans l'action Transformer XML, ouvrez la liste Paramètres avancés et sélectionnez Objet d'extension XML, qui ajoute le paramètre à l'action.

  2. Dans la zone Objet d'extension XML, spécifiez votre objet d'extension, par exemple :

    Screenshot shows Transform XML action with XML Extension Object parameter and value.

Marque d'ordre d'octet

Par défaut, la réponse de la transformation commence par la marque d’ordre d’octet. Vous n’avez accès à cette fonctionnalité que dans l’éditeur en mode Code. Pour désactiver cette fonctionnalité, définissez la propriété transformOptions sur disableByteOrderMark :

"Transform_XML": {
    "inputs": {
        "content": "@{triggerBody()}",
        "integrationAccount": {
            "map": {
                "name": "TestMap"
            }
        },
        "transformOptions": "disableByteOrderMark"
    },
    "runAfter": {},
    "type": "Xslt"
}

Étapes suivantes