在错误/升级结束的异常子流程中使用自定义消息

2020-08-15 17:46发布

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

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


你好

当前,我正在使用自定义界面创建iFlows。 当一个人将异常子流程放入错误/升级结束的iFlow中时,发送者将收到如下消息:

发生内部服务器错误:消息以Escalation结束事件结束。 失败消息的MPL ID为:有关更多详细信息,请检查尾部日志。

我想做的是返回一个自定义消息,同时在消息监视器中保持升级/错误标签。

我的问题是这是否可以做到以及如何做到。

提前谢谢!

布拉姆

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

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


你好

当前,我正在使用自定义界面创建iFlows。 当一个人将异常子流程放入错误/升级结束的iFlow中时,发送者将收到如下消息:

发生内部服务器错误:消息以Escalation结束事件结束。 失败消息的MPL ID为:有关更多详细信息,请检查尾部日志。

我想做的是返回一个自定义消息,同时在消息监视器中保持升级/错误标签。

我的问题是这是否可以做到以及如何做到。

提前谢谢!

布拉姆

付费偷看设置
发送
11条回答
小灯塔
1楼 · 2020-08-15 18:20.采纳回答

你好,布拉姆,

我已经尝试了此功能,但无法正常工作。 以下是一些指针。

1)可以设置自定义异常,但是CPI中的消息处理状态为COMPLETED(错误结束或消息结束的用法)。

---- >使用内容修改器删除属性" CamelExceptionCaught",并使用以下脚本。

导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 def消息processData(消息消息){
    //身体
     def主体= message.getBody();
     def map = message.getHeaders();
     map.put(" Content-Type"," application/json");
     map.put(" CamelHttpResponseCode",400);
  
     message.setBody(" {\"状态\":\"嗨,邦德,请检查CPI监视以获取错误详细信息\"}");
    
     返回消息;
 }
 

2)您要使用标准错误响应将CPI中的消息处理状态设置为FAILED或ESCALATED

---->只需添加Exception子进程并将事件设置为Error 结束或升级。

3)您想将"自定义异常"发回给发件人,并将CPI中的消息处理状态设置为"失败"或"退出"。

---->这在SAP中不起作用 CPI并跟进开发团队。您可以向SAP团队提出票证,以便优先处理此问题。

问候,

Sriprasad Shivaram Bhat

95年老男孩
2楼-- · 2020-08-15 18:33

嗨,Sirprasad,

感谢您的帮助。 我们将为SAP出票。

最好

布拉姆

hongfeng1314
3楼-- · 2020-08-15 18:40

嗨,

您是否尝试过在Exception子过程中添加内容修饰符,并使用自定义消息定义正文。

此致

Srinivas

悻福寶寶
4楼-- · 2020-08-15 18:35

你好Srinivas,

content修饰符仅在消息结束而不是错误/升级结束时在异常子过程中更改消息。 然后,该消息似乎被覆盖。

还有其他想法吗?

感谢您的帮助!

布拉姆

hongfeng1314
5楼-- · 2020-08-15 18:36

嗨布拉姆,

请检查以下博客网站:
https://blogs.sap.com/2015/01/12/blog-4-modelling-exceptions-in-integration-flows-hci-pi /

问候,
巴拉兹

CPLASF-自律
6楼-- · 2020-08-15 18:16

你好巴拉兹,

博客描述了我当前的实现:带有错误开始,消息结尾和设置自定义消息的内容修饰符的异常子流程。 这可行,但是在消息监视器中将异常标记为"已完成"。 我想将异常标记为"失败"或"升级",这只有在错误/升级结束时才有可能,但随后消息将被覆盖。

我了解到,设置标头" CamelHttpResponseCode"可以控制发件人的HTTP响应代码,也许在消息监视器中也有标头或参数来标记消息?

提前谢谢!

布拉姆

软件心理学工程师
7楼-- · 2020-08-15 18:23

你好布拉姆,

能否让我知道您在IFlow中使用的发送者适配器。

此致,

Sriprasad Shivaram Bhat

一周热门 更多>