Dateien mit dem SmbNtlmFileWriterService auf Windows Freigaben ablegen

Kurzbeschreibung

Der SmbNtlmFileWriterService erlaubt es Dateien auf Common Internet File System (CIFS) Resourcen abzulegen. Für diesen Zugriff nutzt es die JCIFS Bibliothek. Der SmbNtlmFileWriterService verarbeitet eingehende Nachrichten und extrahiert aus ihnen entweder die CONTRL Nachricht, die im Nachrichtenkontext unter dem Schlüssel B3P_CONTRL_MESSAGE oder, falls keine CONTRL Nachricht von elf Zeichen Länge oder mehr unter diesem Schlüssel definiert ist, den Nachrichteninhalt, der unter dem Schlüssel CURRENT_PAYLOAD abgelegt ist.

Für CONTRL Nachrichten und andere Nachrichten wird ein unterschiedliches, nicht konfigurierbares Namensschema verwendet:

  • Namensschema CONTRL
    CONTRL_<UUID>.edi
    z. B. ‘CONTRL_a2cb2180-8411-11e5-91ef-0050568214c8.edi’
  • Namensschema andere Nachrichten (B3P_FILE_NAME gesetzt)
    <in B3P_FILE_NAME konfigurierter Dateiname>
  • Namensschema andere Nachrichten (B3P_FILE_NAME nicht gesetzt)

    <Nachrichtentyp>_<Nachrichtenversion>_<UUID>.<Ausgabeformat>
    z. B. ‘UTILMD_9.9z_a2cb2180-8411-11e5-91ef-0050568214c8.idoc’

Einrichtung

Die SmbNtlmFileWriterService wird als Service eingerichtet. Dabei müssen die folgenden Einstellungen am Service vorgenommen werden:

  • Klasse
    org.b2bbp.services.outbound.file.SmbNtlmFileWriterService
  • Typ
    FILE
  • Status
    STP

Action Eigenschaften (Erforderlich)

Hier genannte Eigenschaften müssen konfiguriert werden.

folder Zeichenkette der Länge 0..1000 Gibt Servernamen und Windows-Freigabe, sowie mögliche Unterverzeichnisse an, auf die geschrieben werden soll. Der enthaltene Wert muss dem Muster <Servername oder IP>/<Name der Freigabe>/<Unterverzeichnisse> gehorchen. Pfadtrennzeichen ist '/'. (Beispiel: 'myserver.com/SHARED_FOLDER/sub/path/to/use'). Ist diese Eigenschaft leer gelassen, muss sie im Nachrichtenkontext der zu verarbeitenden Nachrichten immer gesetzt sein.
Ist die Eigenschaft im Nachrichtenkontext enthalten, so überschreibt der Nachrichtenkontext den im Service angegebenen Wert. Velocity Template-Ausdrücke sind erlaubt.

Service Eigenschaften (Optional)

Hier aufgeführte Eigenschaften werden automatisch beim ersten Ausführen des Services mit den Standardeinstellungen initialisiert, falls sie nicht vom Benutzer gesetzt wurden.

Name der Eigenschaft erlaubte Werte Beschreibung
B3P_NTLM_DOMAIN Zeichenkette der Länge 0..1000 (default: '?') In dieser Einstellung wird dem Service die Windows-Domäne angegeben, unter der sich der Service authentifizieren soll.
B3P_NTLM_USER Zeichenkette der Länge 0..1000 (default: 'GUEST') In dieser Einstellung wird dem Service der Benutzername angegeben, mit dem sich der Service authentifizieren soll.
B3P_NTLM_PWD Zeichenkette der Länge 0..1000 (default: leeres Passwort) In dieser Einstellung wird dem Service das Passwort als Klartext angegeben, mit dem sich der Service authentifizieren soll.
B3P_MAX_ATTEMPTS Anzahl der Schreibversuche als positive Ganzzahl (default: '4') Falls ein Schreibversuch verschlägt, kann mit dieser Eigenschaften angegeben werden, wie viele Schreibversuche insgesamt unternommen werden sollen. Der erste Schreibversuch wird immer unternommen. Ein Wert von 1 oder kleiner wird daher immer als 1 interpretiert. Soll nach dem initialen Schreibversuch genau ein weiterer Schreibversuch unternommen werden, müsste hier '2' angegeben werden.
B3P_RETRY_DELAY Durch Semikolons getrennte Liste von Ganzzahlen (default: '10;60;300') Falls ein Schreibversuch verschlägt, gibt diese Eigenschaft die Wartezeit zwischen zwei Schreibversuchen in Sekunden an. Gibt man mehrere Zahlen in dieser Eigenschaft an, so wird nach dem ersten Schreibversuch die erste Wartezeit verwendet, nach dem zweiten Schreibversuch die zweite Wartezeit usw.. Ist eine Wartezeit mit 0 oder kleiner angegeben so wird dennoch immer mindestens eine Sekunde gewartet. Ist nur eine Wartezeit angegeben, so wird diese zwischen allen Schreibversuchen verwendet.
B3P_FILE_NAME Zeichenkette der Länge 0..1000 Diese Eigenschaft enthält den Dateinamen, der zum schreiben einer Nicht-CONTRL-Nachricht verwendet wird. Ist die Eigenschaft leer, so wird automatisch ein Dateiname vergeben (siehe oben).
Ist die Eigenschaft im Nachrichtenkontext enthalten, so überschreibt der Nachrichtenkontext den im Service angegebenen Wert. Velocity Template-Ausdrücke sind erlaubt.
B3P_ENCODING Eine der Java-Umgebung bekannte Kodierung, z.B. 'UTF-8' oder 'ISO-8859-1' (default: leere Zeichenkette) Die Eigenschaft gibt die Kodierung an, mit der Text in Dateien geschrieben werden soll. Ist keine Kodierung oder eine leere Zeichenkette angegeben, so wird die Systemkodierung aus der globalen Java-Variable file.encoding genutzt.
View Me   Edit Me