Archivierung
Der Datastore-DMS-Adapter archiviert die vom ArchiveJob ausgewählten Nachrichtenattribute über die HTTP-API des Datastore-DMS. Für jedes konfigurierte Nachrichtenattribut wird ein eigenes Dokument im DMS angelegt. Der lesende Zugriff auf archivierte Dokumente ist aktuell nicht implementiert.
Die zu archivierenden Attribute werden über die allgemeinen Properties des ArchiveJobs, insbesondere B3P_ARCHIVE_MSGS, ausgewählt. Der Adapter sendet jedes vorhandene Attribut in einem eigenen Multipart-Request an das Datastore-DMS. Der Dokumentinhalt wird unabhängig vom Attribut als text/plain übertragen. Als Dateiname wird die Attribut-ID mit der Endung .txt verwendet; fehlt die Attribut-ID, lautet der Dateiname document.txt.
Das Datastore-DMS muss den Request mit HTTP-Status 201 Created beantworten. Die Antwort muss mindestens eine nichtleere id und einen nichtleeren areaName enthalten. Der ArchiveJob bildet daraus die Archive-ID:
<areaName>:<id><Datei-Suffix>
Da weder die Indizierung noch der lesende Zugriff für den Datastore-DMS-Adapter verwendet werden, werden die generierten Archive-IDs aktuell nicht weiter benutzt.
Einrichtung
Der ArchiveJob wird wie in der allgemeinen Dokumentation beschrieben als Scheduler-Service eingerichtet.
Service-Properties
| Eigenschaft | Pflicht | Beschreibung |
|---|---|---|
B3P_ARCHIVE_TYPE |
Ja | Archiv-Adapter-Klasse, beispielsweise com.nextlevel.b2bbp.datastoredms.ArchiveDatastoreDMS. |
B3P_INDEX_TYPE |
Nein | Nicht konfigurieren. Indizierung ist für diesen Job aktuell nicht vorgesehen, weil die lesende Richtung nicht implementiert ist. |
DATASTORE_DMS_BASE_URL |
Ja | Basis-URL der Datastore-DMS-API, beispielsweise https://dms.example.org/api. |
DATASTORE_DMS_DOC_AREA |
Ja | Dokumentenbereich im Datastore-DMS. |
DATASTORE_DMS_TARGET_FOLDER |
Ja | Zielordner im Dokumentenbereich. |
DATASTORE_DMS_USER |
Ja | Benutzername für die HTTP-Basic-Authentifizierung. |
DATASTORE_DMS_PASSWORD |
Ja | Mit dem B2B-Encrypt-Tool verschlüsseltes Passwort. |
TIMEOUT_IN_MILLISECONDS |
Nein | Gemeinsamer Connect- und Read-Timeout in Millisekunden. Der Standardwert ist 60000. Zulässig sind nichtnegative Ganzzahlen bis 2147483647. |
Aus den Angaben wird die Ziel-URL nach folgendem Schema gebildet:
<DATASTORE_DMS_BASE_URL>/<DATASTORE_DMS_DOC_AREA>/<DATASTORE_DMS_TARGET_FOLDER>/archive?indexed=false
Dokumentenbereich und Zielordner werden als URL-Pfadsegmente codiert.
Konfigurationsbeispiel
B3P_ARCHIVE_TYPE=com.nextlevel.b2bbp.datastoredms.ArchiveDatastoreDMS
# B3P_INDEX_TYPE nicht konfigurieren
DATASTORE_DMS_BASE_URL=https://dms.example.org/api
DATASTORE_DMS_DOC_AREA=B2B
DATASTORE_DMS_TARGET_FOLDER=Nachrichten
DATASTORE_DMS_USER=b2b-archive
DATASTORE_DMS_PASSWORD=<b2b-verschluesseltes Passwort>
TIMEOUT_IN_MILLISECONDS=60000
Fehlt eine Pflichtproperty, ist sie leer, kann das Passwort nicht entschlüsselt werden oder ist der Timeout ungültig, schlägt die Initialisierung fehl und der ArchiveJob wird nicht gestartet.
Clearing-History
Der Adapter unterstützt die Archivierung der Clearing-History. Sie wird über die allgemeine Global Property aktiviert:
B3P_DO_ARCHIVE_CLEARING=true
Die Clearing-History wird als separates DMS-Dokument mit dem Dateinamen clearing-history.txt gespeichert.
Fehlerverhalten
| Situation | Verhalten des ArchiveJobs |
|---|---|
HTTP 404, 406 oder 412 |
Der gesamte Joblauf wird abgebrochen, da von einem Konfigurations- oder API-Vertragsfehler ausgegangen wird. |
HTTP 201 mit leerer oder nicht auswertbarer Antwort beziehungsweise ohne id oder areaName |
Der gesamte Joblauf wird wegen einer ungültigen API-Antwort abgebrochen. |
Andere HTTP-Statuscodes, einschließlich anderer 2xx-Antworten, 500, 503 und 504 |
Die Nachricht erhält den Archivfehlerstatus ARF; der Job verarbeitet weitere Nachrichten. |
| Verbindungsfehler, Connect-Timeout oder Read-Timeout | Die Nachricht erhält den Archivfehlerstatus ARF; der Job verarbeitet weitere Nachrichten. |