Outbox

B2B Outbox

Das B2B Outbox Feature ermöglicht es, Dateien aus dem B2B-Channel-Workflow heraus per Message-Broker (AMQP) zu verschicken.

Das Feature besteht dabei aus zwei Komponenten, die zusammen konfiguriert werden müssen: der OutboxAction (Action eines B2B-Channels) und dem Outbox-Relay (Komponente innerhalb des B2B-Message-Service). Die Action wird im B2B-Channel ausgeführt, das Relay verschickt die Nachricht an den Message-Broker. Beide Komponenten kommunizieren über eine SQL-Tabelle miteinander.

b2b_pf_outbox.png

Tip für den Support: Outbox Architektur

B2B-Monolith: Outbox Action

Vorbedingung: Die Datenbanktabelle B2BBP_OUTBOX wurde angelegt (für den Support: Postgres)

Action class: org.b2bbp.runtime.actions.internal.OutboxAction

Mit dieser B2B-Action soll bei der Verarbeitung einer Nachricht mit Dokumentanhang ein Eintrag in der Tabelle B2BBP_OUTBOX für die Outbox-Relay-Komponente erstellt werden.

Die Aktion kann über die Admin-UI an einen B2B-Channel gebunden werden. Das Folgende ist die Aktionskonfiguration:

OutboxAction-AdminUI

Action Eigenschaften

Action Property Expression Default Value Beschreibung
PAYLOAD_ATTRIBUTE ${template(EXCHANGE_AS4_OUTBOUND_PAYLOAD)} EXCHANGE_AS4_OUTBOUND_PAYLOAD Key des Attributes, welches per Message-Broker verschickt werden soll.
HEADERS ${template()}{“direction”: “outbound”, “routingKey”: “https://www.bdew.de/as4/communication/services/FP”}   Optional kann dieser Header dem Message-Broker mitgegeben werden.
HEADERS ${template()}{“direction”: “outbound”, “routingKey”: “https://www.bdew.de/as4/communication/services/FP”, “tenant”: “${template(&(this.FORMAT.senderCode))}”}   mit tenant Header Informationen.
B2B_OUTBOX_PRIORITY 5 0 Priorität der Nachricht. Eine Nachricht mit höherer Priorität kann andere Nachrichten überholen. B2B_OUTBOX_PRIORITY kann ein beliebiger konstanter Wert zwischen 1 und 10 sein.
DELETE_PAYLOAD_AFTER_PROCESSING ${template(false)} false Soll das Payload-Attribut nach dem Versand gelöscht werden?

Beachten Sie, dass die meisten Attribute zwingend über dynamische Ausdrücke konfiguriert werden müssen, selbst wenn es sich um konstante Werte handelt. Ansonsten wird die Eigenschaft unter Umständen nicht persistiert, was eine weitere Outbox-Verarbeitung unmöglich macht.

B2B-Message-Service: Outbox Relay

Outbox Relay

View Me   Edit Me