Übersicht
Diese Seite beschreibt die erweiterbare Konfiguration für den Download gezippter Edis.
Konfiguration vorhanden
Es kann eine Konfiguration (Extension) pro User durchgeführt werden und eine allgemeine Konfiguration hinterlegt werden.
Dabei wird folgende Namenskonvention erwartet:
ZIPPED_DOWNLOAD_CONFIG_<Username>
oder
ZIPPED_DOWNLOAD_CONFIG für die allgemeine Konfiguration.
Keine Konfiguration vorhanden
Hat ein User keine eigene Konfiguration wird die allgemeine genommen. Ist auch diese nicht vorhanden wird das alte Format benutzt.
Die Konfiguration wird als Extension hochgeladen mit folgendem Aufbau:
ARCHIVE_FILENAME=<Name des resultierenden Zip-Files>
ARCHIVE_TYPE=ZIP
CONTENT_TYPE=<Content-Typ der Antwort>
DEBUG=<true|false>
MSGTYPES=MSG1;MSG2 … ;MSGN
MSG1.RECOGNITION=<ALWAYS| dynamischer Ausdruck>
MSG1.PARTS= PART1;PART2;…PARTN
MSG1.UNIQUE
PART1.ATTNAME=<Name des Attributs in der Datenbank>
PART1.SOURCE=<ATTRIBUTE|ATTRIBUTE_ARCHIVE>
PART1.FILTER=<fully Qualified Classname>
PART1.NAMER=<fully Qualified Classname>
PART1.CONVERTER=<fully Qualified Classname>
Eigenschaften:
Eigenschaft |
Bedeutung |
ARCHIVE_FILENAME |
Der Name der Ausgabedatei, z.B. edis.zip |
ARCHIVE_TYPE |
Art des Archivs. |
CONTENT_TYPE |
Rückgabetyp der http-Response |
UNIQUE_ENTRIES |
In der Zip-Datei werden keine Duplikate gespeichert, d.h. nur Nachrichten die sich byteweise unterscheiden landen in der zip (Default: false) |
DEBUG |
Wenn der Wert auf true gesetzt wird, wird zu jeder betrachteten Nachricht ein LOG-Eintrag geschrieben, indem eventuelle Fehler festgehalten werden. Das LOG-File findet man im resultierenden Zip-File unter dem Namen EXECUTION_LOG.txt |
MSGTYPES |
Namen der verschiedenen Nachrichtenarten. Wenn eine Nachricht ausgewählt wurde im Monitor wird für jeden MSGTYPE geprüft, ob die Bedingung RECOGNITION erfüllt ist. Wenn ja, werden die einzelnen Parts abgearbeitet. Wenn nein, wird der MSGTYPE für diese Nachricht übersprungen. |
RECOGNITION |
Falls RECOGNTION=ALWAYS, wird der MSGTYP für jede Nachricht ausgeführt. Falls RECOGNTION ein dynamischer Ausdruck ist, kann dieser ausgewertet werden. Im context des Ausdrucks kann auf das Message-Object zugegriffen werden. Man findet dieses unter B3P_OBJ_MESSAGE. Ist der dynamische Ausdruck true wird der MSGTYPE für die Nachricht betrachtet sonst nicht. |
PARTS |
Name der Parts die zu einem MSGTYPE gehören |
UNIQUE |
Falls auf true wird pro MSGTYPE nur ein Part in die Zip geschrieben. Default: true |
ATTNAME |
Gibt den Namen des zu nutzenden Attributes an. Soll im Archiv gesucht werden, so muss für .crypt-Dateien B3P_AS2_ORIG_STREAM, für .decrypt B3P_AS2_STREAM, für .mdn-Dateien B3P_AS2_MDN_STREAM und für alle anderen Dateien (z.B. .txt Dateien) B3P_ARCHIVE_FILESERVICE angegeben werden. (Achtung: auch Mails werden in .txt-Dateien gespeichert) |
SOURCE |
Gibt die DB-Tabelle an, in der nach dem Attribut gesucht werden soll. Soll im Archiv gesucht werden, so ist ARCHIVE anzugeben. |
CONVERTER |
Hier muss der Klassenname einer Java-Klasse angegeben werden, die das Interface org.b2bbp.engine.configurabledownload.IConverter implementiert. Mit einem Konverter kann man die bytes der Attribute beliebig transformieren und auch in mehrere Teile aufspalten. |
FILTER |
Hier muss der Klassenname einer Java-Klasse angegeben werden, die das Interface org.b2bbp.engine.configurabledownload.IFilter implementiert. Mit einem Filter kann man bestimmte Teile wieder entfernen |
NAMER |
Hier muss der Klassenname einer Java-Klasse angegeben werden, die das Interface org.b2bbp.engine.configurabledownload.INamer implementiert. Mit dieser Funktionalität können den einzelnen Teilen Dateinamen gegeben werden |
Die Ausführungsreihenfolge ist: Laden des Attributes -> Ausführen des Converters -> Ausführen des Filters -> Ausführen des Namers
Der Standartkonverter ändert nichts. Der Standard Filter lässt alles durch und der Standard Filter nennt die Dateien unknown.txt
Konverter:
Funktion |
Klassenname |
Extrahiert aus einem AS2 Stream alle Nachrichten |
org.b2bbp.engine.configurabledownload.ExtractAllAS2MessagesFlat |
Extrahiert aus einem MAIL Stream alle Nachrichten |
org.b2bbp.engine.configurabledownload.ExtractAllEdiMailAttachments |
Extrahiert aus einer Standart formatierten Edi alle Nachrichten |
org.b2bbp.engine.configurabledownload.ExtractAllPlainEdiMessages |
Filter:
Funktion |
Klassenname |
Nur Edi-Nachrichten |
org.b2bbp.engine.configurabledownload.EdiFilter |
Wertet dynamischen Ausdruck aus |
org.b2bbp.engine.configurabledownload.DynamicExprFilter |
NAMER:
Funktion |
Klassenname |
Wertet einen dynamischen Ausdruck aus, um den Namen zu bestimmen |
org.b2bbp.engine.configurabledownload.DynamicExprNamer |
Bennent die Nachricht nach dem Edi-Standard |
org.b2bbp.engine.configurabledownload.EdiNamer |
Um den Dynamischen Ausdruck anzugeben für den Namer DynamicExprNamer muss folgender Eintrag hinzugefügt werden:
<Name des Parts>.org.b2bbp.engine.configurabledownload.DynamicExprNamer.expression=<dynamischer Ausdruck>
<Name des Parts>.org.b2bbp.engine.configurabledownload.DynamicExprFilter.expression=<dynamischer Ausdruck>
Innerhalb der dynamischen Ausdrücke kann man mit context. RAW_DATA auf die bytes des Parts zugreifen. Falls die bytes auch einen String repräsentieren kann auf diesen mit context.CURRENT_PAYLOAD zugegriffen werden.
Beispiel 1
Nur Edi-Nachrichten runterladen (MAIL, AS2 oder andere):
ARCHIVE_FILENAME=edi.zip
MSGTYPES=STANDARD
STANDARD.RECOGNITION=ALWAYS
STANDARD.PARTS=STANDARD_BASE_MESSAGE_EDI;STANDARD_BASE_MESSAGE;STANDARD_MAIL;STANDARD_AS2;STANDARD_MAIL_ARCHIVE;STANDARD_AS4_OUTBOUND
STANDARD_BASE_MESSAGE_EDI.ATTNAME=B3P_BASE_MESSAGE_EDI
STANDARD_BASE_MESSAGE_EDI.SOURCE=ATTRIBUTE
STANDARD_BASE_MESSAGE_EDI.FILTER=org.b2bbp.engine.configurabledownload.EdiFilter
STANDARD_BASE_MESSAGE_EDI.NAMER=org.b2bbp.engine.configurabledownload.EdiNamer
STANDARD_BASE_MESSAGE.ATTNAME=B3P_BASE_MESSAGE
STANDARD_BASE_MESSAGE.SOURCE=ATTRIBUTE
STANDARD_BASE_MESSAGE.FILTER=org.b2bbp.engine.configurabledownload.EdiFilter
STANDARD_BASE_MESSAGE.NAMER=org.b2bbp.engine.configurabledownload.EdiNamer
STANDARD_MAIL.ATTNAME=B3P_MIME_MSG_MAIN
STANDARD_MAIL.SOURCE=ATTRIBUTE_ARCHIVE
STANDARD_MAIL.FILTER=org.b2bbp.engine.configurabledownload.EdiFilter
STANDARD_MAIL.NAMER=org.b2bbp.engine.configurabledownload.EdiNamer
STANDARD_MAIL.CONVERTER=org.b2bbp.engine.configurabledownload.ExtractAllEdiMailAttachments
STANDARD_AS2.ATTNAME=B3P_AS2_STREAM
STANDARD_AS2.SOURCE=ATTRIBUTE_ARCHIVE
STANDARD_AS2.FILTER=org.b2bbp.engine.configurabledownload.EdiFilter
STANDARD_AS2.NAMER=org.b2bbp.engine.configurabledownload.EdiNamer
STANDARD_AS2.CONVERTER=org.b2bbp.engine.configurabledownload.ExtractAllAS2MessagesFlat
STANDARD_MAIL_ARCHIVE.ATTNAME=B3P_ARCHIVE_FILESERVICE
STANDARD_MAIL_ARCHIVE.SOURCE=ARCHIVE
STANDARD_MAIL_ARCHIVE.FILTER=org.b2bbp.engine.configurabledownload.EdiFilter
STANDARD_MAIL_ARCHIVE.NAMER=org.b2bbp.engine.configurabledownload.EdiNamer
STANDARD_MAIL_ARCHIVE.CONVERTER=org.b2bbp.engine.configurabledownload.ExtractAllEdiMailAttachments
STANDARD_AS4_OUTBOUND.ATTNAME=PAYLOAD
STANDARD_AS4_OUTBOUND.SOURCE=ATTRIBUTE
STANDARD_AS4_OUTBOUND.FILTER=org.b2bbp.engine.configurabledownload.EdiFilter
STANDARD_AS4_OUTBOUND.NAMER=org.b2bbp.engine.configurabledownload.EdiNamer
STANDARD_AS4_OUTBOUND.CONVERTER=org.b2bbp.engine.configurabledownload.ExtractAllPlainEdiMessages
Beispiel 2
Alle B3P_BASE_MESSAGES mit Dateinamen aus B3P_ORIG_FILE_NAME
ARCHIVE_FILENAME=edi.zip
MSGTYPES=MSG1
MSG1.RECOGNITION=ALWAYS
MSG1.PARTS=PART1;
PART1.ATTNAME=B3P_BASE_MESSAGE
PART1.SOURCE=ATTRIBUTE
PART1.NAMER=org.b2bbp.engine.configurabledownload.DynamicExprNamer
PART1.org.b2bbp.engine.configurabledownload.DynamicExprNamer.expression=${loatt(B3P_ORIG_FILENAME,${template(&(this.messageId))},DATA_ATTRIBUTE)}
Beispiel 3
Edi-Nachrichten und Zertifikatsresultat
Wie Beispiel 1 + folgende Msg:
MSG2.RECOGNITION=ALWAYS
MSG2.PARTS=PART5
PART5.ATTNAME=B3P_MIME_MSG_MAIN
PART5.SOURCE=ATTRIBUTE_ARCHIVE
PART5.CONVERTER=org.b2bbp.engine.configurabledownload.ExtractAllEdiMailAttachments
PART5.FILTER=org.b2bbp.engine.configurabledownload.DynamicExprFilter
PART5.NAMER=org.b2bbp.engine.configurabledownload.DynamicExprNamer
PART5.org.b2bbp.engine.configurabledownload.DynamicExprNamer.expression=verification.txt
PART5.org.b2bbp.engine.configurabledownload.DynamicExprFilter.expression=${regex(Z1 SecureMail Gateway Info - http://www.zertificon.com,${template(&(this.CURRENT_PAYLOAD))})}