Delen via


XML-inhoud coderen en decoderen in platte bestanden voor werkstromen in Azure Logic Apps

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

Wanneer u XML-inhoud uitwisselt met een handelspartner in een B2B-integratie (business-to-business), moet u de inhoud vaak coderen voordat u deze verzendt. Wanneer u gecodeerde XML-inhoud ontvangt, moet u die inhoud decoderen voordat u deze kunt gebruiken.

Deze handleiding laat zien hoe u XML in uw werkstromen kunt coderen en decoderen met behulp van de ingebouwde connectoracties voor plat bestand en een plat bestandsschema.

Technische naslaggids voor connector

De coderings- en decoderingsacties Flat File zijn beschikbaar voor logische app-werkstromen voor zowel consumptie als standaard.

Logic-app Milieu
Consumption Multitenant Azure Logic Apps
Standaard Azure Logic Apps met één tenant, App Service Environment v3 (alleen Windows-abonnementen) en hybride implementatie

Zie Ingebouwde connectors voor integratieaccounts voor meer informatie.

Vereisten

  • Een Azure-account en -abonnement. Ontvang een gratis Azure-account.

  • De resource en werkstroom van de Logic App waarin u de plat-bestandsbewerkingen wilt gebruiken.

    Platte bestandsbewerkingen bevatten geen triggers. Uw werkstroom kan beginnen met elke trigger of elke actie gebruiken om de bron-XML in te voeren.

    In de voorbeelden in dit artikel wordt de Request-trigger genaamd Wanneer een HTTP-aanvraag wordt ontvangen gebruikt.

    Voor meer informatie, zie:

  • Een integratieaccountresource voor het definiëren en opslaan van artefacten voor bedrijfsintegratie en B2B-werkstromen.

    • Zowel uw integratieaccount als de resource van de logische app moeten zich in hetzelfde Azure-abonnement en dezelfde Azure-regio bevinden.

    • Voordat u met Flat File-bewerkingen aan de slag gaat, moet u uw Consumption logic app of uw standaard logische app aan het integratieaccount koppelen om artefacten zoals handelspartners en overeenkomsten te gebruiken. U kunt een integratieaccount koppelen aan meerdere Consumption- of Standaard-logische appresources om dezelfde artefacten te delen.

    Aanbeveling

    Als u niet met B2B-artefacten werkt, zoals handelspartners en overeenkomsten in Standaardwerkstromen, hebt u mogelijk geen integratieaccount nodig. In plaats daarvan kunt u schema's rechtstreeks uploaden naar de resource van uw standaard logische app. In beide gevallen kunt u hetzelfde schema gebruiken voor alle onderliggende werkstromen in dezelfde logische app-resource. Als u hetzelfde schema wilt gebruiken voor meerdere resources voor logische apps, moet u een integratieaccount gebruiken en koppelen.

  • Een plat bestandsschema dat aangeeft hoe XML-inhoud moet worden gecodeerd of gedecodeerd.

    In Standaardwerkstromen kunt u met Flat File-bewerkingen een schema selecteren uit een gekoppeld integratieaccount of dat u eerder hebt geüpload naar uw Logic Apps, maar niet beide.

    Zie Schema's toevoegen aan integratieaccounts voor meer informatie.

  • Installeer of gebruik een hulpprogramma waarmee HTTP-aanvragen kunnen worden verzonden om uw oplossing te testen, bijvoorbeeld:

    Let op

    Voor scenario's waarin u gevoelige gegevens hebt, zoals referenties, geheimen, toegangstokens, API-sleutels en andere vergelijkbare informatie, moet u een hulpprogramma gebruiken waarmee uw gegevens worden beveiligd met de benodigde beveiligingsfuncties. Het hulpprogramma moet offline of lokaal werken en u hoeft zich niet aan te melden bij een onlineaccount of gegevens naar de cloud te synchroniseren. Wanneer u een hulpprogramma met deze kenmerken gebruikt, vermindert u het risico dat gevoelige gegevens openbaar worden gemaakt voor het publiek.

Beperkingen

  • XML-inhoud die u wilt decoderen, moet worden gecodeerd in UTF-8-indeling.

  • Zorg ervoor dat in het schema voor platte bestanden geen overmatige aantallen van de max count eigenschap zijn ingesteld op een waarde die groter is dan 1. Vermijd het nesten van een XML-groep met een max count eigenschapswaarde groter dan 1 in een andere XML-groep met een max count eigenschap groter dan 1.

  • Wanneer Azure Logic Apps het platte bestandsschema parseert en wanneer het schema de keuze van het volgende fragment toestaat, genereert Azure Logic Apps een symbool en een voorspelling voor dat fragment. Als het schema te veel constructies toestaat, bijvoorbeeld meer dan 100.000, wordt de schema-uitbreiding erg groot, wat te veel resources en tijd verbruikt.

Schema uploaden

Nadat u uw schema hebt gemaakt, uploadt u het schema op basis van uw werkstroom:

Een platte bestandscoderingsactie toevoegen

  1. Open uw logische app-resource in Azure Portal.

  2. Open uw werkstroom in de ontwerper.

    Als uw werkstroom geen trigger of andere acties heeft die uw werkstroom nodig heeft, voegt u deze bewerkingen eerst toe.

    In dit voorbeeld wordt de aanvraagtrigger gebruikt met de naam Wanneer een HTTP-aanvraag wordt ontvangen. Zie Een trigger toevoegen om uw werkstroom te starten voor instructies over het toevoegen van een trigger.

  3. Volg deze algemene stappen in de ontwerpfunctie om de ingebouwde actie met de naam Platte bestandscodering toe te voegen.

    Het deelvenster met actiegegevens wordt geopend met het tabblad Parameters geselecteerd.

  4. Geef in de parameter Inhoud van de actie de XML-inhoud op die moet worden gecodeerd, en dat is uitvoer van de trigger of een eerdere actie, door de volgende stappen te volgen:

    1. Selecteer in het vak Inhoud en selecteer vervolgens het bliksempictogram om de lijst met dynamische inhoud te openen.

    2. Selecteer in de lijst met dynamische inhoud de XML-inhoud die u wilt coderen.

    In het volgende voorbeeld ziet u de lijst met geopende dynamische inhoud, de uitvoer van de trigger Wanneer een HTTP-aanvraag wordt ontvangen en de geselecteerde hoofdtekstinhoud uit de triggeruitvoer.

    Schermopname van de Azure-portal, de werkstroomontwerper, de actie Platte bestandscodering en de parameter Inhoud met dynamische inhoudslijst en inhoud die is geselecteerd voor codering.

    Notitie

    Als de hoofdtekst niet wordt weergegeven in de lijst met dynamische inhoud, selecteert u naast het sectielabel Wanneer een HTTP-aanvraag wordt ontvangen , de optie Meer informatie. U kunt de inhoud ook rechtstreeks invoeren om te coderen in het vak Inhoud .

  5. Selecteer uw schema in de lijst Schemanaam .

    De schermafbeelding toont de ontwerper en de geopende lijst met schemanamen, met het geselecteerde schema voor codering.

    Notitie

    Als de schemalijst leeg is, kan dit de volgende oorzaken hebben:

    • De resource van de logische app is niet gekoppeld aan een integratieaccount.
    • Het gekoppelde integratieaccount bevat geen schemabestanden.
    • De resource van de logische app bevat geen schemabestanden. Deze reden is alleen van toepassing op standaard logische apps.
  6. Als u andere optionele parameters aan de actie wilt toevoegen, selecteert u deze parameters in de lijst Geavanceerde parameters .

    Kenmerk Weergegeven als Beschrijving
    Modus voor het genereren van lege knooppunten ForcedDisabled of HonorSchemaNodeProperty of ForcedEnabled De modus die moet worden gebruikt voor het genereren van lege knooppunten met platte bestandscodering.

    Voor BizTalk heeft het platte bestandsschema een eigenschap waarmee het genereren van lege knooppunten wordt bepaald. U kunt het eigenschapsgedrag van het genereren van lege knooppunten bij uw platte bestandsschema volgen. U kunt deze instelling ook gebruiken om azure Logic Apps lege knooppunten te laten genereren of weglaten. Zie Tags voor lege elementen voor meer informatie.
    XML-normalisatie Ja of Nee De instelling voor het in- of uitschakelen van XML-normalisatie in platte bestandscodering. Zie XmlTextReader.Normalization voor meer informatie.
  7. Sla uw werkstroom op. Selecteer in de werkbalk van de ontwerper Opslaan.

Een actie voor het decoderen van platte bestanden toevoegen

  1. Open uw logische app-resource in Azure Portal.

  2. Open uw workflow in de ontwerpmodus.

    Als uw werkstroom geen trigger of andere acties heeft die uw werkstroom nodig heeft, voegt u deze bewerkingen eerst toe.

    In dit voorbeeld wordt de aanvraagtrigger gebruikt met de naam Wanneer een HTTP-aanvraag wordt ontvangen. Zie Een trigger toevoegen om uw werkstroom te starten voor instructies om een trigger toe te voegen.

  3. Volg deze algemene stappen in de ontwerpfunctie om de ingebouwde actie met de naam Platte bestandscodering toe te voegen.

  4. Geef in de parameter Inhoud van de actie de XML-inhoud op die moet worden gedecodeerd, hetzij als uitvoer van de trigger of van een vorige actie door de volgende stappen uit te voeren:

    1. Selecteer in het vak Inhoud en selecteer vervolgens het bliksempictogram om de lijst met dynamische inhoud te openen.

    2. Selecteer in de lijst met dynamische inhoud de XML-inhoud die u wilt decoderen.

    In het volgende voorbeeld ziet u de lijst met geopende dynamische inhoud, de uitvoer van de trigger Wanneer een HTTP-aanvraag wordt ontvangen en de geselecteerde hoofdtekstinhoud uit de triggeruitvoer.

    Schermopname van de Azure-portal, de werkstroomontwerper, de actie Flat File Decoding en de parameter Inhoud met dynamische inhoudslijst en inhoud die is geselecteerd voor decodering.

    Notitie

    Als hoofdtekst niet wordt weergegeven in de lijst met dynamische inhoud, selecteert u Meer weergeven naast het sectielabel Wanneer een HTTP-aanvraag wordt ontvangen . U kunt de inhoud ook rechtstreeks invoeren om te decoderen in het vak Inhoud .

  5. Selecteer uw schema in de lijst Schemanaam .

    Schermopname toont de ontwerper en de geopende lijst met schemanamen met het geselecteerde schema voor decodering.

    Notitie

    Als de schemalijst leeg is, kan dit de volgende oorzaken hebben:

    • De resource van de logische app is niet gekoppeld aan een integratie-account.
    • Het gekoppelde integratieaccount bevat geen schemabestanden.
    • De resource van de logische app bevat geen schemabestanden. Deze reden is alleen van toepassing op standaard logische apps.
  6. Sla uw werkstroom op. Selecteer in de werkbalk van de ontwerper Opslaan.

U bent nu klaar met het instellen van de actie voor het decoderen van platte bestanden. In een echte app wilt u mogelijk de gedecodeerde gegevens opslaan in een LOB-app (Line-Of-Business), zoals Salesforce. U kunt de gedecodeerde gegevens ook verzenden naar een handelspartner. Als u de uitvoer van de decoderingsactie naar Salesforce of uw handelspartner wilt verzenden, gebruikt u de andere connectors die beschikbaar zijn in Azure Logic Apps:

Uw werkstroom testen

Voer de volgende stappen uit om uw werkstroom te activeren:

  1. Zoek in de aanvraagtrigger de HTTP POST URL-parameter en kopieer de URL.

  2. Open uw HTTP-aanvraagprogramma en gebruik de bijbehorende instructies om een HTTP-aanvraag naar de gekopieerde URL te verzenden, inclusief de methode die de aanvraagtrigger verwacht.

    In dit voorbeeld wordt de POST methode met de URL gebruikt.

  3. Neem de XML-inhoud op die u wilt coderen of decoderen in de hoofdtekst van de aanvraag.

  4. Nadat de werkstroom is uitgevoerd, gaat u naar de uitvoeringsgeschiedenis van de werkstroom en bekijkt u de invoer en uitvoer van de actie Plat bestand .