接收方通道配置
因为本例中需要在访问业务接口时,获取某平台的TOKEN认证,并在调用业务接口时,将TOKEN一同传给某平台,但是不能放在请求参数中,而是放在HTTP的Headers
注意!是Headers而不是前边的请求参数header,
因此以下有两种方式,介绍如何在访问业务接口时,推送TOKEN。
方法一:添加TOKEN到Headers参数中
填入调用的业务接口地址
选择Value Source:XPath Expression.因为我们传入的字段是XML形式
Pattern Element name:要将值传递给Headers里面的那个参数(理解为形参)
XPath Expression:传入字段的名称(理解为实参)
使用POST方式
请求时,将数据转换为JSON格式
在接收时,将JSON转换为XML
里面的Element Name可以在MT里面找到
当传递表类型时,如果只有一条数据,在转换成JSON将会失去JSON中代表数组的[],传递到对方系统解析错误,所以要在此处定义,当body表中只有一条时,仍然是数组结构:"body":[{"esOuCode":1000,"sourceCode":"SAP","enabledFlag":1}]
在Headers的参数中添加Authorization,并使用{Authorization}的写法
而请求参数中的数据就传到了Headers
方法二:配置获取TOKEN链接到通道中
在这种配置中不需要在请求参数中传递AuthToken
不需要在Headers参数中传递AuthToken
直接将获取某平台Token的认证接口地址配置在此处,当调用业务接口时,临时通过认证接口先获取Token
问题解决
1、因为我们调用的业务接口时HTTPS类型的网址,但是缺少证书,需要在PI中配置网络证书
2、字段映射出现问题,导致接收数据时报错:
将映射的连线全部去掉,可以在返回的消息中找到返回的JSON,然后对照字段查看问题
3、返回401或者403禁用的错误
是因为没有传递TOKEN或传递的TOKEN无效