用户定义的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条回答
灬番茄
2020-09-12 15:24

嗨,斯里普,

感谢您的建议。

将行更改为

引发异常("该值小于5。请检查")

引发新的异常("该值小于5。请检查")

我收到以下错误消息。

java.lang.Exception:java.lang.Exception:该值小于5。请检查script1.groovy中的@ 49行

在Java中,当您调用exception.getMessage()时,您只会收到消息。 但是,它将在脚本中打印异常包名称,消息和行号。 仅供参考,我已经尝试过了并且得到了相同的结果。 我删除了新的运算符,因为我只希望看到异常消息。 CPI正常吗? 这是应该怎么做?

一周热门 更多>