如何在SAP CPI中使用Groovy将标头添加到有效载荷

2020-08-14 05:43发布

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

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


大家好,

我想知道如何使用groovy将标头添加到有效负载中作为额外的节点。

尝试添加节点。 因为我们可以在hashmap中获取标头。(但没有用)

想知道如何将标头或属性附加为主XML的一部分。

请提出建议

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

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


大家好,

我想知道如何使用groovy将标头添加到有效负载中作为额外的节点。

尝试添加节点。 因为我们可以在hashmap中获取标头。(但没有用)

想知道如何将标头或属性附加为主XML的一部分。

请提出建议

付费偷看设置
发送
4条回答
绿领巾童鞋
1楼 · 2020-08-14 06:04.采纳回答

你好Mounika,

下面应该可以。

导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 导入groovy.xml.XmlUtil。*;

 def消息processData(消息消息){
     def body = message.getBody(java.lang.String);
     def map = message.getHeaders();
     def值= map.get(" Threshold");
     def阈值=" <阈值>" +值+" "
    
     def response =新的XmlSlurper()。parseText(body)
     def newNode =新的XmlSlurper()。parseText(阈值)

     response.MessageProcessingLog.appendNode(newNode);
     def outxml = groovy.xml.XmlUtil.serialize(response)
     message.setBody(outxml)
     返回消息;
 }
 

致谢,

Sriprasad Shivaram Bhat

Alawn_Xu
2楼-- · 2020-08-14 06:02

嗨,Sirprasad,

谢谢
下面是详细信息
数据:
  1. <状态>失败 2020-07-28T04:07:56.806 XXXXXX 2020-07-28T04: 07:56.850 XXXXXXX

标题是

阈值= 5 

使用Groovy:

导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 导入java.util.List;
 导入javax.xml.parsers.DocumentBuilderFactory;
 导入org.custommonkey.xmlunit。*;
 导入org.w3c.dom.NodeList;
 导入javax.xml.xpath。*;
 导入javax.xml.transform.TransformerFactory;
 导入org.w3c.dom。*;
 导入javax.xml.transform.dom.DOMSource;
 导入javax.xml.transform.stream.StreamResult;
 导入java.util.LinkedHashMap;
 def消息processData(消息消息){
     def主体= message.getBody();
     def response =新的XmlSlurper()。parseText(body)
     x = response.MessageProcessingLogs
     def map = message.getHeaders();
      def值= map.get(" Threshold");
   def res = x.appendNode(value);
     message.setBody(res)
       返回消息;
 } 

预期输出:

   <状态>失败  2020-07-28T04:07:56.806   XXXXXX   2020-07-28T04:  07:56.850   XXXXXXX    5   

这是将标头" Threshold"添加到XML节点的要求

jovirus
3楼-- · 2020-08-14 05:57

Hello Mounika,

在问题中添加以下内容可能有助于您获得一些帮助 答案。

1)输入XML或数据。

2)到目前为止您尝试过的内容(可能是您编写的代码段或尝试过的任何方法)。

3)预期输出。

问候,

Sriprasad Shivaram Bhat

绿领巾童鞋
4楼-- · 2020-08-14 06:06

Hi Mounika,

您需要初始化哈希映射对象并获取value。 请尝试进行初始化,然后检查

一周热门 更多>