文章目录
- 需求
- 一、字段内容设置到URL中
- 二、使用静态值
- 三、测试
- 总结
需求
通过PO/PI访问第三方接口并把字段或静态参数设置在URL中
一、字段内容设置到URL中
首先我们在MassageMapping中需要把字段内容发送到DynamicConfiguration中去,利用UDF
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动态参数使用中括号
二、使用静态值
Communication Channel中选择Manual Value 参数名称不变 填入静态值即可
三、测试
POSTMAN
点击发送 查看PO消息log
字段参数已正常插入到URL中
结果正常 返回记录
总结
注意参数名称,保证UDF代码正确(java代码有错也会激活不了),基本就没什么问题