SAP CPI:iFlow-异常处理块-访问HTTP状态代码

2020-08-23 20:43发布

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

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


专家您好,

$ {header.CamelHttpResponseCode}:这是在发生异常时获取HTTP状态代码的正确的标头参数吗?

我无法在iFlow的异常子流程块中访问此值。

致谢

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

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


专家您好,

$ {header.CamelHttpResponseCode}:这是在发生异常时获取HTTP状态代码的正确的标头参数吗?

我无法在iFlow的异常子流程块中访问此值。

致谢

付费偷看设置
发送
4条回答
宇峰Kouji
1楼 · 2020-08-23 20:45.采纳回答

嗨Keshav,

在发生异常(子流程)的情况下,还应该可以从异常中读取状态代码。 在Groovy中,您将编写如下内容:

 import com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;


 def消息processData(消息消息){
 
 def map = message.getProperties();
 def ex = map.get(" CamelExceptionCaught");
 如果(ex!= null){
 message.setHeader(" status_code",ex.getStatusCode());
     }
 返回消息;
 }
 

然后,您可以在脚本步骤之后通过" status_code"标头访问状态代码以进行路由等。

最诚挚的问候,
Raffael

葫芦娃快救爷爷
2楼-- · 2020-08-23 21:03

是的,这是正确的,但是为什么您无法访问它? 您可以在I-Flow中提供有关此配置的打印件吗?

SC_Yao
3楼-- · 2020-08-23 21:05

您好,Carlos,

感谢您的回复。 我正在访问此表达式

异常处理块中内容修饰符的消息正文中的

$ {header.CamelHttpResponseCode}。

Nir深蓝
4楼-- · 2020-08-23 21:01

感谢您的回复Raffael。 不幸的是,并非

中列出了SoapFault的所有方法[get *]

https://cxf.apache.org/javadoc/latest/org/apache/cxf/binding/soap/SoapFault.html 将返回故障的详细信息。 但是,我可以获取状态代码和一条消息[未详细说明异常原因],以便在错误日志中用于响应消息。

我确实注意到,在消息监视中,"打开文本视图" 在日志中[即使在日志级别信息的情况下,也包含异常的详细信息,例如状态文本等。我​​相信要获取这些日志详细信息,我们将必须使用ODATA API查询消息处理日志(?)

一周热门 更多>