Transformera XML i arbetsflöden med Azure Logic Apps

I B2B-scenarier (business-to-business) för företagsintegrering kan du behöva konvertera XML mellan format. Logikappens arbetsflöde kan transformera XML med hjälp av åtgärden Transformera XML och en fördefinierad karta. Anta till exempel att du regelbundet får B2B-beställningar eller fakturor från en kund som använder datumformatet YearMonthDay (ÅÅÅÅÅMMDD). Din organisation använder dock datumformatet MonthDayYear (MMDDYYYYY). Du kan skapa och använda en karta som omvandlar YearMonthDay-formatet till MonthDayYear-formatet innan du lagrar beställnings- eller fakturainformationen i kundaktivitetsdatabasen.

Om du inte har använt logikappar tidigare läser du Vad är Azure Logic Apps? Mer information om B2B-företagsintegrering finns i arbetsflöden för B2B-företagsintegrering med Azure Logic Apps och Enterprise Integration Pack.

Förutsättningar

  • Ett Azure-konto och prenumeration. Om du inte har någon prenumeration än kan du registrera dig för ett kostnadsfritt Azure-konto.

  • Ett arbetsflöde för logikappen som redan börjar med en utlösare så att du kan lägga till XML-åtgärden Transformera vid behov i arbetsflödet.

  • En integrationskontoresurs där du definierar och lagrar artefakter, till exempel handelspartner, avtal, certifikat och så vidare, för användning i företagets integrerings- och B2B-arbetsflöden. Den här resursen måste uppfylla följande krav:

    • Är associerad med samma Azure-prenumeration som din logikappresurs.

    • Finns på samma plats eller Azure-region som din logikappresurs där du planerar att använda åtgärden Transformera XML .

    • Om du använder resurstypen Logikapp (förbrukning) kräver ditt integrationskonto följande:

    • Om du använder resurstypen Logikapp (Standard) lagrar du inte kartor i ditt integrationskonto. I stället kan du lägga till kartor direkt i logikappresursen med hjälp av antingen Azure Portal eller Visual Studio Code. Endast XSLT 1.0 stöds för närvarande. Du kan sedan använda dessa kartor i flera arbetsflöden i samma logikappresurs.

      Du behöver fortfarande ett integrationskonto för att lagra andra artefakter, till exempel partner, avtal och certifikat, tillsammans med hjälp av åtgärderna AS2, X12 och EDIFACT . Du behöver dock inte länka logikappresursen till ditt integrationskonto, så länkningsfunktionen finns inte. Ditt integrationskonto måste fortfarande uppfylla andra krav, till exempel att använda samma Azure-prenumeration och vara befintligt på samma plats som logikappresursen.

      Anteckning

      För närvarande har endast resurstypen Logikapp (förbrukning) stöd för RosettaNet-åtgärder . Resurstypen Logic App (Standard) innehåller inte RosettaNet-åtgärder.

Lägg till xml-åtgärd för transformering

  1. Öppna logikappen och arbetsflödet i designervyn i Azure Portal.

  2. Om du har en tom logikapp som inte har någon utlösare lägger du till valfri utlösare. I det här exemplet används utlösaren Förfrågning. Annars fortsätter du till nästa steg.

    Om du vill lägga till utlösaren Begäran går du till sökrutan designer och anger HTTP requestoch väljer utlösaren Begäran med namnet När en HTTP-begäran tas emot.

  3. Under steget i arbetsflödet där du vill lägga till xml-åtgärden Transformera väljer du något av följande steg:

    För en förbruknings- eller ISE-planbaserad logikapp väljer du ett steg:

    • Om du vill lägga till åtgärden Transformera XML i slutet av arbetsflödet väljer du Nytt steg.

    • Om du vill lägga till åtgärden Transformera XML mellan befintliga steg flyttar du pekaren över pilen som ansluter dessa steg så att plustecknet (+) visas. Välj plustecknet och välj sedan Lägg till en åtgärd.

    För en planbaserad standardlogikapp väljer du ett steg:

    • Om du vill lägga till åtgärden Transformera XML i slutet av arbetsflödet väljer du plustecknet (+) och väljer sedan Lägg till en åtgärd.

    • Om du vill lägga till åtgärden Transformera XML mellan befintliga steg väljer du plustecknet (+) som visas mellan dessa steg och väljer sedan Lägg till en åtgärd.

  4. Under Välj en åtgärd väljer du Inbyggd. Skriv transform xml i sökrutan. I åtgärdslistan väljer du Transformera XML.

  5. Om du vill ange XML-innehållet för transformering kan du använda alla XML-data som du får i HTTP-begäran. Klicka i rutan Innehåll så att listan med dynamiskt innehåll visas.

    Listan med dynamiskt innehåll visar egenskapstoken som representerar utdata från föregående steg i arbetsflödet. Om listan inte visar en förväntad egenskap kontrollerar du utlösaren eller åtgärdsrubriken i listan och om du kan välja Visa mer.

    För en förbruknings- eller ISE-planbaserad logikapp ser designern ut så här:

    Screenshot showing multi-tenant designer with opened dynamic content list, cursor in

    För en planbaserad standardlogikapp ser designern ut så här:

    Screenshot showing single-tenant designer with opened dynamic content list, cursor in

  6. I listan med dynamiskt innehåll väljer du egenskapstoken för det innehåll som du vill verifiera.

    I det här exemplet väljs brödtexttoken från utlösaren.

    Anteckning

    Kontrollera att det innehåll du väljer är XML. Om innehållet inte är XML eller är base64-kodat måste du ange ett uttryck som bearbetar innehållet. Du kan till exempel använda uttrycksfunktioner, till exempel base64ToBinary() för att avkoda innehåll eller xml() bearbeta innehållet som XML.

  7. Om du vill ange vilken karta som ska användas för transformering öppnar du kartlistan och väljer den karta som du lade till tidigare.

  8. När du är klar ska du spara arbetsflödet för logikappen.

    Nu har du konfigurerat xml-åtgärden Transformera . I en verklig app kanske du vill lagra transformerade data i en verksamhetsspecifik app (LOB), till exempel SalesForce. Om du vill skicka transformerade utdata till Salesforce lägger du till en Salesforce-åtgärd.

  9. Testa omvandlingsåtgärden genom att utlösa och köra arbetsflödet. För utlösaren Begäran skickar du till exempel en begäran till utlösarens slutpunkts-URL.

    Åtgärden Transformera XML körs när arbetsflödet har utlösts och när XML-innehåll är tillgängligt för transformering.

Avancerade funktioner

Referenssammansättning eller anpassad kod från kartor

I arbetsflöden för logikapp (förbrukning) stöder åtgärden Transformera XML kartor som refererar till en extern sammansättning. Mer information finns i Lägga till XSLT-kartor för arbetsflöden i Azure Logic Apps.

Byteordningsmarkering

Som standard börjar svaret från omvandlingen med ett byteordningsmärke (BOM). Du kan bara komma åt den här funktionen när du arbetar i kodvisningsredigeraren. Om du vill inaktivera den här funktionen anger du egenskapen transformOptions till disableByteOrderMark:

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

Nästa steg