• 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无效

  • 相关阅读:
    团队开发项目客户端——游戏子系统的设计(上)
    团队开发项目客户端——注册子系统的设计
    团队项目开发客户端——登录子系统的设计
    协程库
    Linux下用命令查看CPU ID以及厂家等信息
    c++中字符串的截取:
    C++ STL 的各结构实现
    关于mysql查询最近一条记录
    BerkeleyDB原理及其对应API
    高性能服务器设计(Jeff Darcy's notes on high-performance server design
  • 原文地址:https://www.cnblogs.com/BinGeneral/p/12867439.html
Copyright © 2020-2023  润新知