Service zum Verschicken von AS4-Nachrichten

Aufgrund des Beschlusses mit Az.: BK6-21-282 werden diese Systeme geprüft. Für weitere Fragen kontaktieren Sie uns gerne energy.experts@arvato-systems.de

Übersicht

Mit Hilfe des AS4SenderService können AS4-Nachrichten verschickt werden. Der Inhalt der Nachricht wird aus dem MessageContext geladen. Der Service ist durch eine B2B-Action aufzurufen.

Konfiguration

Beim Anlegen des Service sind folgende Werte zu setzen:

classname = org.b2bbp.eai.outbound.AS4SenderService
type = AS4
startup = false
channelId = (leer)
direction = Outbound

Der Service basiert auf dem WebServiceSenderService. Dieser verschickt SOAP-Nachrichten. Eine AS4-Nachricht ist eine spezielle SOAP-Nachricht.

Der AS4SenderService ist analog zum WebServiceSenderService zu konfigurieren, wobei einige Properties automatisch gesetzt werden.

Quickstart

Um den Service zu nutzen, genügt es allein die Property OUTBOUND_URL zu konfigurieren. Ein Beispielwert ist http://localhost:8080/b2bbp-engine/ws/as4.

Automatisch gesetzte Properties

OUTBOUND_SOAP_VERSION

Die Soap-Version wird für AS4 automatisch auf SOAP12 gesetzt.

OUTBOUND_SEND_PAYLOAD_AS_ATTACHMENT

Die Property ist automatisch true, da eine AS4-Nachricht den Inhalt im Anhang verschickt.

OUTBOUND_SEND_COMPRESSED

Die Property ist automatisch true, da eine AS4-Nachricht den Inhalt zipped.

CURRENT_EAI_PAYLOAD

Diese Property wird automatisch auf den empfohlenen Standard gesetzt: CURRENT_PAYLOAD.

unbenutzte Properties

Einige Properties des WebServiceSenderService werden nicht genutzt und müssen nicht konfiguriert werden. Hierzu zählen OUTBOUND_PORT_NAME, OUTBOUND_SERVICE_NAME & OUTBOUND_NAMESPACE.

Verschlüsselung & Signatur

AS4 Nachrichten werden per Default automatisch mit Hilfe des FSS verschlüsselt und signiert. Mit der ServiceProperty SECURITY_PROCEDURE können Signatur & Verschlüsselung explizit deaktiviert werden. Falls der Wert das Schlüsselwort SIGN enthält, wird signiert, sonst nicht. Falls der Wert das Schlüsselwort ENCRYPT enthält, wird verschlüsselt, sonst nicht. Falls die Property nicht gesetzt ist, wird als Default SIGN ENCRYPT genommen.

Zur Verschlüsselung wird das Zertifikat des Partners (Empfänger) genutzt. Der Partner wird anhand seiner ILN identifiziert. Im Security Server muss das Zertifikat mit ILN als Alias hinterlegt sein. Dieses Verhalten kann mit der ServiceProperty ENCRYPTION_ALIAS überschrieben werden, dann wird der hier hinterlegte Alias zur Zertifikatssuche genutzt.

Zur Signatur wird der private Schlüssel des Systems (Sender) genutzt. Das System wird anhand seiner ILN identifiziert. Im Security Server muss der Schlüssel mit ILN als Alias hinterlegt sein. Dieses Verhalten kann mit der ServiceProperty SIGNATURE_ALIAS überschrieben werden, dann wird der hier hinterlegte Alias zur Schlüsselsuche genutzt.

Standard Customizing

OUTBOUND_URL

Die URL ist vom Empfänger abhängig. Entsprechend bietet es sich an, diese aus einer Extension zu lesen:

Property OUTBOUND_URL=${elp(AS4_ADDRESSES,${template(URL_&(this.FORMAT.partnerCode))},true)}

Die zugehörige Extension AS4_ADDRESSES hat dann folgenden Aufbau:

URL_9900051000002=http://localhost:8080/b2bbp-engine/ws/as4
URL_9904226000003=http://localhost:8090/b2bbp-engine/ws/as4

Verschlüsselung & Signatur

Im Standard wird gemäß BDEW automatisch signiert & verschlüsselt.

Im Standard werden die Zertifikate automatisch anhand des Senders und Empfängers zugeordnet. Deshalb sollten in einer Standard-Konfiguration die Properties ENCRYPTION_ALIAS & SIGNATURE_ALIAS nicht gesetzt werden.

View Me   Edit Me