Übersicht
Die Anbindung der Service Archivierung an das ImageMaster-Archiv wird durch den imagemaster-archive-adapter Microservice realisiert.
Die Archivierung bei diesem Archiv erfolgt ohne Archivindex. Somit sind die Suche und die Anzeige der archivierten Nachrichten nicht über die B2B-Oberfläche möglich.
Imagemaster-Archive-Adapter
Der Microservice konsumiert die Nachrichten aus der Persistence Queue, konvertiert sie in das Zielformat und sendet sie an den REST-Endpunkt des ImageMaster.

Die Konfiguration des Microservices erfolgt über Umgebungsvariablen.
Releases
Der Service wird in den folgenden Versionen als Docker Container unter docker-nob-erp.next-level-apps.com/b2b-aaas-imagemaster-archive-adapter bereitgestellt.
2026-01-16
| Ticket | Beschreibung |
|---|---|
| BTOB-13844 | Korrektur der Implementierung, da die bisherige Implementierung nicht die Konfiguration der Dateiendungen per Umgebungsvariable erlaubte. Zudem wurden einige Attributnamen korrigiert und ein Default geändert. |
2026-01-07
| Ticket | Beschreibung |
|---|---|
| BTOB-13844 | In der Zielstruktur für den ImageMaster werden nun die Dateiendungen der Anhänge gesetzt. Die Defaults können dabei per Konfiguration überschrieben werden. Das bisherige Konfigurationsformat wurde dabei etwas umstrukturiert. |
2025-12-19
Dieses Release sollte zusammen mit dem FSS-Release 2025-12-19 verwendet werden.
| Ticket | Beschreibung |
|---|---|
| BTOB-13764 | Anpassung an die Korrektur der OpenAPI-Spezifikation des FSS, behebt einen Fehler beim Abruf der zu archivierenden Zertifikate |
2025-12-17
| Ticket | Beschreibung |
|---|---|
| BTOB-13764 | Erweiterung der Archivierung um zusätzliche Attribute für ImageMaster, Bestimmung des documentType anhand der zu archivierenden Nachricht |
2025-11-28
Hinweis: mit diesem Release wurde der default Queue-Type für die Consumer-Queue von default auf quorum geändert.
| Ticket | Beschreibung |
|---|---|
| BTOB-13670 | Erweiterung um Archivierung von Zertifikaten aus dem FSS |
2025-10-30
| Ticket | Beschreibung |
|---|---|
| BTOB-13471 | Initiale Entwicklung |
Konfiguration
Für die Minimalkonfiguration müssen folgende Konfigurationsparameter gesetzt sein:
# Imagemaster Archive configuration
imagemaster:
baseUrl: <ImageMaster API base URL>
tenant: <tenant name>
user: <username>
password: <password>
spring:
# RabbitMQ configuration
rabbitmq:
host: ${RABBITMQ_HOST}
port: ${RABBITMQ_PORT}
username: ${RABBITMQ_USER}
password: ${RABBITMQ_PASSWORD}
# Security configuration for accessing FSS via keycloak
security:
oauth2:
client:
registration:
keycloak:
authorization-grant-type: "client_credentials"
scope: "openid"
client-id: <clientId>
client-secret: <clientSecret>
provider:
keycloak:
issuer-uri: <keycloak token URI>
# Security server (FSS) configuration
securityServer:
baseUrl: <FSS API base URL>
cronSchedule: <Cron String>
Für die Konfiguration der Placeholder siehe Installation.
Weitere optionale Konfigurationen erlauben die Anpassung der Attributnamen für das Zielsystem, die Anpassung der Consumer- und Producer-Queues und ggf. weitere spezifische Konnektivität-Settings wie Connection-Timeouts. Die Spring-Konfigurationen sollten dabei nur mit größter Sorgfals geändert werden, da dies die Verarbeitung eingehender Nachrichten stören kann.
Mögliche Konfigurationsparameter und ihre default-Werte sind wie folgt:
imagemaster:
mapping:
messageAttributes:
messageId: messageId
referenceId: referenceId
direction: direction
started: started
finished: finished
formatIn: formatIn
formatOut: formatOut
vdewType: vdewType
vdewVersion: vdewVersion
state: state
acknowledgement: acknowledgment
partner: partner
sender: sender
alternativeId: alternativeId
channelId: channelId
clearingCode: clearingCode
certificateAttributes:
id: id
serialNumber: serialNumber
hashId: hashId
subjectDN: subjectDN
subjectAlternativeName: subjectAlternativeName
issuerDN: issuerDN
signatureAlgorithm: signatureAlgorithm
signature: signature
ski: ski
aki: aki
validFrom: validFrom
validTo: validTo
rsaKeyLength: rsaKeyLength
usageSignature: usageSignature
usageEncryption: usageEncryption
usageCertificateSigning: usageCertificateSigning
crlUris: crlUris
createTime: createTime
sha1Fingerprint: sha1Fingerprint
md5Fingerprint: md5Fingerprint
alias: alias
clientName: clientName
content:
fileExtensions:
AS4_MESSAGE: "bin"
AS4_MESSAGE_META: "txt"
AS4_RECEIPT: "xml"
AS4_RECEIPT_META: "txt"
API_REQUEST: "json"
API_REQUEST_META: "txt"
B3P_BASE_MESSAGE: "edi"
CERTIFICATE: "pem"
connectTimeoutSeconds: 10
readTimeoutSeconds: 5
spring:
cloud:
function:
definition: consumePersistenceQueueArchiveMessage
stream:
bindings:
consumePersistenceQueueArchiveMessage-in-0:
destination: b2b.archiving.persistence_queue
group: default
consumer:
maxAttempts: 1
concurrency: 20
produceSuccessMessage-out-0:
destination: b2b.archiving.success_queue
group: default
produceErrorMessage-out-0:
destination: b2b.archiving.error_queue
group: default
rabbit:
bindings:
consumePersistenceQueueArchiveMessage-in-0:
consumer:
requeueRejected: true
republishToDlq: false
quorum:
enabled: true
produceSuccessMessage-out-0:
producer:
exchange-type: topic
quorum:
enabled: true
produceErrorMessage-out-0:
producer:
exchange-type: topic
quorum:
enabled: true