PI/PO Token配置

接收方通道配置

因为本例中需要在访问业务接口时,获取某平台的TOKEN认证,并在调用业务接口时,将TOKEN一同传给某平台,但是不能放在请求参数中,而是放在HTTP的Headers

注意!是Headers而不是前边的请求参数header,

因此以下有两种方式,介绍如何在访问业务接口时,推送TOKEN。

方法一:添加TOKEN到Headers参数中

PI/PO Token配置_第1张图片

填入调用的业务接口地址

选择Value Source:XPath Expression.因为我们传入的字段是XML形式

Pattern Element name:要将值传递给Headers里面的那个参数(理解为形参)

XPath Expression:传入字段的名称(理解为实参)

PI/PO Token配置_第2张图片

使用POST方式

PI/PO Token配置_第3张图片

请求时,将数据转换为JSON格式

PI/PO Token配置_第4张图片

在接收时,将JSON转换为XML

PI/PO Token配置_第5张图片

里面的Element Name可以在MT里面找到

PI/PO Token配置_第6张图片

当传递表类型时,如果只有一条数据,在转换成JSON将会失去JSON中代表数组的[],传递到对方系统解析错误,所以要在此处定义,当body表中只有一条时,仍然是数组结构:"body":[{"esOuCode":1000,"sourceCode":"SAP","enabledFlag":1}]

PI/PO Token配置_第7张图片

在Headers的参数中添加Authorization,并使用{Authorization}的写法

PI/PO Token配置_第8张图片

而请求参数中的数据就传到了Headers

PI/PO Token配置_第9张图片

方法二:配置获取TOKEN链接到通道中

在这种配置中不需要在请求参数中传递AuthToken

不需要在Headers参数中传递AuthToken

直接将获取某平台Token的认证接口地址配置在此处,当调用业务接口时,临时通过认证接口先获取Token

PI/PO Token配置_第10张图片

问题解决

1、因为我们调用的业务接口时HTTPS类型的网址,但是缺少证书,需要在PI中配置网络证书

PI/PO Token配置_第11张图片

2、字段映射出现问题,导致接收数据时报错:

将映射的连线全部去掉,可以在返回的消息中找到返回的JSON,然后对照字段查看问题

PI/PO Token配置_第12张图片

3、返回401或者403禁用的错误

是因为没有传递TOKEN或传递的TOKEN无效

 

你可能感兴趣的:(PI/PO Token配置)