写点什么

ABAP- 发布 Restful 服务

  • 2022 年 6 月 30 日
  • 本文字数:731 字

    阅读完需:约 2 分钟

在 SAP 与外围系统进行数据交互时,有时需要发布 Restful 服务给外部系统调用,下面是 SAP 发布 Restful 服务的一个简单实例

创建实施类

事务代码:SE24



设置需要实现的接口:IF_HTTP_EXTENSION



实现实施类

主要实现的方法:IF_HTTP_EXTENSION~HANDLE_REQUEST



实现代码

METHOD if_http_extension~handle_request.    TYPES: BEGIN OF ty_input,             rows TYPE i,           END OF ty_input.
DATA: l_input TYPE ty_input.
DATA: i_string TYPE string, o_string TYPE string.
"Get Importing Json i_string = server->request->if_http_entity~get_cdata( )."
"Deserialize Json to data /ui2/cl_json=>deserialize( EXPORTING json = i_string CHANGING data = l_input ).
"Get Return Data SELECT * FROM sflight INTO TABLE @DATA(lt_sflight) UP TO @l_input-rows ROWS.
"Serialize Data to Json o_string = /ui2/cl_json=>serialize( lt_sflight ).
"Set the return data format CALL METHOD server->response->if_http_entity~set_content_type EXPORTING content_type = 'application/json'.
"set exporting data server->response->set_cdata( EXPORTING data = o_string ).
ENDMETHOD.
复制代码



定义 RESTful 服务

事务代码:SICF,新建子元素




设置服务处理器



设置默认登录信息(如果不设置,访问数据则需要 SAP 账号认证)



激活服务




测试服务

直接测试服务是否可访问




使用第三方工具 APIPost SoaUI 测试

设置 Json 查询数据



设置 SAP 账号认证(SICF 未设置默认认证账号时使用)



发送请求,拿到返回数据

转载于:https://blog.csdn.net/qq_30797051/article/details/123916970

用户头像

还未添加个人签名 2022.06.08 加入

还未添加个人简介

评论

发布
暂无评论
ABAP-发布Restful服务_abap_桥下本有油菜花_InfoQ写作社区