如何从CPI中的有效负载中删除ns1:Messages

2020-08-16 11:12发布

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

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


大家好,

我有有效载荷,它是通过在CPI中使用Aggregator由拖车消息构建的。 组合有效负载映射到发生状态为0..1-1-1..1

的BankStatementRequest

映射工作正常,但是我的问题是映射的有效负载不适合S4系统。 问题是有效负载的这一部分:

http://sap.com/xi/XI/SplitAndMerge">

我尝试使用Conten修饰符,但没有用。

你能帮忙吗?

致谢

大卫

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

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


大家好,

我有有效载荷,它是通过在CPI中使用Aggregator由拖车消息构建的。 组合有效负载映射到发生状态为0..1-1-1..1

的BankStatementRequest

映射工作正常,但是我的问题是映射的有效负载不适合S4系统。 问题是有效负载的这一部分:

http://sap.com/xi/XI/SplitAndMerge">

我尝试使用Conten修饰符,但没有用。

你能帮忙吗?

致谢

大卫

付费偷看设置
发送
3条回答
Violet凡
1楼 · 2020-08-16 11:40.采纳回答

你好戴维,

添加以下脚本以删除这些标头。

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

 def消息processData(消息消息){
//得到身体
 def body = message.getBody(java.lang.String)as String;
//replaceMultimap标签
 body = body.replaceAll(" <​​multimap:Messages xmlns:multimap = \" http://sap.com/xi/XI/SplitAndMerge \">","");
//body = body.replaceAll(" \" http://sap.com/xi/XI/SplitAndMerge \">","");
 body = body.replaceAll(" <​​multimap:Message1>","");
 body = body.replaceAll(" <​​/multimap:Message1>","");
 body = body.replaceAll(" <​​/multimap:Messages>","");
//设置主体
 message.setBody(body);

 返回消息;
 }
 

致谢

Sriprasad Shivaram Bhat

CJones
2楼-- · 2020-08-16 11:23

嗨斯里普拉萨德

我尝试添加上面的代码,但是我遇到解组XML失败的情况,我尝试在Gather Step之后添加Groovy代码

致谢

Naveen V

小熊yu生菜
3楼-- · 2020-08-16 11:20

恕我直言,使用过滤器是解决此问题的简单得多的方法。

一周热门 更多>