CPI多重映射:删除

2020-08-19 06:36发布

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

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


对于我的要求,我启用了多重映射功能,它将把两个xml中的数据馈送到目标。 为此,我将内容修饰符表达式设置为:

 
    
         $ {property.eddDataResp}
    
    
         $ {in.body}
    
 
 

但是当我看到馈入多重映射的有效负载时,我会看到以下内容:

以上原因导致多图失败,有关如何解决此问题的任何输入? 尝试使用groovy脚本删除此标签,但没有帮助。 有什么帮助/意见吗?

(461.7 kB)

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

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


对于我的要求,我启用了多重映射功能,它将把两个xml中的数据馈送到目标。 为此,我将内容修饰符表达式设置为:

 
    
         $ {property.eddDataResp}
    
    
         $ {in.body}
    
 
 

但是当我看到馈入多重映射的有效负载时,我会看到以下内容:

以上原因导致多图失败,有关如何解决此问题的任何输入? 尝试使用groovy脚本删除此标签,但没有帮助。 有什么帮助/意见吗?

(461.7 kB)
付费偷看设置
发送
3条回答
绿领巾童鞋
1楼 · 2020-08-19 06:48.采纳回答

您好Prabhu,

在下面使用应该可以解决此问题。

 
 
 
 
 
 
 
 
 

致谢

Sriprasad Shivaram Bhat

zhangjiyang1323
2楼-- · 2020-08-19 06:46

精彩! 谢谢Sirprasad。 它与xslt一起使用。 当将有效负载视为字符串时,为什么groovy无法工作(通过用空格替换字符串)?

浮生未央
3楼-- · 2020-08-19 06:51

Hi Prabhu

立即在内容修饰符之前运行此Groovy脚本, 会创建多重映射消息:

 import com.sap.gateway.ip.core.customdev.util.Message

 def消息processData(消息消息){
     def模式=/<\?xml.*\?>\s*/
    //从属性eddDataResp中删除XML Prolog。
     message.setProperty('eddDataResp',message.getProperty('eddDataResp')。replaceFirst(pattern,''))
    //从消息正文中删除XML Prolog。
     message.setBody(message.getBody(String).replaceFirst(pattern,''))
    //全做完了。
     返回讯息
 } 

代码使用正则表达式从属性和消息正文中删除XML序言。

问候,

Morten

# p#

以前,我使用下面的代码无法正常工作:(

 body = body.replaceAll(" <​​?xml version ='1.0'encoding ='UTF-8'?>"  ,""); 

一周热门 更多>