版权声明:本文为CSDN博主「stone0823」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stone0823/article/details/81255772
欢迎关注原作者博客。
货铺QQ群号:834508274
微信群不能扫码进了,可以加我微信SAPliumeng拉进群,申请时请提供您哪个模块顾问,否则是一律不通过的。
进群统一修改群名片,例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接,小程序等,进群看公告,谢谢配合
不修改昵称会被不定期踢除,谢谢配合。
SAP 推荐以 OData 方式提供 Restful Service。Netweaver 7.4 之后的版本可以直接使用 OData 服务。7.4 之前的版本需要升级 GW_CORE、IW_FND 和 IW_BEP 三个核心组件(参见 SAP OSS Note:1569624)。
7.4 之前的版本也可以用另外一种方式,也即本文要介绍的方法。SAP 提供 Restful Web Service,从技术层面上来说可以分解为三个问题:
SAP 对外提供 Http Service
在 SAP 端解决诸如 authentication,cookie, session 等 Http server 必须解决的问题
SAP 端实现将响应 (response)以 json 格式返回给客户端,对客户端 json 格式的请求(request)解析并处理
本篇先介绍第一个部分。
SAP 如何提供 Http Service
SAP 对外提供 web service 需要用到一个叫 ICF (Internet Commincation Framework) 的框架。参考 SAP help,该框架的体系如下:
如果要将 SAP 应用程序服务器 (application server)作为 http 服务提供者,需要定义一个类,这个类必须实现 IF_HTTP_EXTENSION 接口。IF_HTTP_EXTENSION 接口只有一个方法 HANDLE_REQUEST。自定义的这个类必须实现 HANDLE_REQUEST 方法。HANDLE_REQUEST 方法的 SERVER 参数是一个 http server 对象 (类型为 ICF 框架的 IF_HTTP_SERVER 接口)。http server 对象具有的属性和方法对请求和响应进行处理。
然后使用 SICF 事务码创建服务,并且将处理器(handler)设定为自定义类。客户端就可以访问这个服务了。
接下来实现一个最简单的 http service,json 格式使用硬编码实现。
定义实现 IF_HTTP_EXTENSION 接口的类
使用事务码 SE24 创建一个类,类名为 ZLM_RESTFUL_01
新浪贴图太麻烦了
具体直接访问公众号吧:
https://mp.weixin.qq.com/s/PKDCpC2tdBddBRZP8kpLlA