XML transformeren in werkstromen met Azure Logic Apps

Van toepassing op: Azure Logic Apps (Verbruik + Standard)

In B2B-scenario's (Business-to-Business) voor bedrijfsintegratie moet u mogelijk XML tussen indelingen converteren. Uw werkstroom voor logische apps kan XML transformeren met behulp van de actie XML transformeren en een vooraf gedefinieerde toewijzing.

Stel dat u regelmatig B2B-orders of facturen ontvangt van een klant die de datumnotatie YearMonthDay (JJJJMMDD) gebruikt. Uw organisatie gebruikt echter de datumnotatie MonthDayYear (MMDDYJJJJ). U kunt een kaart maken en gebruiken waarmee de YearMonthDay-indeling wordt omgezet in de MonthDayYear-indeling voordat u de order- of factuurgegevens opslaat in de database van uw klantactiviteit.

Vereisten

  • Een Azure-account en -abonnement. Als u nog geen abonnement hebt, meldt u zich aan voor een gratis Azure-account.

  • Een werkstroom voor logische apps die al begint met een trigger, zodat u waar nodig de XML-actie Transformeren kunt toevoegen in uw werkstroom.

  • Een integratieaccountresource waarin u artefacten definieert en opslaat, zoals handelspartners, overeenkomsten, certificaten, enzovoort, voor gebruik in uw bedrijfsintegratie en B2B-werkstromen. Deze resource moet voldoen aan de volgende vereisten:

    • Is gekoppeld aan hetzelfde Azure-abonnement als uw logische app-resource.

    • Bestaat in dezelfde locatie of Azure-regio als uw logische app-resource waar u de XML-actie Transformeren wilt gebruiken.

    • Als u werkt aan een resource en werkstroom van een logische app verbruik, zijn voor uw integratieaccount de volgende items vereist:

    • Als u aan een resource en werkstroom voor een standaard logische app werkt, kunt u uw integratieaccount koppelen aan uw resource voor logische apps, kaarten rechtstreeks uploaden naar uw logische app-resource of beide, op basis van de volgende scenario's:

      • Als u al een integratieaccount hebt met de artefacten die u nodig hebt of wilt gebruiken, kunt u uw integratieaccount koppelen aan meerdere resources van de logische standaard-app waar u de artefacten wilt gebruiken. Op die manier hoeft u geen kaarten te uploaden naar elke afzonderlijke logische app. Zie Uw logische app-resource koppelen aan uw integratieaccount voor meer informatie.

      • Als u geen integratieaccount hebt of alleen uw artefacten wilt gebruiken in meerdere werkstromen binnen dezelfde logische app-resource, kunt u rechtstreeks kaarten toevoegen aan uw logische app-resource met behulp van de Azure-portal of Visual Studio Code.

        Notitie

        Met de ingebouwde Liquid-connector kunt u een kaart selecteren die u eerder hebt geüpload naar uw logische app-resource of naar een gekoppeld integratieaccount, maar niet beide.

      Als u dus geen integratieaccount hebt of nodig hebt, kunt u de optie uploaden gebruiken. Anders kunt u de koppelingsoptie gebruiken. In beide gevallen kunt u deze artefacten gebruiken voor alle onderliggende werkstromen binnen dezelfde logische app-resource.

    U hebt nog steeds een integratieaccount nodig voor het opslaan van andere artefacten, zoals partners, overeenkomsten en certificaten, samen met het gebruik van de AS2-, X12- en EDIFACT-bewerkingen .

XML-actie Transformeren toevoegen

  1. Open in Azure Portal uw standaard logische app en werkstroom in de ontwerpfunctie.

  2. Als u een lege werkstroom hebt die geen trigger heeft, volgt u deze algemene stappen om een gewenste trigger toe te voegen. Anders gaat u verder met de volgende stap.

    In dit voorbeeld wordt de aanvraagtrigger gebruikt.

  3. Volg onder de stap in uw werkstroom waar u de XML-actieTransformeren wilt toevoegen deze algemene stappen om de actie transformatie-XML toe te voegen.

  4. Geef in het vak Inhoud de XML-inhoud op die u wilt transformeren met behulp van XML-gegevens die u in de HTTP-aanvraag ontvangt.

    1. Als u uitvoer van eerdere bewerkingen in de werkstroom wilt selecteren, klikt u in de actie XML-transformatie in het vak Inhoud en selecteert u de optie voor de lijst met dynamische inhoud (bliksempictogram).

    2. Selecteer in de lijst met dynamische inhoud het token voor de inhoud die u wilt transformeren.

      Screenshot shows Standard workflow with opened dynamic content list.

      In dit voorbeeld wordt het bodytoken van de trigger geselecteerd.

      Notitie

      Zorg ervoor dat u XML-inhoud selecteert. Als de inhoud geen XML is of base64-gecodeerd is, moet u een expressie opgeven waarmee de inhoud wordt verwerkt. U kunt bijvoorbeeld expressiefuncties gebruiken, zoals base64ToBinary() het decoderen van inhoud of xml() het verwerken van de inhoud als XML.

  5. Selecteer in de lijst Kaartbron de locatie waar u de kaart hebt geüpload, ofwel uw LogicApp-resource of uw IntegrationAccount.

  6. Selecteer uw kaart in de lijst Kaart .

  7. Sla uw werkstroom op als u gereed bent.

    U bent nu klaar met het instellen van de XML-actie Transformeren. In een echte app wilt u mogelijk de getransformeerde gegevens opslaan in een LOB-app (Line-Of-Business), zoals SalesForce. Als u de getransformeerde uitvoer naar Salesforce wilt verzenden, voegt u een Salesforce-actie toe.

  8. Als u de transformatieactie wilt testen, activeert u uw werkstroom en voert u deze uit. Voor de aanvraagtrigger verzendt u bijvoorbeeld een aanvraag naar de eindpunt-URL van de trigger.

    De actie XML transformeren wordt uitgevoerd nadat uw werkstroom is geactiveerd en wanneer XML-inhoud beschikbaar is voor transformatie.

Geavanceerde mogelijkheden

Referentieassembly's of aangepaste code aanroepen vanuit kaarten

De XML-actie Transformeren ondersteunt het verwijzen naar externe assembly's vanuit kaarten, waardoor aangepaste .NET-code rechtstreeks vanuit XSLT-kaarten kan worden aangeroepen. Zie XSLT-kaarten toevoegen voor werkstromen in Azure Logic Apps voor meer informatie.

Referentie-extensieobjecten

In standaardwerkstromen ondersteunt de actie XML-transformatie het opgeven van een XML-extensieobject dat moet worden gebruikt met uw toewijzing.

  1. Open in de actie XML transformeren de lijst geavanceerde parameters en selecteer XML-extensieobject, waarmee de parameter wordt toegevoegd aan de actie.

  2. Geef in het vak XML-extensieobject het extensieobject op, bijvoorbeeld:

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

Byte ordermarkering

Standaard begint het antwoord van de transformatie met een bytevolgordemarkering (BOM). U hebt alleen toegang tot deze functionaliteit wanneer u in de codeweergave-editor werkt. Als u deze functionaliteit wilt uitschakelen, stelt u de transformOptions eigenschap in op disableByteOrderMark:

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

Volgende stappen