AS4 Connector

Der AS4 Connector versendet und empfängt Geschäftsnachrichten und Empfangsbestätigungen gemäß dem Applicability Statement 4 (AS4).

AS4 erlaubt das B2B (business to business) Web-Services-Messaging auf Basis der ebMS 3.0-Spezifikation.

AS4 beschreibt, wie Geschäftsnachrichten sicher über das HTTP-Protokoll in einem Peer-to-Peer-Netzwerk ausgetauscht werden. AS4 definiert, wie die Verbindung hergestellt, Geschäftsnachrichten validiert, versendet und durch Empfangsbestätigungen bestätigt werden.

Die Urheberschaft einer Geschäftsnachricht wird durch digitale Signaturen und die Datensicherheit durch Verschlüsselung gewährleistet. Der Absender erhält nach dem AS4-Übertragungsstandard eine digitale Empfangsquittung (Message Disposition Notification, MDN), mit welcher der Absender die fristgerechte Zustellung beweisen kann.

Vor dem Versenden wird für jede Geschäftsnachricht ein Umschlag in Form einer SOAP-Struktur erzeugt.

Die Geschäftsnachrichten können in einem XML-Format, EDI-Format (z.B. ASC X12, HL7 oder UN/EDIFACT) oder in jedem anderen strukturierten Format vorliegen.

Einführung

Der AS4 Connector kann als Input-, Medium- oder Output-Konnektor genutzt werden. Damit können auch zwei INUBIT Process Engines über AS4 kommunizieren, z.B.:

  • AS4 Output Connector zum Senden von AS4-Nachrichten

  • AS4 Input Connector zum Empfangen von AS4-Nachrichten

Kommunikationsmodi

Der AS4 Connector unterstützt sowohl synchrone als auch asynchrone Kommunikation mit einem AS4-Partner.

  • Synchroner Modus: Der Sender wartet auf die Antwortquittung.

    module guide 983 1
  • Asynchroner Modus: Der Sender wartet nicht auf die Antwortquittung, die von einem weiteren AS4 Listener Connector (Callback Listener) empfangen wird.

    module guide 983 2

Die Kommunikation wird über Collaboration Protocol Agreements (CPAs) gesteuert, die in INUBIT als CPA-Dateien im XML-Format im INUBIT-Repository gespeichert sein müssen.

Siehe

AS4-Gateway

Das AS4-Gateway erlaubt die Kommunikation mit den AS4-Gateways der AS4-Partner.

Das INUBIT AS4-Gateway basiert auf dem Jentrata Open Source B2B Gateway.

Das AS4-Gateway wird während der INUBIT-Installation installiert und zusammen mit der Process Engine gestartet. Siehe INUBIT-Software installieren.

AS4-Gateway konfigurieren

Das AS4-Gateway wird in der zum inubit-Lieferumfang gehörenden Datei <inubit-installdir>/server/ibis_root/conf/as4/as4-gateway.xml konfiguriert.

Das AS4-Gateway-Logging wird in der zum inubit-Lieferumfang gehörenden Datei <inubit-installdir>/server/ibis_root/conf/as4/log4j2.properties konfiguriert.

log4j2.properties unterstützt nicht die Übergabe der xml-Konfiguration. Wie die Konfiguration mit Properties angepasst wird, siehe https://logging.apache.org/log4j/2.x/manual/configuration.html#Properties.

Für den produktiven Einsatz wird empfohlen, eine andere als die standardmäßig installierte H2-Datenbank als AS4-Nachrichtenspeicher zu nutzen. Das Bereinigen der Datenbank liegt in der Verantwortung des Datenbankbenutzers/-Designers.

Kopieren Sie den zur Datenbank passenden JDBC-Treiber in das Verzeichnis <inubit-installdir>/server/process_engine/webapps/as4-gateway/WEB-INF/lib.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
    <!-- The ActiveMQ server (broker) that is needed for
          communication between Process Engine and AS4 gateway
          binds locally on this port. May be changed to any other valid port number -->
    <entry key="broker.port">61620</entry>
    <entry key="broker.url">failover:(tcp://localhost:${broker.port})?initialReconnectDelay=2000&amp;timeout=60000</entry>
    <!-- Proxy settings -->
    <entry key="http.proxyHost"></entry>
    <entry key="http.proxyPort"></entry>
    <entry key="http.proxyScheme">http4</entry>
    <entry key="http.httpClientOverride"></entry>
    <!-- AtiveMQ memory limit configuration -->
    <entry key="activemq.memoryLimit">5mb</entry>
    <!-- SQL script file name. This script is run during AS4 gateway start up -->
        <entry key="sql.script.filename">sql-script.sql</entry>
    <!-- JDBC Message Store Database Properties -->
    <!-- Select exactly ONE section from the following sections to support your database -->
    <!-- H2 -->
    <entry key="messagestore.type">H2</entry>
    <entry key="messagestore.jdbc.driverClass">org.h2.Driver</entry>
    <entry key="messagestore.jdbc.url">jdbc:h2:../../ibis_root/ibis_data/as4/message-store;AUTO_SERVER=TRUE</entry>
    <entry key="messagestore.jdbc.username">jentrata</entry>
    <entry key="messagestore.jdbc.password">jentrata</entry>
    <entry key="messagestore.jdbc.validationQuery">select 1</entry>
    <entry key="messagestore.jdbc.connectionProperties">h2.socketConnectTimeout=180000</entry>
    <!-- Oracle -->
    ...
    <!-- MySQL -->
    ...
    <!-- SQL Server -->
    ...
    <!-- PostgreSQL -->
    ...
</properties>

Parameter

Parameter Bedeutung

broker.port

Legt fest, über welchen Port das AS4-Gateway mit der Process Engine kommunizieren soll. Eine Änderung ist nur erforderlich, wenn der Port 61620 bereits anderweitig benutzt wird.

broker.url

URL des Brokers, mit dem sich der Client verbinden soll

activemq.memoryLimit

Legt die maximale Größe einer Nachricht fest. Überschreitet die Größe einer Nachricht diesen Wert, wird die Nachricht zurückgewiesen. Standardmäßig ist activemq.memoryLimit auf 5 MB eingestellt.

Wenn Sie die Property activemq.memoryLimit auf einen Wert größer als 5 MB setzen, müssen Sie die Propertys im Bereich systemUsage in der Datei activemq-broker-context.xml ebenfalls entsprechend anpassen, z.B. für memoryUsage limit idealerweise etwa 100 * activemq.memoryLimit. Die Datei activemq-broker-context.xml ist Teil des Archivs activemq-broker-6.0.*.jar im Verzeichnis <inubit-installdir>/server/process_engine/webapps/as4-gateway/WEB-INF/lib/.

Wenn Sie die Parameter angepasst haben, müssen Sie diese nach einer Patch-Installation erneut anpassen.

sql.script.filename

Benennt optional ein SQL-Skript, das beim Start des AS4- Gateways ausgeführt wird.

Das Skript muss im selben Ordner liegen wie die AS4-Gateway-Konfigurationsdatei:

<inubit-installdir>/server/ibis_root/conf/as4/

Der Inhalt des SQL-Skripts wird vom Benutzer bereitgestellt.

Im Falle einer SQL-Exception bei der Ausführung einer beliebigen Anweisung werden die vorherigen Ausführungen zurückgerollt. Der Umfang des Rollbacks ist abhängig vom AS4-Datenbanktyp. Nach der Ausführung wird das Skript als Sicherungsdatei mit dem aktuellen Zeitstempel umbenannt.

messagestore.type

Datenbanktyp (ORACLE, MYSQL, POSTGRES, H2)

messagestore.jdbc.driverClass

Datenbanktreiberklasse

messagestore.jdbc.url

nullCatalogMeansCurrent=true

JDBC-URL der Datenbank

true: Erlaubt das Verwenden von mehr als einem Schema (nicht empfohlen).

messagestore.jdbc.username

Datenbank-Benutzername

messagestore.jdbc.password

Datenbank-Passwort

messagestore.jdbc.validationQuery

Abfrage zum Validieren der Verbindungen aus dem Pool, bevor sie an den Aufrufer zurückgegeben werden

messagestore.jdbc.connectionProperties

Verbindungseigenschaften, die beim Aufbauen einer neuen Verbindung an den JDBC-Treiber gesendet werden

Der AS4-MessageStore enthält folgende zwei Tabellen:

  • Status-Tabelle IBIS_AS4_MSG_STATUS

    Diese Tabelle enthält den Status der Nachrichten. Folgende Status werden unterschieden:

Status Bedeutung

RECEIVED

Eingangsnachricht erhalten

DELIVER

Ausgangsnachricht bereit, gesendet zu werden

DELIVERED

Ausgangsnachricht gesendet

FAILED

Eingangsnachricht nicht akzeptiert, Ausgangsnachricht nicht gesendet

DONE

Gesendet und Quittung erhalten

IGNORED

Falsche Eingangsnachricht

ERROR

SOAP-Fehler, AS4-Fehler

  • Inhalte-Tabelle IBIS_AS4_MSG_CONTENT

    Diese Tabelle enthält die Inhalte der Nachrichten.

Es existiert keine automatische Bereinigung für die Datenbanktabellen des AS4-MessageStore. Sie müssen das Aufräumen selbst auf der Basis Ihrer fachlichen Anforderungen planen und ausführen.

AS4 Gateway-Proxy konfigurieren

Soll das AS4-Gateway über einen Proxy mit dem (den) AS4-Partner(n) kommunizieren, müssen SIe einen Proxy entsprechend konfigurieren.

Der AS4-Gateway-Proxy wird in der Datei as4-gateway.xml im Pfad <inubit-installdir>/server/ibis_root/conf/as4 konfiguriert.

Parameter

Parameter Bedeutung

http.proxyHost

Proxy-Hostname

http.proxyPort

Proxy-Portnummer

http.proxyScheme

Proxy-Schema

http.httpClientOverride

Client Override

Wenn Sie in der Kommunikation zum Proxy ein anderes Protokoll als in der Kommunikation zum Partner einsetzen wollen, so müssen Sie mittels des letzten Parameters (proxyScheme) das Schema für den Proxy explizit setzen. Im Falle eines lokalen, per HTTP angesprochenen Proxy ist der Parameter auf den festen Wert http4 zu setzen. Der Wert entspricht dem verwendeten Endpoint-Schema der Apache Camel HTTP4-Komponente im AS4 Gateway.

Konfigurieren der AS4-Kommunikation

Wie die Kommunikation zwischen zwei AS4-Partnern erfolgt, konfigurieren Sie über XML-Dateien, die die Festlegungen in Form von Collaboration Protocol Agreements (CPAs) enthalten. Diese XML-Dateien werden im INUBIT-Repository hinterlegt. Eine Beispieldatei gehört zum Lieferumfang und ist unter folgendem Pfad im Repository abgelegt:

Global/System/Mapping Templates/AS4/as4-cpa-repository.xml

Kopieren Sie diese Datei in Ihren eigenen Repository-Bereich und passen Sie diese entsprechend an. Damit stellen Sie sicher, dass nur berechtigte Benutzer auf sensible Daten zugreifen können.

Sie können das Partner-Management nutzen, um die CPA-ID (Moduleigenschaft cpaId) und den CPA-Dateinamen (Moduleigenschaft AS4CPAFilePath) zu konfigurieren.

Sie können die Sicherheitseinstellungen in den folgenden Abschnitten in der Datei partnermanagement_config.xml über das Menü Konfiguration > Partnermanagement der INUBIT Workbench konfigurieren:

  • Eingangsnachrichten

    Abschnitt <Protocol name="AS4" plugin="AS4 Connector" inbound="true">

  • Ausgangsnachrichten

    Abschnitt <Protocol name="AS4" plugin="AS4 Connector" outbound="true">

Siehe

Sie können beliebig viele CPA-Dateien anlegen.

Die CPA-ID aller Partnervereinbarungen muss über alle CPA-Dateien Ihrer INUBIT-Installation eindeutig sein.

Auf der Registerseite CPA-Konfiguration des AS4 Connectors wählen Sie die CPA-Datei und – je nach Connector-Typ – eine oder mehrere der darin enthaltene CPA-IDs mit den Kommunikationsparametern zweier Kommunikationspartner aus.

Wenn Sie mehrere CPAs für einen Listener-Connector auswählen, stellen Sie sicher, dass alle ausgewählten CPAs denselben Alias des privaten Schlüssels (signingKeyAlias) verwenden.

Wenn Sie die Konfiguration einer Partnervereinbarung geändert haben, müssen Sie jeden AS4 Connector, der diese Partnervereinbarung verwendet, nach der Änderung deaktivieren und erneut aktivieren, damit die Änderungen wirksam werden.

Die angegebene CPA-Datei wird automatisch anhand der AS4-Schemadatei validiert. Eine Kopie der AS4-Schemadatei (as4-cpa-repository.xsd) finden Sie im Repository in folgendem Verzeichnis:

/Global/System/Mapping Templates/AS4

Die Sektionen zweier Partner müssen bis auf das Element address identisch sein. Das Element address enthält die Adresse des Partners und hat für einen INUBIT AS4 Connector folgenden Aufbau:

https://<server>:<port>/ibis/as4/{sync|async}

Beispielnachrichten

Beispielnachrichten finden Sie im Repository (as4-cpa-repository.xml) in folgendem Verzeichnis:

/Global/System/Mapping Templates/AS4

Sicherheitseinstellungen über das Partnermanagement

Verwendung

Zum Konfigurieren der CPA-ID, der CPA-Datei, der Keystore-Datei, der Truststore-Datei sowie der zugehörigen Passwörter über das INUBIT Partnermanagement

Voraussetzungen

  • Sie haben einen Workflow erstellt, der einen AS4 Connector innerhalb eines Partnermanagement-Rahmens.

    Beispiel für einen Medium/Output Connector

    module guide 988 0
  • Sie haben den Partnermanagement-Rahmen passend konfiguriert.

  • Sie haben den Workflow mit dem AS4 Connector im Partnermanagement-Rahmen publiziert.

  • Sie haben ein Systemdiagramm mit mindestens einem Kommunikationswolke-Element erstellt.

    module guide 988 1
  • Sie haben im Dialog Partnermanagement-Einstellungen (Kontextmenü Partnermanagement-Einstellungen bearbeiten der Kommunikationswolke) die folgenden Einstellungen vorgenommen:

    • Im Panel Referenzierbare Workflows haben Sie den Partnermanagement-Rahmen, der den AS4 Connector, enthält, als neue Referenz hinzugefügt.

    • Im Abschnitt Partner haben Sie mindestens einen Partner hinzugefügt.

    • Im Abschnitt Referenzierte Workflows haben Sie mindestens den im Panel Referenzierbare Workflows Workflow hinzugefügten mit dem AS4 Connector hinzugefügt.

    Siehe

So gehen Sie vor

  1. Öffnen Sie das Systemdiagramm mit der Kommunikationswolke, die Sie mit dem AS4 Connector verbinden wollen, zum Bearbeiten.

  2. Öffnen Sie den Dialog Partnermanagement-Einstellungen über Kontextmenü Partnermanagement-Einstellungen bearbeiten der Kommunikationswolke.

    → Der folgende Dialog erscheint:

    module guide 989 0
  3. Im Abschnitt Details (AS4) konfigurieren Sie die zum zugehörigen Parameter passenden Sicherheitseinstellungen.

    Um die Details gültig bis, Seriennummer und Betreff anzuzeigen, klicken Sie auf das Icon module guide 989 1 in der Zeile mit dem Dateinamen des Keystore oder des Truststore.

  4. Klicken Sie auf OK, um die Änderungen zu speichern.

  5. Publizieren Sie das Systemdiagramm.

CPA-Element Namespace

Die CPA-Datei enthält den XML-Namespace für den AS4 Connector:

<cpaRepository xmlns="https://www.virtimo.de/inubit/as4">

Abschnitt partnerAgreement

Diese Sektion enthält alle Propertys zum Austausch von Nachrichten mit einem oder mehreren Partnern.

Allgemeine Propertys für die Partnervereinbarung

  • id

    Eindeutige ID zum Identifizieren einer Konfiguration für einen Kommunikationspartner innerhalb einer INUBIT-Installation.

    Wenn zwei unterschiedliche CPAs dieselbe ID definieren, überschreibt die zuletzt zum Gateway publizierte CPA alle zuvor zum Gateway publizierten CPAs, die dieselbe ID benutzen.

  • agreement

    Eindeutige URI, die benutzt wird, um die Kommunikation zwischen zwei Partnern zu konfigurieren

  • mep

    Zum Angeben der URI eines Nachrichtenaustauschschemas:

    http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/oneWay

  • mepBinding

    Zum Angeben der URI der Verbindungsart für das Nachrichtenaustauschschema:

    http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/200704/push

CPA-Unterabschnitt protocol

In diesem Abschnitt konfigurieren Sie die SOAP-Endpunktadresse und – optional – die SOAP-Version des entfernten Systems, d.h. der Receiver-Message-Handler, z.B. für Jentrata:

  • address

    https://<server>:<port>/jentrata/ebms/inbound

    Um Nachrichten zu einem INUBIT AS4 Connector zu senden, muss das Address-Element wie folgt aussehen:

    • Synchroner Modus

      https://<server>:<port>/ibis/as4/sync

    • Asynchroner Modus

      https://<server>:<port>/ibis/as4/async

  • soapVersion

    Optional: SOAP-Version, die auf dem entfernten System läuft.

    Es werden nur SOAP-1.2-kompatible Nachrichten generiert.

CPA-Unterabschnitt Initiator und Responder

Die Sektionen initiator und responder enthalten dieselben Elemente für den Sender und den Empfänger der Nachricht.

  • party

    Eindeutige ID des Senders bzw. Empfängers der Nachricht. Sie muss eine gültige URI sein, wenn das Attribut type nicht gesetzt ist.

    • type

      Das optionale Attribut type klassifiziert die Semantik der benutzten ID, z.B. ein Katalog mit Kundennummern.

      Das Attribut type darf nicht mit ENTSOG benutzt werden.

  • role

    Die Rolle des Senders bzw. des Empfängers, z.B. Buyer oder Seller.

    Unterabschnitt authorization (darf nicht mit ENTSOG benutzt werden)

    Benutzername und Passwort des Senders bzw. Empfängers, um sich beim jeweiligen Partnersystem zu authentifizieren.

  • username

    Name des Senders bzw. Empfängers

  • password

    Passwort des Senders bzw. Empfängers

  • digest

    Gibt an, ob das Passwort Base64-kodiert sein muss oder Klartext sein kann. Mögliche Werte:

    • true

      Das Passwort muss Base64-kodiert sein.

    • false

      Das Passwort kann Klartext sein.

  • created

    Gibt an, ob das WSS UsernameToken-Element ein Zeitstempel-Element Created haben soll. Mögliche Werte:

    • true

      Das WSS UsernameToken-Element sollte ein Zeitstempel-Element Created haben.

    • false

      Das WSS UsernameToken-Element muss kein Zeitstempel-Element Created haben.

CPA-Unterabschnitt businessInfo

Die Elemente service und action enthalten Werte, die spezifizieren, wie Nachrichten behandelt werden sollen, die mit dieser CPA-ID gesendet oder empfangen wurden.

Jede Kombination Service-Action darf systemweit in nur für eine CPA-ID verwendet werden.

  • service

    Eindeutige Service-ID

    Mit der Moduleigenschaft AS4Service können Sie dieses Element über das Variablenmapping setzen. Wenn Sie die Moduleigenschaft AS4Service gesetzt haben, hat dieser Wert Vorrang vor der Einstellung in der CPA-Datei und das AS4-Gateway verwendet diesen Wert. Anderenfalls verwendet das AS4-Gateway den in der CPA-Repository-Datei konfigurierten Wert.

  • action

    Eindeutige Action-ID

    Mit der Moduleigenschaft AS4Action können Sie dieses Element über das Variablenmapping setzen. Wenn Sie die Moduleigenschaft AS4Action gesetzt haben, hat dieser Wert Vorrang vor der Einstellung in der CPA-Datei und das AS4-Gateway verwendet diesen Wert. Anderenfalls verwendet das AS4-Gateway den in der CPA-Repository-Datei konfigurierten Wert.

CPA-Unterabschnitt security

Die Sektion security definiert die Einstellungen sowohl für das Senden von Quittungen als auch für das Signieren und Verschlüsseln der Nachricht.

  • Unterabschnitt sendReceipt, um zu konfigurieren, wie Quittungen behandelt werden sollen

  • Unterabschnitt x509, um zu konfigurieren, wie Nachrichten verschlüsselt und signiert werden sollen

Unterabschnitt sendReceipt

  • replyPattern

    Zum Festlegen, ob die Quittungen asynchron oder synchron über denselben Kommunikationskanal der Nachricht. Mögliche Werte:

    • Response

      Synchrone Antwortquittungen werden gesendet.

    • Callback

      Asynchrone Callback-Quittungen werden gesendet.

  • nonRepudiation

    Zum Angeben, ob signierte Anerkennungsquittungen gesendet werden sollen. Mögliche Werte:

    • true

      Anerkennungsquittungen werden gesendet.

    • false

      Anerkennungsquittungen werden nicht gesendet.

Unterabschnitt x509

Die Sektion security enthält Attribute für das Signieren und Verschlüsseln der Nachricht.

Unterabschnitt encryption

  • certificate

    Zum Identifizieren des Alias des öffentlichen Zertifikats des Kommunikationspartners, das zur Verschlüsselung verwendet werden soll. Das öffentliche Zertifikat muss innerhalb des im AS4 Connector angegebenen Truststore unter dem angegebenen Alias verfügbar sein.

  • algorithm

    URI des Verschlüsselungsalgorithmus, Standard:

    https://www.w3.org/2009/xmlenc11#aes128-gcm

  • keyEncryptionAlgorithm

    Zum optionalen Konfigurieren des Algorithmus für die Verschlüsselungsmethode, wenn Sie die von ENTSOG empfohlenen Einstellungen verwenden möchten.

    Wenn keyEncryptionAlgorithm nicht gesetzt ist, wird https://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p verwendet. ENTSOG-Empfehlung: https://www.w3.org/2009/xmlenc11#rsa-oaep

  • maskGenerationFunction

    Zum optionalen Konfigurieren der Funktion zum Generieren der Maske, wenn Sie die von ENTSOG empfohlenen Einstellungen verwenden möchten.

    Wenn maskGenerationFunction nicht gesetzt ist, wird https://www.w3.org/2009/xmlenc11#mgf1sha1 verwendet.

    ENTSOG-Empfehlung: https://www.w3.org/2009/xmlenc11#mgf1sha256

  • digestGenerationFunction

    Zum optionalen Konfigurieren der Funktion zum Generieren des Digests, wenn Sie die von ENTSOG empfohlenen Einstellungen verwenden möchten.

    Wenn digestGenerationFunction nicht gesetzt ist, wird https://www.w3.org/2000/09/xmldsig#sha1 verwendet.

    ENTSOG-Empfehlung: https://www.w3.org/2001/04/xmlenc#sha256

Unterabschnitt encrypt

  • element

    Zu verschlüsselndes Element

    • namespace

      URL des zum Signieren zu verwendenden Namensraums

    • encryptionModifier

      Mögliche Werte:

      Content: verschlüsselt nur den Inhalt des Elements

      Element (Standard): verschlüsselt den Inhalt des Elements und auch das Element-Tag selbst.

      Wenn das Attribut encryptionModifier nicht gesetzt ist oder auf einen anderen Wert als Element oder Content gesetzt ist, wird folgendeEinstellung verwendet: encryptionModifier="Element"

  • includeAttachments

    Zum Angeben, ob Anhänge auch verschlüsselt werden sollen Mögliche Werte:

    • true

      Anhänge werden verschlüsselt (Standard).

    • false

      Anhänge werden nicht verschlüsselt.

  • useBinarySecurityToken

    Zum Setzen des Authentifizierungsmechanismus mögliche Werte:

  • true

    Die resultierende SOAP-Nachricht nutzt den Authentifizierungsmechanismus BinarySecurityToken.

  • false (Standard)

    Die resultierende SOAP-Nachricht nutzt den standardmäßigen Authentifizierungsmechanismus IssuerSerial.

Unterabschnitt sign

  • element

    Zu signierende Elemente, Standard:

    <element namespace="http://docs.oasis-open.org/ebxml-msg/ebms/v3.0/ns/core/
    200704/">Messaging</element>
    <element namespace="http://www.w3.org/2003/05/soap-envelope">Body</element>
    • namespace

      URL des zum Signieren zu verwendenden Namensraums

    • encryptionModifier Mögliche Werte

      • Content: verschlüsselt nur den Inhalt des Elements

        Wenn Sie ENTSOG nutzen, müssen Sie das Attribut encryptionModifier für das Element Body auf Content setzen.

      • Element (Standard): verschlüsselt den Inhalt des Elements und auch das Element-Tag selbst.

        Wenn das Attribut encryptionModifier nicht gesetzt ist oder auf einen anderen Wert als Element oder Content gesetzt ist, wird folgende Einstellung verwendet: encryptionModifier="Element"

  • includeAttachments

    Zum Angeben, ob Anhänge auch verschlüsselt werden sollen mögliche Werte:

    • true

      Anhänge werden verschlüsselt (Standard).

    • false

      Anhänge werden nicht verschlüsselt.

Unterabschnitt signature

  • signingKeyAlias

    Zum Angeben des Alias des privaten Schlüssels, der zum Signieren der Nachrichten verwendet werden soll. Der privaten Schlüssel muss innerhalb des im AS4 Connector angegebenen Truststore unter dem angegebenen Alias verfügbar sein.

  • hashFunction

    Zum Angeben des Algorithmus zum Berechnen des Digests, der zum Signieren der Nachricht verwendet werden soll, Standard:

    https://www.w3.org/2001/04/xmlenc#sha256

  • algorithm

    Algorithmus zum Berechnen des Wertes der digitalen Signatur, Standard:

    https://www.w3.org/2001/04/xmldsig-more#rsa-sha256

  • requireSignedElements

    Optionaler Abschnitt zum Angeben, welche Elemente einer eingehenden Kundennachricht auf eine gültige Signaturreferenz im Security-Header einer SOAP-Nachricht geprüft werden sollen. Wird keine Referenz gefunden, wird eine Fehlermeldung ausgegeben.

    Um die Signaturprüfung zu deaktivieren, entfernen Sie den Abschnitt requireSignedElements aus der im AS4 Connector verwendeten CPA-Datei.

    • Messaging

      Optionales Element zum Validieren der Signatur der Nachrichten.

    • Body

      Optionales Element zum Validieren der Signatur des Inhalts einer Nachricht.

    • includeAttachments

      Optionales Element, das festlegt, ob auch die Signatur eines Anhangs validiert werden soll.

      • true

        Anhänge werden validiert.

      • false

        Anhänge werden nicht validiert.

  • useBinarySecurityToken

    Zum Setzen des Authentifizierungsmechanismus mögliche Werte:

    • true

      Die resultierende SOAP-Nachricht nutzt den Authentifizierungsmechanismus BinarySecurityToken.

    • false (Standard)

      Die resultierende SOAP-Nachricht nutzt den standardmäßigen Authentifizierungsmechanismus IssuerSerial.

  • signatureValidationCertificate

    Das angegebene Zertifikat muss im für den AS4 Connector verwendeten Truststore verfügbar sein.

    Wenn kein signatureValidationCertificate angegeben wird, wird die Signatur so lange als gültig betrachtet, wie ein Zertifikat im Truststore zum privaten Schlüssel passt, der zum Signieren der Nachricht verwendet wird.

CPA-Unterabschnitt receptionAwareness

In diesem Abschnitt konfigurieren Sie u.a. ob eine Nachricht erneut gesendet werden soll, wenn beim Senden ein Fehler auftrat. Des Weiteren können Sie konfigurieren, ob Nachrichtenduplikate erkannt werden sollen.

  • retry

    Zum Angeben, ob Nachrichten im Fehlerfall erneut gesendet werden. Mögliche Werte:

    • true

      Die Nachricht wird erneut gesendet (Standard).

    • false

      Die Nachricht wird nicht erneut gesendet.

  • Unterabschnitt retryParameters

    Zum Konfigurieren der Wiederholungsparameter.

    • Unterabschnitt entry

      Zum Spezifizieren keines, eines oder mehrerer Wiederholungsparameter.

      • key

        Zum Konfigurieren des Parameternamens.

      • value

        Zum Konfigurieren des Parameterwertes.

    Die folgenden Parameter mit den angegebenen Standardwerten, die verwendet werden, wenn sie nicht gesetzt sind, werden unterstützt:

    • maxretries

      Maximale Anzahl der Wiederholungen, Standard 5.

    • period

      Zeit in Millisekunden zwischen einem aufgetretenen Fehler beim Senden einer Nachricht und dem nächsten Versuch, Standard 30000.

    • sockettimeout

      Timeout für die Socket-Verbindung in Millisekunden, Standard 60000.

    • connectiontimeout

      Timeout für die Verbindung in Millisekunden, Standard 60000.

      Beispiel

      ...
      <as4:retryParameters>
        <as4:entry>
          <as4:key>maxretries</as4:key>
          <as4:value>5</as4:value>
        </as4:entry>
        <as4:entry>
          <as4:key>period</as4:key>
          <as4:value>30000</as4:value>
        </as4:entry>
        <as4:entry>
          <as4:key>sockettimeout</as4:key>
          <as4:value>60000</as4:value>
        </as4:entry>
        <as4:entry>
          <as4:key>connectiontimeout</as4:key>
          <as4:value>60000</as4:value>
        </as4:entry>
      </as4:retryParameters>
      ...
  • duplicateDetection

    Nur für Empfänger: Zum Angeben, ob Nachrichtenduplikate erkannt werden sollen mögliche Werte:

    • true

      Duplikate werden erkannt (Standard).

    • false

      Duplikate werden nicht erkannt.

AS4-Keystore/-Truststore

Die für die gesicherte Kommunikation erforderliche Java-Keystore-Datei müssen Sie in Ihrem Repository-Ordner ablegen und bei der Konfiguration des AS4 Connectors auf der Registerseite auswählen.

Siehe

MessagePropertys als Workflowvariablen verwenden

Verwendung

Um zusätzlich zu den Nutzdaten einer AS4-Nachricht benutzerspezifischer Daten zu übertragen, können Sie dem Header der Nachricht MessageProperties hinzufügen. Dies kann eine Kundennummer oder eine Referenznummer sein. Applikationen oder Workflows können diese Werte nutzen, um Nachrichten effektiv abzufertigen oder zu verknüpfen, ohne die gesamten Nutzdaten analysieren zu müssen.

Wenn eine von Ihrem Kommunikationspartner gesendete Nachricht einen Bereich MessageProperties enthält, setzt der AS4 Connector für jede Property eine Variable.

Wenn Ihr Kommunikationspartner in einer von Ihnen gesendeten Nachricht Propertys in einem Bereich MessageProperties erwartet, können Sie diese mittels des Variablenmappings der Ausgangsnachricht hinzufügen.

MessageProperties aus einer Eingangsnachricht lesen

Verwendung

Zum Setzen von Workflowvariablen aus den MessageProperties der Eingangsnachricht, um diese anschließend zu verarbeiten.

Der AS4 Connector analysiert die Eingangsnachricht. Für jede Property im Bereich MessageProperties der Eingangsnachricht setzt der AS4 Connector automatisch eine Variable.

Der AS4 Connector erwartet folgende beispielhafte XML-Struktur:

<eb:UserMessage>
  ...
  <eb:MessageProperties>
    <eb:Property name="CustomerID">123</eb:Property>
    ...
  </eb:MessageProperties >
  ...
</eb:UserMessage>

Die Variablen werden wie folgt benannt: as4.input.messageproperty.<propertyName>, e.g.: as4.input.messageproperty.CustomerID Die im Workflow nachfolgenden Module können auf diese Variablen zugreifen.

MessageProperties in die Ausgangsnachricht schreiben

Verwendung

Zum Hinzufügen des Wertes einer Workflowvariablen als Property zur Ausgangsnachricht, um die Anforderungen Ihres Kommunikationspartners zu erfüllen.

So gehen Sie vor

  1. Öffnen Sie den Workflow mit dem AS4 Output Connector zum Bearbeiten.

  2. Fügen Sie ggf. vor dem AS4 Connector ein Modul ein und verbinden Sie es mit den AS4 Connector.

  3. Definieren Sie am Modul vor dem AS4 Connector das Variablenmapping wie folgt:

    • Quelle

      Statischer Wert, z.B.: 123

    • Ziel

      Variable: as4.output.messageproperty.<propertyName>, z.B.: as4.output.messageproperty.CustomerID

      module guide 998 0

      → Der nachfolgende AS4 Connector fügt der Ausgangsnachricht folgende Struktur hinzu:

      <eb:UserMessage>
        ...
        <eb:MessageProperties>
          <eb:Property name="CustomerID"> 123</eb:Property>
          ...
        </eb:MessageProperties>
        ...
      </eb:UserMessage>
  4. Publizieren Sie den Workflow, einschließlich der Module.

PartPropertys als Workflowvariablen verwenden

Verwendung

Um das Verarbeiten der Nachrichten zu vereinfachen, können Sie PartProperties nutzen, um den Inhalt der Nutzdaten näher zu beschreiben. Dies kann eine Kundennummer oder eine Referenznummer sein. Applikationen oder Workflows können diese Werte nutzen, um Nachrichten effektiv abzufertigen oder zu verknüpfen, ohne die gesamten Nutzdaten analysieren zu müssen.

  • Wenn ein Kommunikationspartner eine Nachricht sendet, die einen Abschnitt PartProperties enthält, setzt der AS4 Connector eine Variable für jede Property.

  • Wenn der Kommunikationspartner Nachrichten mit spezifischen Propertys erwartet, können Sie diese über das Variablenmapping in die Ausgangsnachricht schreiben.

PartProperties aus einer Eingangsnachricht lesen

Verwendung

Zum Lesen von PartProperties aus einer Eingangsnachricht und zum Setzen von Workflowvariablen, um die PartProperties der Nachricht verarbeiten zu können. Der AS4 Connector analysiert die Eingangsnachricht. Für jede Property im Abschnitt PartProperties setzt der AS4 Connector automatisch eine Variable.

Der AS4 Connector erwartet AS4-Nachrichten mit einer Struktur wie folgt:

<eb:UserMessage>
  <eb:PaylodInfo>
    <eb:PartInfo>
      <eb:PartProperties>
        <eb:Property name="MimeType">application/xml</eb:Property>
        <eb:Property name="CustomerID">123</eb:Property>
      </eb:PartProperties>
    </eb:PartInfo>
  </eb:PaylodInfo>
</eb:UserMessage>

Die Variablen werden wie folgt benannt:` as4.input.partproperty.any_name`, e.g:

as4.input.partproperty.CustomerID

Die im Workflow nachfolgenden Module können auf diese Variablen zugreifen.

PartProperties in die Ausgangsnachricht schreiben

Verwendung

Zum Hinzufügen des Wertes einer Workflowvariablen als Property zur Ausgangsnachricht, um die Anforderungen Ihres Kommunikationspartners zu erfüllen.

Die Standard-PartProperties CompressionType, MimeType und CharacterSet können Sie nur als Moduleigenschaften des AS4 Connectors setzen.

Wenn Sie eine ENTSOG-konforme Nachricht senden, der Parameter action des aufgerufenen Service in der CPA auf https://docs.oasis-open.org/ebxml-msg/as4/200902/action gesetzt ist und die zu sendende Nachricht ein EDIG@S XML-Dokument ist, dann muss der AS4 Connector die PartProperty EDIGASDocumentType setzen, deren Wert zu dem obersten Elementtyp im EDIG@S XML-Dokument passt. Zu diesem Zweck weisen Sie der Moduleigenschaft as4.output.partproperty.EDIGASDocumentType über das Variablenmapping den Wert des obersten Elementtyps zu.

So gehen Sie vor

  1. Öffnen Sie den Workflow mit dem AS4 Output Connector zum Bearbeiten.

  2. Hat der AS4 Connector kein Vorgängermodul, fügen Sie z.B. ein Assign-Modul ein, und verbinden Sie es mit den AS4 Connector.

  3. Definieren Sie am Modul vor dem AS4 Connector das Variablenmapping wie folgt:

    • Quelle

      Statischer Wert, z.B.: 123

    • Ziel

      Variable: as4.output.partproperty.<propertyName>, z.B.: as4.output.partproperty.CustomerID

      module guide 1000 0

      → Der nachfolgende AS4 Connector fügt der Ausgangsnachricht folgende Struktur hinzu:

      <eb:UserMessage>
        <eb:PaylodInfo>
          <eb:PartInfo>
            <eb:PartProperties>
              <eb:Property name="CustomerID">123</eb:Property>
            </eb:PartProperties>
          </eb:PartInfo>
        </eb:PaylodInfo>
      </eb:UserMessage>
  4. Publizieren Sie den Workflow, einschließlich der Module.

Partnervereinbarung dynamisch ermitteln

Verwendung

Nur für einen Output Connector: Zum Auswählen einer Partnervereinbarung abhängig vom Kommunikationspartner, an den die Nachricht gesendet werden soll

Voraussetzung

  • Sie haben eine CPA-Datei erstellt, die mehrere Partnervereinbarungen enthält.

  • Sie haben die CPA-Datei im INUBIT-Repository gespeichert, und sie ist vom AS4 Connector aus erreichbar.

  • Ein Modul vor dem AS4 Connector stellt den Partnernamen, seine CPA-ID und den Namen der CPA-Datei, in der die Partnervereinbarung gespeichert ist, zur Verfügung.

  • Sie haben eine Workflow-Eingabevariable erstellt, die die dynamisch in Abhängigkeit vom Empfänger ermittelte CPA-ID enthält.

  • Sie haben eine Workflow-Eingabevariable erstellt, die den Pfad zur CPA-Datei mit der Partnervereinbarung des gewünschten Partners enthält.

So gehen Sie vor

  1. Öffnen Sie im Designer den Workflow mit dem AS4 Connector zum Bearbeiten.

  2. Öffnen das Variablenmapping des AS4 Connectors zum Bearbeiten.

  3. Erstellen Sie ein Variablenmapping für die Moduleigenschaften cpaId und AS4CPAFilePath:

    1. Um die Moduleigenschaft cpaId zu setzen, erstellen Sie ein Variablenmapping, das die Workflow-Eingabevariable mit der CPA-ID der Moduleigenschaft cpaId zuweist.

    2. Um die Moduleigenschaft AS4CPAFilePath zu setzen, erstellen Sie ein Variablenmapping, das die Workflow- Eingabevariable mit dem Pfad zur CPA-Datei der Moduleigenschaft AS4CPAFilePath zuweist.

    3. Klicken Sie auf OK, um die Änderungen zu speichern.

      → Das Variablenmapping ist dem AS4 Connector zugewiesen.

  4. Publizieren Sie den Workflow.

Zeitstempel von eingehenden Nachrichten erhalten

Verwendung

  • Zum Bereitstellen des Zeitstempels für den Eingang einer Nachricht als Workflowvariable as4.message.receive.timestamp

  • Zum Analysieren des Zeitstempels für den Eingang einer Nachricht, um zu entscheiden, wie die Nachricht von den nachfolgenden Modulen im Workflow bearbeitet werden soll

Voraussetzungen

  • Sie haben einen Workflow mit einem AS4 Input Connector zum Empfangen von Nachrichten erstellt.

  • Der Workflow wurde zum Empfangen einer Eingangsnachricht gestartet.

    → In der Ergebnisdatei wird das Eingangsdatum in der Variablen as4.message.receive.timestamp angezeigt, wenn

    Sie auf das Watchpoint-Icon module guide 1001 0 neben dem AS4 Connector klicken.

    module guide 1001 1

AS4 Connector Dialogbeschreibung

Dialog AS4-Konfiguration

AS4 Output/Medium Connector

CPA-Auswahl

  • Datei

    Zur Auswahl der Datei mit den Collaboration Protocol Agreements (CPAs) mit den Kommunikationsparametern eines oder mehrerer Kommunikationspartner.

  • CPA-ID

    Um das Collaboration Protocol Agreement (CPA) für ein Partnersystem auszuwählen, benutzen Sie eine in der ausgewählten Datei gespeicherte CPA-ID.

  • CPA-Liste aktualisieren

    Klicken Sie auf diesen Button, um die in der angegebenen Repositorydatei enthaltenen CPA-IDs neu einzulesen.

AS4-Nachrichtenformat

  • MIME-Typ

    Wählen Sie den MIME-Typ der zu transferierenden Daten aus dem Pulldown-Menü oder geben Sie einen anderen ein. Sie können Daten z.B. in verschiedenen EDI-Formaten, im XML-, GZIP- und im Octet-Stream-Format transferieren.

  • Zeichensatzkodierung

    Wählen Sie die Zeichensatzkodierung der zu transferierenden Daten aus dem Pulldown-Menü oder geben Sie einen anderen ein. Sie können z.B. Daten in UTF-8, UTF-16 oder ISO_8859_1 transferieren.

  • Kompressionstyp

    Wählen Sie den Kompressionstyp der zu transferierenden Daten aus dem Pulldown-Menü. Sie können Daten in GZIP transferieren oder keinen Kompressionstyp wählen.

Diese Nachrichtenformate müssen vom Empfänger unterstützt werden.

AS4 Input Connector

Verwendung

Sie können den AS4 Input Connector nutzen, um sowohl die von Ihrem Partner gesendeten AS4-Nachrichten als auch asynchrone Quittungen zu empfangen.

CPA-Auswahl

  • Datei

    Zur Auswahl der Datei mit den Collaboration Protocol Agreements (CPAs) mit den Kommunikationsparametern zweier Kommunikationspartner.

  • CPA-ID-Auswahl

    Um das Collaboration Protocol Agreement (CPA) für ein Partnersystem auszuwählen, aktivieren Sie die Checkbox neben der CPA ID mit der Service-Action-Kombination, die zu ihren Anforderungen passt. Die CPAs müssen in einer XML-Datei im Repository-Ordner des Benutzers konfiguriert werden.

  • Liste der CPAs aktualisieren

    Klicken Sie auf diesen Button, um die in der angegebenen Repositorydatei enthaltenen CPA-IDs neu einzulesen.

AS4 Callback Listener Connector

Dieser Connector wird genauso konfiguriert wie der AS4 Input Connector, muss jedoch auf dem sendenden System angelegt werden, um die asynchrone Antwortquittung zu empfangen.

Dialog AS4-Sicherheitseinstellungen

Truststore

  • Datei

    Zur Auswahl der zur CPA-ID passenden Truststore-Datei aus dem Repository

  • Truststore-Passwort

    Passwort der Truststore-Datei

  • Gültig bis

    Truststore ist bis zum angezeigten Datum gültig.

  • Seriennummer

    Seriennummer des Truststore wird angezeigt.

  • Betreff

    Der Betreff (CN-Tag) des Truststore wird angezeigt.

Um die Zertifikatsdetails zu ermitteln, wird der Alias für den Truststore wird aus dem Element certificate der ausgewählten CPA-Datei verwendet.

Keystore

  • Datei

    Zur Auswahl der zur CPA-ID passenden Keystore-Datei aus dem Repository

  • Keystore Passwort

    Passwort der Keystore-Datei

  • Alias für den privaten Schlüssel

    Alias des privaten Schlüssels, der als signingKeyAlias in der ausgewählten CPA-Datei definiert ist. Dieser Alias wird verwendet, um die Zertifikatsdetails zu ermitteln.

  • Passwort für den privaten Schlüssel

    Passwort des privaten Schlüssels

  • Gültig bis

    Keystore ist bis zum angezeigten Datum gültig.

  • Seriennummer

    Seriennummer des Keystore wird angezeigt.

  • Betreff

    Der Betreff (CN-Tag) des Keystore wird angezeigt.

SSL-Konfiguration