经过几次映射操作后,HCI中是否可以引用原始传入消息?

2020-08-24 11:06发布

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

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


你好!

我想运行请求-答复步骤来检查记录是否存在并基于响应-分别映射原始消息。

据我了解,消息对象将在请求-答复步骤之后转换为响应。

是否可以以某种方式保存它(原始消息)以备将来使用? 还有其他想法吗? 消息具有1..n个节点-这意味着我无法将参数保存到属性中并在其他映射中重用它们。

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

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


你好!

我想运行请求-答复步骤来检查记录是否存在并基于响应-分别映射原始消息。

据我了解,消息对象将在请求-答复步骤之后转换为响应。

是否可以以某种方式保存它(原始消息)以备将来使用? 还有其他想法吗? 消息具有1..n个节点-这意味着我无法将参数保存到属性中并在其他映射中重用它们。

付费偷看设置
发送
5条回答
哎,真难
1楼 · 2020-08-24 11:46.采纳回答

你好奥列格斯,

您可以在"外部呼叫"(请求回复)之前使用"内容修饰符",并将消息存储到"属性",以后可以在任何需要的地方使用它。

下面是EX:我已经保存了来自SOAP Call的传入数据,并在请求回复后用这两个数据进行了恢复。类似地,您可以在请求回复后使用n个步骤,并且可以使用第一个Content Modifier中设置的属性 恢复传入的XML。

此致

Sriprasad Shivaram Bhat

木偶小白
2楼-- · 2020-08-24 11:29

在下面的骆驼表达式中使用内容修饰符也将起作用

 $ {property.inboundMsg.replace(" <?xml version ='1.0'encoding ='UTF-8'?>","")} 

这是假设您已在前面的"内容修改器"步骤中将原始有效负载另存为字符串(请参见下文)。

希望这会有所帮助。

亲切问候

Jithin

xfwsx85
3楼-- · 2020-08-24 11:50

是的,您可以在更改它之前将其存储在content修饰符步骤中的属性中。 为此,创建一个类型为Expression且值为$ {in.body}的新属性(例如oldMessage),可以使用$ {property.OldMessage}获取该旧消息。

此致,
穆罕默德胺。

空代码
4楼-- · 2020-08-24 11:48

是的,您可以将其存储在内容修改器步骤中的属性中,然后再进行更改。 为此,创建一个类型为Expression且值为$ {in.body}的新属性(例如oldMessage),可以使用$ {property.OldMessage}获取该旧消息。

此致,
穆罕默德胺。

樱桃小丸子0093
5楼-- · 2020-08-24 11:35

旧版本对我不起作用。 但是您可以稍作调整。

如果创建内容修饰符,请使用java.lang.String作为数据类型。

在第二个修饰符之后,我添加了一个js来删除xml声明。

importClass(com.sap.gateway.ip.core.customdev.util.Message);
importClass(java.util.HashMap);
function processData(message){
var body = message .getBody(java.lang.String);
body = body.replace(" <?xml version ='1.0'encoding ='UTF-8'?>","");
message.setBody( 身体);
返回消息;
}

一周热门 更多>