SAP PO/PI 设置字段或静态参数到URL

文章目录

  • 需求
  • 一、字段内容设置到URL中
  • 二、使用静态值
  • 三、测试
  • 总结


需求

通过PO/PI访问第三方接口并把字段或静态参数设置在URL中


一、字段内容设置到URL中

首先我们在MassageMapping中需要把字段内容发送到DynamicConfiguration中去,利用UDF
SAP PO/PI 设置字段或静态参数到URL_第1张图片
UDF代码
这里面需要注意,如果字段中的内容不需要传递给对方接口的body中去,那么直接return null;如果需要传递,就正常返回var2
这里我的三个参数只需要放进URL,我就置null了

try{

    //Get transformation parameter
    Map<String, Object> all = container.getInputHeader().getAll();
      DynamicConfiguration conf = (DynamicConfiguration)all.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    
//Define key
    DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/REST", var1);
    
    conf.put(key1, var2);

}catch(Exception e){
return null;
}

return null;

下面是Communication Channel中的配置,动态参数分别对应
黄色框的部分为UDF部分设置的参数名 在这里系统会从DynamicConfiguration中取出来
黄色框的参数名是我在UDF给的Constants 可以看上面的图
url动态参数使用中括号
SAP PO/PI 设置字段或静态参数到URL_第2张图片

二、使用静态值

SAP PO/PI 设置字段或静态参数到URL_第3张图片

Communication Channel中选择Manual Value 参数名称不变 填入静态值即可

三、测试


POSTMAN
SAP PO/PI 设置字段或静态参数到URL_第4张图片
点击发送 查看PO消息log

SAP PO/PI 设置字段或静态参数到URL_第5张图片
字段参数已正常插入到URL中
在这里插入图片描述
结果正常 返回记录


总结

注意参数名称,保证UDF代码正确(java代码有错也会激活不了),基本就没什么问题

你可能感兴趣的:(SAP,PO/PI,SAP,PO/PI,UDF,动态参数,URL)