Beispiel: Vollständiger AS2-Nachrichtenaustausch (einfach)
/In diesem Beispiel wird gezeigt, wie Sie einen vollständigen AS2-Nachrichtenaustausch zwischen zwei AS2-Partnern von einer FlowForce Server-Perspektive aus konfigurieren. In diesem Beispiel handelt es sich sowohl beim sendenden AS2-Partner als auch beim empfangende AS2-Partner um FlowForce Server-Instanzen.
Nennen wir den sendenden Server "Hermes" und den empfangenden Server "Apollo". Beachten Sie außerdem, dass Hermes auf CentOS läuft, während Apollo auf Windows läuft (Diese Information ist nur für die Konfiguration von Pfaden und die Firewall relevant). Ziel dieses Beispiels ist das folgende:
•Der sendende Server (Hermes) soll erfolgreich eine AS2-Nachricht an den empfangenden AS2-Server (Apollo) senden.
•Der empfangende Server (Apollo) soll die eingehende Nachricht erfolgreich verarbeiten und lokal speichern.
In diesem Beispiel wird das einfachste mögliche Szenario zwischen zwei AS2-Partnern dargestellt (die erste von zwölf möglichen Varianten laut Abschnitt 2.4.2 von RFC 4130). Im Prinzip geschieht dabei Folgendes:
•Der Absender sendet nicht verschlüsselte AS2-Daten.
•Der Absender sendet nicht signierte AS2-Daten.
•Der Absender verlangt in Antwort auf die Nachricht keine MDN.
Andere Annahmen:
•Apollo und Hermes werden beide in einem privaten lokalen Netzwerk ausgeführt.
•Der empfangende AS2-Server (Apollo) akzeptiert HTTP-Requests von nicht autorisierten Clients (d.h. es besteht öffentlicher Zugriff auf den AS2-Dienst).
Voraussetzungen
•Die FlowForce Server Advanced Edition muss sowohl auf Apollo als auch auf Hermes installiert und lizenziert sein.
•Die FlowForce Web-Verwaltungsschnittstelle muss sowohl auf Apollo als auch auf Hermes am konfigurierten Host und Port (z.B. http://apollo:8082 und http://hermes:8082, wenn "apollo" und "hermes" die jeweiligen Host-Namen sind) ausgeführt werden. Siehe auch Definieren der Netzwerkeinstellungen.
Konfigurieren des sendenden AS2-Servers ("Hermes")
1.Melden Sie sich auf der FlowForce Web-Verwaltungsschnittstelle an und erstellen Sie einen AS2-Partner namens "APOLLO" (siehe auch Konfigurieren von AS2-Partnern). Dieser Partner identifiziert den Server, der AS2-Nachrichten empfängt. Da in diesem einfachen Beispiel keine Verschlüsselung, Signatur und MDN erforderlich sind, müssen nur die folgenden Partnereinstellungen definiert werden:
Wie oben gezeigt, ist der für die AS2-Kommunikation verwendete AS2-Partnername "Apollo", während der in FlowForce Server gespeicherte Partnerobjektname "APOLLO" ist. Beim Wert "Request-URL" wird angenommen, dass der Host-Name des Partners ebenfalls apollo lautet. Wenn der Host-Name ein anderer ist, ändern Sie die URL entsprechend. Wir werden den eigentlichen AS2-Dienst, der sich unter dieser URL aufrufen lässt, in einem späteren Schritt konfigurieren.
2.Erstellen Sie einen neuen Auftrag, der eine AS2-Nachricht sendet.
a) Öffnen Sie den Container public und klicken Sie auf Erstellen | Auftrag erstellen.
Geben Sie einen Auftragsnamen (z.B: "send-as2") und optional eine Beschreibung ein.
b) Klicken Sie auf Neuer Dateisystem-Trigger und definieren Sie die Trigger-Einstellungen wie unten gezeigt. Falls das Verzeichnis /home/altova/as2/outgoing auf dem Rechner "Hermes" nicht vorhanden ist, erstellen Sie es.
Sobald Sie den Trigger hinzugefügt haben, wird ein Parameter namens triggerfile zum Auftrag hinzugefügt. Dieser Parameter bildet den Dateinamen, durch den dieser Auftrag automatisch gestartet wird, wenn eine Datei in das Verzeichnis /home/altova/as2/outgoing kopiert wird. Nähere Informationen dazu finden Sie unter Dateisystem-Trigger
c) Fügen Sie einen Ausführungsschritt hinzu, der eine EDI-Datei aus dem zuvor definierten lokalen Ordner an den AS2-Partner sendet. Nähere Informationen zu diesem Schritt finden Sie unter Senden von AS2-Nachrichten.
d) Fügen Sie schließlich die Anmeldeinformationen für das Benutzerkonto auf dem lokalen Rechner hinzu (Normalerweise sind das der Benutzername und das Passwort, mit dem Sie sich auf diesem Rechner anmelden). Beachten Sie, dass es sich hierbei nicht um dieselben Anmeldeinformationen handelt, mit denen Sie sich auch auf der FlowForce Web-Verwaltungsschnittstelle anmelden. Nähere Informationen dazu finden Sie unter Anmeldeinformationen.
e) Klicken Sie auf Speichern. Der Auftrag sollt nun auf der FlowForce Server-Startseite unter "Aktive Trigger" angezeigt werden.
Konfigurieren des empfangenden AS2-Servers ("Apollo")
1.Stellen Sie auf FlowForce Server ein, dass Verbindungen von AS2-Clients unter der angegebenen URL angenommen werden. Da AS2-Clients die Verbindung zu Apollo in diesem Beispiel über einfaches HTTP am Standardport 4646 herstellen, sollte die Konfigurationsseite folgendermaßen aussehen (siehe auch Definieren der Netzwerkeinstellungen):
2.Stellen Sie sicher, dass die Kommunikation mit FlowForce Server nicht durch die Firewall des Betriebssystems blockiert wird. Da der FlowForce Server "Apollo" in diesem Beispiel unter Windows läuft, muss die Kommunikation damit über die Windows Defender Firewall zugelassen werden.
3.Erstellen Sie einen neuen FlowForce Server Container namens "as2service". (Berechtigungen werden In FlowForce auf Container-Ebene definiert, daher sollten Sie für den Auftrag, der die AS2-Nachrichten empfängt, einen eigenen Container erstellen. Auf diese Art können Sie nur für den erforderlichen Container AS2-spezifische Berechtigungen definieren, ohne dass sich dies auf die Berechtigungen für andere bestehende FlowForce-Aufträge auswirkt).
4.Öffnen Sie den zuvor definierten "as2service"-Container und erstellen Sie den sendenden Partner, Hermes, wie unten gezeigt. Beim Wert "Request-URL" wird angenommen, dass der Host-Name des Partners ebenfalls hermes ist. Wenn der Host-Name ein anderer ist, müssen Sie die URL entsprechend anpassen.
Stellen Sie sicher, dass die Interoperabilitätseinstellungen auf beiden Servern die gleichen sind.
5.Öffnen Sie den zuvor definierten Container "as2service" und erstellen Sie einen neuen Auftrag. Ziel dieses Auftrags ist es, einen AS2-Dienst bereitzustellen, der für AS2-Requests empfangsbereit ist. Wenn eine neue AS2-Nachricht einlangt, wird sie in diesem Auftrag in einen temporären Ordner kopiert.
a) Aktivieren Sie das Kontrollkästchen Diesen Auftrag... zur Verfügung stellen:.. und geben Sie dem AS2-Dienst einen Namen (in diesem Beispiel "as2-receiver").
b) Wählen Sie, wie oben gezeigt, die Option AS2-Dienst aus der Dropdown-Liste aus. Infolgedessen werden die zwei Input-Parameter partner und message zum Auftrag hinzugefügt. Mit Hilfe dieser Parameter können Informationen über den sendenden Partner bzw. die Nachricht verarbeitet und gespeichert werden. In diesem Beispiel wird nur die Nachricht gespeichert, wie im nächsten Schritt gezeigt.
c) Fügen Sie einen Ausführungsschritt hinzu, der die empfangende Nachricht in einen lokalen Ordner kopiert. Die unten verwendeten FlowForce Server-Ausdrücke konvertieren die Nachricht in eine Datei und erstellen den Dateinamen anhand des Message-ID Header-Felds. Eine ausführlichere Erläuterung zu diesen Ausdrücken finden Sie unter Empfangen von AS2-Nachrichten.
Stellen Sie sicher, dass das Verzeichnis C:\as2\incoming vorhanden ins. Dies ist das Verzeichnis, in dem die AS2-Kommunikation gespeichert wird.
d) Fügen Sie abschließend die Anmeldeinformationen für das Benutzerkonto auf dem lokalen Rechner hinzu (normalerweise den Benutzernamen und das Passwort, mit denen Sie sich auf diesem Rechner anmelden). Beachten Sie, dass es sich hierbei nicht um dieselben Anmeldeinformationen handelt, mit denen Sie sich auch auf der FlowForce Web-Verwaltungsschnittstelle anmelden. Nähere Informationen dazu finden Sie unter Anmeldeinformationen.
6.Gehen Sie zum Container public / as2service und klicken Sie auf Berechtigungen. Klicken Sie auf Berechtigungen hinzufügen und weisen Sie dem Benutzer anonymous im Container "as2service" die Berechtigung "Dienst: Verwenden" zu.
Die Container-Berechtigungen sehen nun folgendermaßen aus:
Auf diese Art stellen Sie den AS2-Dienst öffentlich bereit, sodass jeder darauf zugreifen und den Dienst ohne Authentifizierung verwenden kann.
Senden der AS2-Nachricht
Kopieren Sie auf dem Rechner "Hermes" eine .edi-Datei in das zuvor konfigurierte Verzeichnis /home/altova/as2/outgoing. Nach Ablauf des Verzeichnisabfrageintervalls (standardmäßig 60 Sekunden), wird der Trigger ausgelöst und der Auftrag sendet die Datei an den AS2-Dienst auf dem Rechner "Apollo".
Um das Ergebnis des Auftrags zu sehen, überprüfen Sie das FlowForce Server-Log, siehe Anzeige des Auftrags-Logs. Falls der Auftrag nicht ausgeführt werden kann, sehen Sie den Grund dafür im Log. Zu den zahlreichen Gründen, warum ein Auftrag fehlschlagen kann, gehören unter anderem die folgenden:
•Der Pfad zur EDI-Datei auf Hermes ist falsch.
•Die im Auftrag definierten Anmeldeinformationen für das Betriebssystem auf Hermes sind falsch.
•Der Apollo-Dienst http://apollo:4646/service/as2-receiver ist nicht verfügbar, da er von der Firewall auf dem Rechner Apollo blockiert wird.
•Die FlowForce Server Containerberechtigungen für den Dienst http://apollo:4646/service/as2-receiver lassen einen anonymen Zugriff nicht zu (d.h. der AS2-Dienst kann von Clients nicht aufgerufen werden)
•Der Parameter "Request-URL" des Partners "Apollo" ist falsch (auf dem Rechner "Hermes", auf dem Rechner "Apollo" oder auf beiden)
•Die Parameter der "Interoperabilitätseinstellungen" sind für den Partner "Hermes" auf dem Rechner "Apollo" falsch konfiguriert.-
Bei Erfolg verarbeitet der Auftrag zum Empfang der Nachricht auf dem Rechner "Apollo" die eingehende Nachricht und erstellt eine neue Datei unter dem folgenden Pfad: C:\as2\incoming.