Hintergrund

Fehler während der Erstverarbeitung können dazu führen, dass AS4-Nachrichten nicht erfolgreich verarbeitet werden. Dies wiederum kann dazu führen, dass AS4-Marktnachrichten nicht an B2B weitergeleitet werden und Patchswitch-Vorgänge nicht erfolgreich abgeschlossen werden können.

Konfiguration

Der verwendete OAuth2-Token muss Zugriff auf alle Mandanten haben.

Im B2B-Message-Service können verspätete Nachrichten im B2B-Nachrichten-Monitor durch eine neue Eigenschaft gekennzeichnet werden.

Starten des Redelivery-Vorgangs

Um Nachrichten erneut zu verarbeiten, werden AS4-Nachrichten mithilfe eines Filters aus der Datenbank des AS4-Message-Services abgerufen und dann erneut an die entsprechenden Services übermittelt. Ein neuer Endpunkt des AS4-Message-Service, ‘/as4-message/redelivery’, akzeptiert nun Anfragen mit folgender Struktur:

{
  "start": "2024-03-01T00:00:00+01:00",
  "end": "2024-03-02T00:00:00+01:00",
  "tenants": "tenant1, tenant2",
  "service": "https://www.bdew.de/as4/communication/services/MP",
  "direction": "inbound"
}

Das Zeitintervall wird durch start und end verpflichtend definiert und kann durch weitere Filter verfeinert werden, um die passenden Nachrichten zu finden. Das bedeutet, nur start und end müssen angegeben werden; der Rest könnte entfernt werden. Beachten Sie hierbei die Zeitzone, die im Zeitstempel angegeben wird (Ortszeit für Berlin ist UTC+1 während der Sommerzeit gilt UTC+2).

Der Endpunkt ist über die Swagger-UI erreichbar oder kann mithilfe von Curl oder einem Shell-Script aufgerufen werden. Das Shell-Script befindet sich im Anhang dieser Dokumentation.

Falls Nachrichten bereits erfolgreich verarbeitet wurden und erneut an das System übergeben werden, kann der AS4-Address-Service bereits erfolgreiche Pathswitches erkennen und ignoriert diese.

Der B2B-Message-Service erkennt ebenfalls, wenn eine Nachricht bereits erfolgreich verarbeitet wurde, und entfernt Duplikate. Es kann spezifiziert werden, das Nachrichten als verspätet gekennzeichnet werden sollen. Mehr Infos gibt es in der folgenden Dokumentation: B2B-Message-Service-Redelivery

Auswertung

Nachrichten, die durch das Redelivery nachverarbeitet worden sind, treffen zu spät ein. Ab wann eine Nachricht als verspätet gilt, kann im B2B-Message-Service konfiguriert werden.

Nur bei verspäteten Nachrichten wird das Attribut delayed geschrieben. Anhand dieses Attributes können die Nachrichten leicht identifiziert werden. Je nach Konfiguration können diese Nachrichten auch in einen separaten Channel geroutet werden.

Anhang

Redelivery Shell Script

View Me   Edit Me