千家信息网

ABAP编程环境里怎么消费第三方服务

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍"ABAP编程环境里怎么消费第三方服务",在日常操作中,相信很多人在ABAP编程环境里怎么消费第三方服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"A
千家信息网最后更新 2026年11月02日ABAP编程环境里怎么消费第三方服务

这篇文章主要介绍"ABAP编程环境里怎么消费第三方服务",在日常操作中,相信很多人在ABAP编程环境里怎么消费第三方服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"ABAP编程环境里怎么消费第三方服务"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在ABAP On-Premises环境下,使用ABAP编程消费第三方服务,相信很多ABAP顾问都已经非常熟悉了,无非就是使用CL_HTTP_CLIENT或者CL_REST_HTTP_CLIENT来发送和接收HTTP请求。

下图这短短的38行代码,展示了如何使用ABAP工具类CL_HTTP_CLIENT去访问百度首页并拿到回复。

从百度返回的响应,通过方法GET_CDATA获得,存储于变量rv_data内:

当然如果我们是做正式的产品开发的话,一般不会把第三方服务的URL硬编码在应用程序里,而是通过事务码SM59创建的Destination管理第三方服务的endpoint,然后把Destination名称存储于配置表里,这样使得第三方服务的URL同应用代码解除耦合关系。

下图是一个例子,我在SM59事务码里维护了一个指向某C4C系统的Destination,取名为C4C:

然后在ABAP代码里使用cl_http_client=>create_by_destination创建HTTP工具类的实例。后续操作同使用cl_http_client=>create_by_url构造实例的代码一致,这里不再重复。

如果我们直接把On-Premises环境下的这些ABAP代码搬到SAP Cloud Platform的ABAP环境里,会遇到很多语法错误:

原因在Jerry的第一篇介绍SAP云平台ABAP编程环境的文章 在SAP云平台ABAP编程环境上编写第一段ABAP程序 里就已经提到,云端的ABAP编程模型支持的只是ABAP编程语言的一个子集,我们只能使用SAP开放的白名单里的资源,这个白名单即上图左边Released Objects里面包含的内容。

因为Jerry在On-Premises环境里使用过的CL_HTTP_CLIENT, CL_REST_HTTP_CLIENT, IF_HTTP_CLIENT等ABAP类和接口均不在白名单内,故无法在ABAP云端环境使用。

既然在云端了,我们就得使用云端的编程范式。

Jerry去年的文章使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数 里曾经介绍过运行在云端的Java应用如何通过SAP云平台上创建的Destination来调用ABAP On-Premises系统里的RFC函数。如今我们在云上运行的应用的编程语言从Java换成了ABAP,然而借助Destination进行第三方服务调用的思路仍然不变。

Jerry先把正确答案公布出来,在SAP Cloud Platform ABAP编程环境访问第三方服务的代码如下:

可以看到其思路就是通过CL_HTTP_DESTINATION_PROVIDER这个云端的Destination工厂类,拿到Destination实例,然后基于该实例创建云端上的ABAP HTTP客户端实例。工厂类生产Destination实例需要两个参数:

  • i_name

  • i_service_instance_name

根据这个方法的接口注释,这两个参数分别为Destination的名称和Service instance的名称。下面Jerry介绍如何获得这两个参数的值。

在SAP Cloud Platform Service Marketplace里创建一个新的Destination实例:

我们把新建的实例取名为DestService,然后再基于该实例创建一个Destination配置,这个配置就好比我们在ABAP On-Premises的SM59事务码里创建的Destination:

Destination我取名为ZJERRY_API, 这就是前面提到的工厂方法里第一个参数i_name值的由来。

点击Check Connection,确保该Destination指向的URL可以访问:

然后点击Open Dashboard,打开这个SAP Cloud Platform ABAP实例的Fiori界面:

点击Launchpad tile,创建一个新的Communication Arrangements:

需要为新建的Communication Arrangement选择一个Communication Scenario,这里我选择SAP标准发布的专门用于CloudFoundry环境同第三方服务进行集成的场景,ID为SAP_COM_0276:

创建Communication Arrangement时还要维护Service Key信息:

这个Service Key的信息可以从Destination实例列表的Service Key维护界面获得:

在创建好的Communication Arrangement里,维护Service Instance Name的值为jerry-service-instance, 这也就是ABAP代码里传给工厂方法的第二个参数。

执行这个ABAP类:

获得期望的输出:

到此,关于"ABAP编程环境里怎么消费第三方服务"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

环境 编程 第三方 服务 实例 云端 代码 消费 参数 方法 工厂 平台 学习 应用 两个 事务 名单 名称 就是 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技战争 华宇互联网科技 壕鑫互联网络科技 友谊互联网络科技 福州新华互联网科技学校 知乎 现代互联网科技股 宜昌元轩互联网科技有限公司 互联网科技与大数据专业 允成互联网科技有限公司融资 广州新华互联网科技学校电竞方面 合肥互联网科技公司公章图片 南通创西澳互联网科技有限公司 电子商务与互联网科技的关系 雨阳互联网卡科技有限公司 富国互联网金融科技混合基金 互联网科技年终奖 互联网安防科技感 珠海东科互联网科技有限公司 互联网高科技行业有哪些企业 互联网科技手机排行榜 耶加雪菲 互联网金融 科技 南京欣网互联网科技 天速互联网络科技有限公司 北京华百购互联网科技有限公司 昭通云南众福互联网科技有限公司 阿大互联网科技有限公司 东莞新华互联网科技学校 区块链结合互联网科技 扫呗互联网科技有限公司
0