2020-08-18 16:10发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在使用Https适配器发送xml文件。 在我的情况下,我必须检查文件是否为空,如果为空,则应结束,如果它包含xml数据,则应继续进行处理。 任何人都可以建议如何实现这一目标
您好 Vikranth ,
您可以使用[Router]步骤并保持条件以检查是否计数 节点> 0。
/root/count(ChileElementName)> 0
希望这会有所帮助!
感谢和问候,
Praveen T
嗨Praveen
如果这两种情况都是完全空的有效负载和XML文档,则XML路由条件将在空的有效负载上失败。
致谢
Morten
Hi Vikranth
路由器步骤是前进的方向,正如Sriprasad和Praveen指出的那样。 但是,路由条件并不简单。 如果根本没有有效负载,则使用XPath条件将失败。 至于备选方案(一种简单表达式语言表达式),我不知道它是否可行。
什么将有效,是为了测试其中的空有效载荷 在Router之前的Groovy脚本中,将结果存储在一个属性中,然后在该属性上分支。 这是脚本:
导入com.sap.gateway.ip.core.customdev.util.Message def消息processData(消息消息){ def主体= message.getBody(String) message.setProperty('EmptyPayload',body == null || body.isEmpty()) 返回讯息 }
这会在名为EmptyPayload的属性中存储true或false。
接下来,创建一个Router,默认路由为非空的情况(即您要执行一些工作) 。 另一个路由具有以下非XML路由条件:
$ {property.EmptyPayload} ='true'
您可以通过结束消息事件终止此分支。
因此您的配置应如下所示:
注意事项
您好 Vikranth Reddy
不,那会赢 不行 但是我建议您继续尝试一下实际系统上的建议。 关于非XML表达式:我提到过,如果有效负载为空,则XPath条件(= XML)将不起作用。 它将在运行时失败。
关于
Hello Vikrant,
使用路由器步骤执行此操作 检查。以下将提供更多详细信息。
/img/questions/12932533/please-explain-conditional-router-in-detail-in-cpi.html
Sriprasad Shivaram Bhat
嗨,Morten,
我可以在场景中使用$ {in.body.length} ='0'吗?
最多设置5个标签!
您好 Vikranth ,
您可以使用[Router]步骤并保持条件以检查是否计数 节点> 0。
/root/count(ChileElementName)> 0
希望这会有所帮助!
感谢和问候,
Praveen T
嗨Praveen
如果这两种情况都是完全空的有效负载和XML文档,则XML路由条件将在空的有效负载上失败。
致谢
Morten
Hi Vikranth
路由器步骤是前进的方向,正如Sriprasad和Praveen指出的那样。 但是,路由条件并不简单。 如果根本没有有效负载,则使用XPath条件将失败。 至于备选方案(一种简单表达式语言表达式),我不知道它是否可行。
什么将有效,是为了测试其中的空有效载荷 在Router之前的Groovy脚本中,将结果存储在一个属性中,然后在该属性上分支。 这是脚本:
这会在名为EmptyPayload的属性中存储true或false。
接下来,创建一个Router,默认路由为非空的情况(即您要执行一些工作) 。 另一个路由具有以下非XML路由条件:
您可以通过结束消息事件终止此分支。
因此您的配置应如下所示:
注意事项
Morten
您好 Vikranth Reddy
不,那会赢 不行 但是我建议您继续尝试一下实际系统上的建议。 关于非XML表达式:我提到过,如果有效负载为空,则XPath条件(= XML)将不起作用。 它将在运行时失败。
关于
Morten
Hello Vikrant,
使用路由器步骤执行此操作 检查。以下将提供更多详细信息。
/img/questions/12932533/please-explain-conditional-router-in-detail-in-cpi.html
Sriprasad Shivaram Bhat
嗨,Morten,
我可以在场景中使用$ {in.body.length} ='0'吗?
一周热门 更多>