本文主要是介绍SAP BTP在springboot项目中调用OnPremise API,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在原有项目上使用https://github.com/SAP-samples/cloud-espm-cloud-native
调用OnPremise前提需要在本地部署SAP Cloud Connector,这里只介绍BTP上的配置。
1、创建Connectivity Service,并与应用程序绑定,以espm-product-service为例:
后面连接使用到的有url,clientid,clientsecret,onpremise_proxy_host,onpremise_proxy_http_port。
2、创建Destination Service,进入服务并创建目标,根据前面SCC的配置进行填写,并与应用程序绑定,绑定的作用主要是使用环境变量取键值,如果想硬编码可以直接使用 位置标识、用户名、密码。
3、在BAS或者你的IDE中编写配置类,我使用的HTTPClient进行连接,首先使用connectivity服务中的onpremise_proxy_host,onpremise_proxy_http_port创建代理,接下来涉及到2个或3个请求头(取决于是否配置了location-ID):
(1)、Proxy-Authorization:代理验证头,使用connectivity服务中的clientid,clientsecret,url对 url+"oauth/token?grant_type=client_credentials&response_type=token" 进行请求返回access-token,最终Proxy-Authorization对应的值就是"Bearer "+access-token。
(2)、Authorization:验证头,使用Destination Service中的用户、密码,按照 " 用户:密码 " 的格式进行Base64编码,最终Authorization的值就是 "Basic "+Base64编码结果。
(3)、SAP-Connectivity-SCC-Location_ID:如果配置了就填写对应值。
4、使用HTTPClient进行调用OP API。
这篇关于SAP BTP在springboot项目中调用OnPremise API的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!