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.