SAP Cloud Platform集成:使用参数调用Groovy脚本

2020-08-22 19:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我正在使用groovy脚...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在使用groovy脚本登录不同的步骤。 由于我不想重复复制脚本并只更改两个值,因此我认为应该可以使用参数。

这是我要使用的脚本:

导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 def消息logpayload(消息消息,字符串nameOfAttachment,字符串mimeType){
     def有效负载= message.getBody(String.class);
     def messageLog = messageLogFactory.getMessageLog(message);
     messageLog.setStringProperty(" Logging",nameOfAttachment);
     messageLog.addAttachmentAsString(nameOfAttachment,payload,mimeType);
     返回消息;
 }
 

我这样配置它:

但是,当我运行它时,出现以下异常。 有谁知道我该如何解决这个问题?

 java.lang.NoSuchMethodException:方法的无签名:org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.logpayload(message," FlatFile.txt"," text/plain")()适用于参数类型:(com.sap。  gateway.ip.core.customdev.processor.MessageImpl)值:[com.sap.gateway.ip.core.customdev.processor.MessageImpl@737f25ed]
 

谢谢

弗洛里安

(7.2 kB)
7条回答
当学会了学习
2020-08-22 19:55

嗨弗洛里安,


另一种解决方案是使用属性或标头变量。 您可以使用

访问它们
 map = message.getHeaders();
 myVar = map.get(" variableName"); 

 map = message.getProperties();
 myVar = map.get(" variableName"); 

可以是另一种解决方案,它可能具有更高的灵活性,但添加了更多的cpi特定代码。

此致

Dominic

一周热门 更多>