Übersicht
In der B2B Verarbeitung von Nachrichten findet initial immer eine sogenannte Format-Erkennung statt um Meta-Informationen über die Nachricht zu sammeln, anhand dieser die weitere Verarbeitung zu definieren und im Nachrichtenmonitor darzustellen.
Mit der Extension B3P_FORMAT_RECOGNITION_JSON_PATHS kann die Format-Erkennung auch für JSON-Nachrichten eingerichtet werden.
Einrichtung
Damit die B2B Format-Erkennung für JSON-Nachrichten durchgeführt wird, muss die Extension B3P_FORMAT_RECOGNITION_JSON_PATHS angelegt und konfiguriert werden. In dieser Extension werden die spezifischen JSON-Formate definiert und die Informationen, die aus den Nachrichten extrahiert werden sollen.
Zunächst wird eine Liste der spezifischen JSON-Formate definiert, die (in konfigurierter Reihenfolge) erkannt werden können. Anschließend wird für jedes spezifische JSON-Format ein JsonPath-Ausdruck definiert, der in allen Nachrichten dieses Formats vorkommt und dieses durch einen Match identifiziert.
Zu jedem spezifischen JSON-Format werden dann die Informationen definiert, die aus den Nachrichten extrahiert werden und an der entsprechenden Stelle im Format-Objekt abgelegt werden sollen.
Beispiel der Extension B3P_FORMAT_RECOGNITION_JSON_PATHS:
# Liste aller bekannten spezifischern Json-Formate, mit Komma getrennt
specificPresentations=ApiRequest,myJson
# Idenfikation des spezifischen Json-Formats über JsonPath Ausdrücke
ApiRequest.specificPresentation=['ApiRequestInformation']
myJson.specificPresentation=['myJson']
ApiRequest.type=['ApiRequestInformation']['apiId']
ApiRequest.version=['ApiRequestInformation']['majorVersion']
ApiRequest.referenceId=['ApiRequestInformation']['headers']['transactionId']
ApiRequest.partner=['ApiRequestInformation']['partnerMpid']
ApiRequest.partnerCode=['ApiRequestInformation']['partnerMpid']
ApiRequest.system=['ApiRequestInformation']['tenantMpid']
ApiRequest.systemCode=['ApiRequestInformation']['tenantMpid']
ApiRequest.correlationId=['ApiRequestInformation']['parameters']['referenceId']
ApiRequest.additional.requestType=['ApiRequestInformation']['endpointPath']
myJson.type=['myJson']['myType']
myJson.version=['myJson']['myVersion']
myJson.referenceId=['myJson']['messageIdentifier']
myJson.partner=['myJson']['partner']
myJson.partnerCode=['myJson']['partner']
myJson.system=['myJson']['system']
myJson.systemCode=['myJson']['system']