Austauschen von AS2-Nachrichten mithilfe von Workflows in Azure Logic Apps

Wenn Sie AS2-Nachrichten in Workflows, die Sie mit Azure Logic Apps erstellen, senden und empfangen möchten, können Sie den AS2-Connector verwenden. Dieser stellt Trigger und Aktionen bereit, die die AS2-Kommunikation (Version 1.2) unterstützen und verwalten.

  • Wenn Sie mit dem Ressourcentyp Logik-App (Verbrauch) arbeiten und keine Nachverfolgungsfunktionen benötigen, verwenden Sie den Connector AS2 (v2) anstelle des ursprünglichen AS2-Connectors, der veraltet ist.

    Mit Ausnahme der Nachverfolgung bietet der Connector AS2 (v2) eine bessere Leistung, die gleichen Funktionen wie die ursprüngliche Version, ist in der Azure Logic Apps-Runtime nativ und sorgt für erhebliche Leistungsverbesserungen in Bezug auf Nachrichtengröße, -durchsatz und -wartezeit. Außerdem erfordert der v2-Connector keine Verbindung mit Ihrem Integrationskonto. Stellen Sie stattdessen sicher, dass Sie, wie in den Voraussetzungen beschrieben, Ihr Integrationskonto mit der Logik-App-Ressource verbinden, in der Sie den Connector verwenden möchten.

  • Wenn Sie mit dem Ressourcentyp Logik-App (Standard) arbeiten, ist derzeit nur der ursprüngliche AS2-Connector verfügbar.

    Technische Informationen zur ursprünglichen Version des AS2-Connectors finden Sie auf der Referenzseite des Connectors, auf der die Trigger, Aktionen und Grenzwerte wie in der Swagger-Datei des Connectors dokumentiert beschrieben werden.

In den folgenden Listen werden Aktionen beschrieben, die der Connector AS2 (v2) für das Einrichten der Sicherheit und Zuverlässigkeit beim Übertragen von Nachrichten bereitstellt:

  • Aktion AS2-Nachricht codieren zum Bereitstellen von Verschlüsselung, einer digitalen Signatur und Bestätigungen durch Benachrichtigungen über den Nachrichtenstatus (Message Disposition Notifications, MDNs), die beim Unterstützen der Nichtabstreitbarkeit helfen. Diese Aktion wendet z. B. AS2/HTTP-Header an und führt die folgenden Aufgaben aus, wenn sie konfiguriert sind:

    • Signieren ausgehender Nachrichten
    • Verschlüsseln ausgehender Nachrichten
    • Komprimieren der Nachricht
    • Dateinamen im MIME-Header übertragen
  • Aktion AS2-Nachricht decodieren zum Bereitstellen von Entschlüsselung, einer digitalen Signatur und Bestätigungen durch Benachrichtigungen über den Nachrichtenstatus (Message Disposition Notifications, MDNs). Diese Aktion führt z. B. die folgenden Aufgaben aus:

    • Verarbeiten von AS2/HTTP-Headern
    • Abstimmen empfangener MDNs mit der ursprünglichen ausgehenden Nachricht
    • Aktualisieren und Korrelieren von Datensätzen in der Nichtabstreitbarkeits-Datenbank
    • Schreiben von Datensätzen für AS2-Statusberichte
    • Base64-codierte Ausgabe von Nutzlastinhalten
    • Ermitteln, ob MDNs erforderlich sind Ermittlung auf Grundlage der AS2-Vereinbarung, ob MDNs synchron oder asynchron sein müssen
    • Generieren einer synchronen oder asynchronen MDN auf Grundlage der AS2-Vereinbarung
    • Festlegen der Korrelationstoken und Eigenschaften für MDNs

    Diese Aktion führt auch die folgenden Aufgaben aus, wenn sie konfiguriert ist:

    • Überprüfen der Signatur
    • Entschlüsseln der Nachrichten
    • Dekomprimieren der Nachrichten
    • Suchen nach und Unterbinden von doppelten Nachrichten-IDs

In diesem Artikel wird gezeigt, wie Sie einem bestehenden Logik-App-Workflow die AS2-Aktionen für die Codierung und Decodierung hinzufügen. Sie können zwar einen beliebigen Trigger verwenden, um Ihren Workflow zu starten, in den Beispielen wird jedoch der Anforderungstrigger verwendet.

Grenzwerte

Informationen zu den Grenzwerten des AS2-Connectors für Workflows, die in mehrinstanzenfähigen Azure Logic Apps-Instanzen, einzelinstanzfähigen Azure Logic Apps-Instanzen oder der Integrationsdienstumgebung (Integration Service Environment, ISE) ausgeführt werden, finden Sie unter B2B-Protokollgrenzwerte für Nachrichtengrößen.

Voraussetzungen

  • Ein Azure-Konto und ein Azure-Abonnement. Sollten Sie noch kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren.

  • Eine Integrationskontoressource, in der Sie Artefakte wie Handelspartner, Vereinbarungen, Zertifikate usw. für die Verwendung in Ihrer Unternehmensintegration und in B2B-Workflows definieren und speichern. Diese Ressource muss die folgenden Anforderungen erfüllen:

    • Sie muss demselben Azure-Abonnement zugeordnet sein wie Ihre Logik-App-Ressource.

    • Sie muss sich am selben Standort oder in derselben Azure-Region wie Ihre Logik-App-Ressource befinden.

    • Wenn Sie den Ressourcentyp Logik-App (Verbrauch) und die AS2 (v2)-Vorgänge verwenden, benötigt Ihre Logik-App-Ressource keine Verbindung mit Ihrem Integrationskonto. Sie benötigen dieses Konto jedoch weiterhin, um Artefakte wie Partner, Vereinbarungen und Zertifikate zusammen mit den AS2-, X12- oder EDIFACT-Vorgängen zu speichern. Ihr Integrationskonto muss darüber hinaus weitere Anforderungen erfüllen. So muss es z. B. dasselbe Azure-Abonnement und denselben Standort wie Ihre Logik-App-Ressource verwenden.

    • Wenn Sie den Ressourcentyp Logik-App (Standard) und die ursprünglichen AS2-Vorgänge verwenden, benötigt Ihr Workflow eine Verbindung mit Ihrem Integrationskonto. Diese erstellen Sie direkt aus Ihrem Workflow heraus, wenn Sie den AS2-Vorgang hinzufügen.

  • Mindestens zwei Parteien (Handelspartner) in Ihrem Integrationskonto. Die Definitionen für beide Partner müssen denselben Qualifizierer für die Geschäftsidentität verwenden, der für dieses Szenario AS2Identity lautet.

  • Eine AS2-Vereinbarung in Ihrem Integrationskonto zwischen den Parteien, die an Ihrem Workflow teilnehmen. Jede Vereinbarung erfordert sowohl einen Host- als auch einen Gastpartner. Der Inhalt der Nachrichten zwischen Ihnen und dem*der Partner*in muss mit dem Vereinbarungstyp übereinstimmen.

  • Die Logik-App-Ressource und der Workflow, in der bzw. dem Sie die AS2-Vorgänge verwenden möchten.

    Hinweis

    Der Connector AS2 (v2) stellt nur Aktionen, aber keine Trigger bereit. In diesem Artikel wird in den Beispielen für diesen Connector der Anforderungstrigger verwendet. Der ursprüngliche AS2-Connector umfasst Trigger und Aktionen. Weitere Informationen zu den Triggern, Aktionen und Grenzwerten des ursprünglichen AS2-Connectors finden Sie auf der Referenzseite des Connectors gemäß der Dokumentation in der Swagger-Datei des Connectors.

    Falls Sie noch nicht mit Logik-Apps vertraut sind, finden Sie weitere Informationen unter Was ist Azure Logic Apps? und Schnellstart: Erstellen Ihres ersten automatisierten Workflows mit Azure Logic Apps – Azure-Portal.

  • Wenn Sie Azure Key Vault für die Zertifikatsverwaltung verwenden, überprüfen Sie, ob Ihre Tresorschlüssel die Vorgänge Verschlüsseln und Entschlüsseln zulassen. Andernfalls treten beim Codieren und Decodieren Fehler auf.

    1. Öffnen Sie im Azure-Portal Ihren Schlüsseltresor. Wählen Sie im Schlüsseltresormenü unter Einstellungen die Option Schlüssel aus.

    2. Wählen Sie im Bereich Schlüssel Ihren Schlüssel aus. Wählen Sie im Bereich Versionen die verwendete Schlüsselversion aus.

    3. Vergewissern Sie sich im Bereich Schlüsselversion unter Zulässige Vorgänge, dass die Vorgänge Verschlüsseln und Entschlüsseln ausgewählt sind, z. B.:

      Screenshot des Azure-Portals mit geöffneten Bereichen „Schlüsseltresor“, „Schlüssel“ und „Schlüsselversion“ und den ausgewählten Vorgängen „Verschlüsseln“ und „Entschlüsseln“

Codieren von AS2-Nachrichten

  1. Öffnen Sie im Azure-Portal Ihre Logik-App-Ressource und den Workflow im Designer.

  2. Wählen Sie im Designer unter dem Trigger oder der Aktion, dem bzw. der Sie die AS2-Aktion hinzufügen möchten, die Option Neuer Schritt aus.

  3. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Alle aus. Geben Sie im Suchfeld as2 encodeein. Wählen Sie die Aktion AS2-Codierung aus.

    Screenshot von Azure-Portal, Workflow-Designer und ausgewählter Aktion „AS2-Codierung“

  4. Wenn der AS2-Vorgang im Designer angezeigt wird, geben Sie Informationen für die folgenden Eigenschaften an:

    Eigenschaft Erforderlich BESCHREIBUNG
    Zu codierende Nachricht Ja Die Nachrichtennutzlast.
    AS2-Absender Ja Der Geschäftsbezeichner für den Absender der Nachricht, wie in Ihrer AS2-Vereinbarung angegeben
    AS2-Empfänger Ja Der Geschäftsbezeichner für den Empfänger der Nachricht, wie in Ihrer AS2-Vereinbarung angegeben

    Die Nachrichtennutzdaten sind beispielsweise der Textteil der Inhaltsausgabe vom Anforderungstrigger:

    Screenshot der Aktion „AS2-Codierung“ mit den Nachrichtencodierungseigenschaften

    Tipp

    Wenn beim Senden von signierten oder verschlüsselten Nachrichten Probleme auftreten, sollten Sie andere SHA256-Algorithmusformate ausprobieren. Die AS2-Spezifikation stellt keine Informationen zu SHA256-Formaten bereit, sodass jeder Anbieter seine eigene Implementierung bzw. sein eigenes Format verwendet.

Decodieren von AS2-Nachrichten

  1. Öffnen Sie im Azure-Portal Ihre Logik-App-Ressource und den Workflow im Designer.

  2. Wählen Sie im Designer unter dem Trigger oder der Aktion, dem bzw. der Sie die AS2-Aktion hinzufügen möchten, die Option Neuer Schritt aus. In diesem Beispiel wird der Anforderungstrigger verwendet.

  3. Wählen Sie unter dem Suchfeld Vorgang auswählen die Option Alle aus. Geben Sie im Suchfeld as2 decodeein. Wählen Sie die Aktion AS2-Decodierung aus.

    Screenshot von Azure-Portal, Workflow-Designer und ausgewählter Aktion „AS2-Decodierung“

  4. Wählen Sie in der Form des AS2-Vorgangs für die Eigenschaften Zu codierende Nachricht und Nachrichtenheader die Werte aus den vorherigen Trigger- oder Aktionsausgaben aus.

    In diesem Beispiel können Sie die Ausgaben des Anforderungstriggers auswählen.

    Screenshot von Azure-Portal, Workflow-Designer und dem Vorgang „AS2-Decodierung“ mit ausgewählter Ausgabe „Body“ und „Header“ aus dem Anforderungstrigger

Beispiel

Wenn Sie eine uneingeschränkt funktionsfähige Logik-App und ein AS2 (v2)-Beispielszenario bereitstellen möchten, sehen Sie sich die Vorlage und das Szenario unter Azure Logic Apps - AS2 Send Receive (Azure Logic Apps – AS2: Senden/Empfangen) an.

Nächste Schritte