Groovy Script Payload Logging | SAP CPI

You are here:
← All Topics

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.