Groovy Script Exception Status Code setzen| SAP BTP

Anleitung Groovy Script Exeption Status

Wofür brauche ich den Groovy Script Exception Status?

SAP CPI bietet Ihnen die Möglichkeit Groovy Skripts zu verwenden. Optimieren Sie die Fehlerbehandlung in ihren SAP CPI IFlows indem Sie im Groovy Skript den HTTP Status Code setzen. In dem von uns entwickelten SAP Standard Training WDEI1 zeigen wir Ihnen wie Sie Groovy richtig verwenden.

Im nachfolgenden Coding zeigen wir Ihnen, wie Sie in Groovy Skript in einem Exception Subprocess den HTTP Status Code setzen können. Wir haben dazu dem Groovy Script einen Content Modifier vorgeschaltet, der die beiden Variablen ${exception.stacktrace} und ${exception.message} in die Exchange Properties exStacktrace und exMessage speichert. Das Groovy Skript setzt im Body eine XML Nachricht, in der diese beiden Exchange Properties gekapselt sind. Dazu verwenden wird den MarkupBuilder aus dem groovy.xml Paket. Schon kann es los gehen!

SAP Training zum Thema Groovy Script Exeption Status

Zur Anmelung: Der SAP WDEI1  bietet Ihnen eine 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 HTTP Status Code setzen:

import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import groovy.xml.MarkupBuilder;
def Message processData(Message message) {
 //Body 
 def body     = message.getBody();
 def props    = message.getProperties(); 
 def exStacktrace = props.get("exStacktrace");
 def exMessage = props.get("exMessage"); 
 def stringWriter = new StringWriter();
 def exceptionBuiler = new MarkupBuilder(stringWriter); 
 exceptionBuiler.exception {
 exceptionMessage(exMessage)
 stacktrace(exStacktrace)
 } 
 message.setHeader("Content-Type", "application/xml")
 message.setHeader("CamelHttpResponseCode", 500) 
 message.setBody(stringWriter.toString());
 return message;
}

Groovy Script Exception Status ist gesetzt – weiter gehts:

Möchten sie mehr über die Groovy Skripts  und die CPI erfahren dann bleiben sie dran:

 

SAP CPI Groovy Secure Store

SAP CPI Groovy Payload Logging

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. 

 

 

Groovy Script Secure Store | SAP CPI

Anleitung Groovy Script Secure Store  

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 funktioniert Groovy Script Secure Store?

Eine gelegentliche Anforderung stellt der Zugriff auf die im Secure Store gespeicherten Credentials dar. Wir zeigen Ihnen im nachfolgenden Skript wie Sie dies unter Verwendung von Groovy umsetzen können.

Anmeldung zum WDEI1 Training

Der SAP WDEI1  bietet Ihnen ein 5-tägige praxisnahe Einführung in Entwicklung, Architektur und Sicherheit der SAP Cloud Platform Integration.

Erfahren sie mehr über das WDEI1 Training

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 Secure Store

import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import groovy.json.*;
import com.sap.it.api.ITApiFactory;
import com.sap.it.api.securestore.SecureStoreService;
import com.sap.it.api.securestore.UserCredential;
import com.sap.it.api.securestore.exception.SecureStoreException;
def Message processData(Message message) {
 //Body 
 def body = message.getBody(java.lang.String) as String
 def service = ITApiFactory.getApi(SecureStoreService.class, null) 
 if( service != null) {
 def jsonSlurper = new JsonSlurper()
 def requestObject = jsonSlurper.parseText(body)
 def aliasname = requestObject.alias 
 def credential = service.getUserCredential(aliasname)
 if (credential != null) {
 def username = credential.getUsername()
 def password = credential.getPassword()
 def properties = credential.getCredentialProperties()
 String passwordString = "" 
 if (password.getClass().isArray()) {
 if (password instanceof char[]) {
 passwordString = new String((char[]) password);
 }
 } 
 def json = JsonOutput.toJson([username: username, password: passwordString, properties: properties])
 message.setBody(json)
 }
 } 
 return message;
}

Das war er schon mit Groovy Script Secure Store – weiter gehts:

Möchten sie mehr über die Groovy Skripts  und die CPI erfahren dann bleiben sie dran:

 SAP CPI Groovy Script Exception Status Code setzen

 SAP CPI Groovy Payload Logging

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. 

 

 

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.