Groovy Script Payload Logging | SAP CPI
Anleitung Groovy Script Payload Logging
SAP CPI bietet Ihnen die Möglichkeit Groovy Skripts zu verwenden. In dem von uns entwickelten SAP Standard Training WDEI1 zeigen wir Ihnen wie Sie Groovy richtig verwenden.
Wie funktoniert das Groovy Script Payload Logging ?
Eine typische Anforderung stellt das Schreiben von Attachments in Message Processing Log dar. Nachfolgenden zeigen wir Ihnen wie diese Anforderung mit Groovy gelöst werden kann. Bitte beachten Sie, dass für das Message Processing Log eine Größenbeschränkung besteht die Sie der Dokumentation der SAP Cloud Platform Integration entnehmen können.
Anmeldung WDEI1 Training
Der SAP WDEI1 bietet Ihnen ein 5-tägige praxisnahe Einführung in Entwicklung, Architektur und Sicherheit der SAP Cloud Platform Integration.
Mehr über das Training: Dieser Kurs ist komplett von uns erstellt und wird nur vom Team CloudDNA gehalten, es bietet Ihnen praxisorientierte Hands- on Qualität
Groovy Payload Logging
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
//Body als String auslesen
def body = message.getBody(java.lang.String);
//Message Log Instanz holen
def log = messageLogFactory.getMessageLog(message);
//Prüfen ob das Log vorhanden ist
if(log != null) {
//Schreiben der String Property
log.setStringProperty("WDEI1 Logging", "MPL String Property");
//Schreiben des Attachments
log.addAttachmentAsString("WDEI1 Gruppe 00 - Message Body", body, "application/xml");
}
return message;
}
Selbstverständlich sollten Sie beim Schreiben in Message Processing Log die Log Konfiguration berücksichtigen. Sie haben über eine Exchange Property die Möglichkeit auf die Log Konfiguration zuzugreifen.
Groovy Payload Logging mit Log Level
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
//Body
def body = message.getBody(java.lang.String);
def map = message.getProperties();
def logConfig = map.get("SAP_MessageProcessingLogConfiguration");
def logLevel = logConfig.logLevel as String;
if(logLevel.equals("DEBUG") || logLevel.equals("TRACE") ) {
def messageLog = messageLogFactory.getMessageLog(message);
if(messageLog != null) {
messageLog.addAttachmentAsString("Outgoing Message", body, "text/plain")
}
}
return message;
}
Möchten sie mehr über die Groovy Skripts und die CPI erfahren dann bleiben sie dran:
SAP CPI Groovy Secure Store
SAP CPI Groovy Script Exception Status
SAP CPI Grundlagen und Expertenwissen
CloudDNA Monitoring Suite for SAP® Cloud Platform Integration
SAP CPI Quickstarter Workshop
Wir freuen uns sie in unseren Trainings begrüssen zu dürfen, und unterstützen sie in ihren Projekten.