用户定义的CPI例外

2020-09-12 15:08发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我是SAP和CP...

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

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


大家好,

我是SAP和CPI的新手。 我在Java和J2EE方面有很好的背景。

我已经在CPI中开发了一个工作流,在该工作流中,我解析XML并检查特定值。 如果该值小于5(例如),那么我将抛出一个自定义消息,异常为"该值小于5。请检查"。 我检索异常消息并将其打印在messageLog中。 工作流按预期工作。

问题是异常消息与Groovy错误一起打印。 似乎没有这种方法。 请查看以下错误:

无方法签名:org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.Exception()适用于参数类型:(java.lang.String)值:[该值小于5。请检查]

我只是期待消息。 我还附加了Groovy脚本

 def消息processData(消息){
 如果(val <5){
     引发异常("该值小于5。请检查")
   }
 }

 def消息logException(消息){
   def exceptionMsg = message.getProperty(" CamelExceptionCaught")
   def messageLog = messageLogFactory.getMessageLog(message)
   messageLog.addAttachmentAsString(" Exception Message",exceptionMsg.getMessage()," text/plain")
   返回讯息
 } 

从错误的外观看,似乎没有带有签名的此类方法。 请让我知道我错了。

3条回答
微wx笑
2020-09-12 15:27

您好,阿南达,

我已经复制了您的方案,这就是从SAP CPI自定义异常角度来看的结果。

异常消息[$ {exception.message}]:javax.script.ScriptException:java.lang.Exception:java.lang.Exception:值小于5。请在script2.groovy中检查@第16行

Exception stacktrace [$ {exception.stacktrace}]:javax.script.ScriptException:java.lang.Exception:java.lang.Exception:值小于5。请在script2.groovy中检查@第16行 在com.sap.gateway.ip.core.customdev.processor.IGWScriptProcessor.process(IGWScriptProcessor.java:264) 在sun.reflect.GeneratedMethodAccessor1117.invoke(未知来源) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:606) 在org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:408) 在org.apache.camel.component.bean.MethodInfo $ 1.doProceed(MethodInfo.java:279) 在org.apache.camel.component.bean.MethodInfo $ 1.proceed(MethodInfo.java:252) 在org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:177) 在org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:95) 在com.sap.it.op.agent.collector.camel.MplInterceptor $ MplAsyncProcessor.process(MplInterceptor.java:195)上……更多72

问候,

Sriprasad Shivaram 巴特

一周热门 更多>