zoukankan      html  css  js  c++  java
  • PI/PO Token配置

    接收方通道配置

    因为本例中需要在访问业务接口时,获取某平台的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无效

  • 相关阅读:
    MySQL 8.0 复制延迟观测新方式
    同一台交换机不能相互访问?
    这地方怪怪的
    虾米事情都要在5月30日以前完成
    我搬新家了
    痛恨财务的……
    关于Android Studio Arctic Fox版本找不到Database Inspection这件事
    部署SpringBoot项目到腾讯云或其他服务器
    Object.keys方法之详解
    博客园新随笔 添加锚点
  • 原文地址:https://www.cnblogs.com/BinGeneral/p/12867439.html
Copyright © 2011-2022 走看看