SAP PO - Dynamic token of rest receiver channel

背景:

最近有潜在需求,希望SAP能自动推送异常信息给对应的钉钉用户,和负责钉钉的同事讨论后,确定自动推送工作通知消息,本次仅做研究,为后续工作做技术刺探。

问题描述:

研究钉钉发送工作通知API后,通过官方API Explorer和第三方工具均可以成功调用,不过最大的问题在于Token有效期仅2小时,如果通过SAP PI 调用就需要先解决动态Token的问题。(公司要求SAP对外网仅能通过SAP PI,只有这条路了)

分析钉钉请求结构(https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=ACCESS_TOKEN),需要将Token拼接到请求中,而SAP PI 提供的认证方式,仅Oauth 支持,但是钉钉并没有采用通用的Oauth 认证方式(参数不同,无法使用),这就是最大的问题点。

方案描述:

当你头大的时候,就要想,SAP作为行业解决方案的专家,这种例外情况没考虑到?如果没有,就不能叫专家了。如果有,那就是自己还没有发现,需要求助官网和各路大神了。这不,曲线报国的方案就来了,有两个方案可以实现本需求。

1、开发两个SAP PI接口,第一个接口专门负责获取Token,第二个接口专门负责推送(通过替换拼接到URL中)

2、研究SAP PI的UDF功能,在ESR的message mapping for request 组件中请求Token,而后在

Communication channel for receiver中通过替换拼接到URL中。

关于第一个方案,已经有大神实现了,这里不用赘述,本文中详细讲解第二个方案。

方案细节:

方案中与常规SAP PI的不同点主要有两处:1、UDF功能   2、替换拼接功能。

下面就根据这两个功能点做详细分析:

1、UDF功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值