最详细的 SAP ABAP Web Service 创建和消费步骤讲解-阿里云开发者社区

开发者社区> jerrywangsap> 正文

最详细的 SAP ABAP Web Service 创建和消费步骤讲解

简介: 最详细的 SAP ABAP Web Service 创建和消费步骤讲解
+关注继续查看

本文原版发表于 SAP 官方社区,当时用的英文版写作,标题为:Step by step to create, consume and trace web service in ABAP system

https://blogs.sap.com/2014/05/20/step-by-step-to-create-consume-and-trace-web-service-in-abap-system/


总共阅读量超过 18 万。


image.png


How to create web service provider in ABAP system

如何在 SAP ABAP 系统创建 web service 提供者

本文主要思路就是创建一个 ABAP function module,然后通过事物码 SOAMANAGER 将其封装成 web service.


下面这个函数在 SAP CRM 里创建,逻辑是简单地根据 SAP CRM 产品 ID,从数据库表里读取其描述信息并返回。

image.png

需要用事物码 SOAMANAGER 暴露成 Web Service 的函数,必须标注成 Remote enabled:

image.png



SE37 里,菜单 Utilities->More Utilities->Create Web Service->From the Function Module:


image.png


按照向导一步步 Next 即可,按照自己的实际场景,选择合适的 Web Service 调用安全认证机制。


image.png

完成向导后,应该能得到如下的服务定义:


image.png


点击上图 ALV 面板的 “WSDL” 标签页,浏览 Web Service 的 WSDL:


image.png


使用事物码 SOAMANAGER, 创建 Web Service Configuration:


image.png


找到我们刚才通过向导创建好的服务定义:

image.png



点击 Create Service 按钮:


image.png


选择合适的通信安全设置(Community Security):


image.png


点击 Finish 按钮:


image.png


现在这个 web service 就可以消费了。点击这个图标:Open Binding WSDL Generation:


image.png


把这个用于绑定的 WSDL 链接保存下来备用。


image.png


下面介绍 SAP ABAP Web Service 的消费步骤。


事物码 SE80,新建一个 Service Consumer:

image.png


在 Generation Source 里,选择 External WSDL / Schema:


image.png


把之前我们创建的 Service Definition 里创建好的 Service Definition WSDL Url,粘贴过来:


image.png


激活 Service Consumer,会自动生成一个 ABAP 类,这个类用于消费 web service. 激活该类,记下其名字。


image.png


回到事物码 SOAMANAGER, 找到之前创建的 Consumer Proxy:


image.png


创建一个新的 logical port:


image.png



将 Web Service 创建时保存的 url 填进去。记住不能将 SE80 里 WSDL 标签页里的 url 填入,否则会遇到下列错误:

image.png

image.png


从 SE80 Service Consumer 里,我们能观察到这个代理类的输入和输出参数定义。


现在就可以在 ABAP 报表里,消费这个 proxy class 了。


image.png


完整的 ABAP 代码:


image.pngimage.png

image.png

我们执行这个 ABAP 报表,通过 web service 调用的方式,根据产品 ID ARNO_TEST004,拿到了其描述信息:TEST FOR WORKSHOP dsf test 11 tesdgt12


image.png


这个描述信息,和我们在 WebClient UI 上观察到的一致:


image.png


ABAP Web service 执行的监控和跟踪

事物码 SRT_UTIL, 为需要进行 Web Service 执行监控的用户,创建一个新的配置:


image.png


将 Functional Trace 下拉菜单项的值选择成 High. 根据实际需要,也可以启用 Performance Trace 和 Payload Trace,这些选项默认都是关闭状态:Inactive.


最后别忘了点击 ”Save Configuration“ 按钮。


image.png


重新执行会触发 Web Service 调用的操作。然后回到事物码 SRT_UTIL,点击 Functional Trace,点击刷新按钮,就看到了刚才 Web Service 调用的执行明细。


其实用法和 SQL Trace 即事物码 ST05 很类似。


image.png


双击类型为 ”Response“ 的某一行,能看到 Web service 调用返回的明细,比如之前提到的,根据输入产品 ID 去数据库查询,再返回的产品描述信息:TEST FOR WORKSHOP dsf test 11 tesdgt12

image.png


image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9945 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13692 0
如何在SAP CRM里创建和消费Web service
Created by Wang, Jerry, last modified on Dec 19, 2014 The following steps demonstrates how to expose a function module as a web service in CRM.
1335 0
如何在SAP ABAP系统里创建和消费Web Service
如何在SAP ABAP系统里创建和消费Web Service
8 0
+关注
2628
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载