基于ABAP Workbench创建并发布Web Service

本文转自:http://blog.sina.com.cn/s/blog_411d23830100nv81.html


Web Service概述:
 
Web Service是一个独立的、模块化的、自我描述的application function或服务
基于XML标准,可以使用标准互联网协议描述、使用、定位或调用这个application function
每个Web Service都封装了一个可用功能,例如对供应商提供价格查询、检查ERP中一个对象的可用性、查询电话号码、运行信用卡检查、货币转换等等
服务的提供着通常被称为Service provider
对于Web Service而言,其服务提供者必须有一个相应的基于XML的描述,这就是WSDL文档
原则上讲,服务可以使用任何一种程序设计语言实现
基于HTTP传输协议,简单对象访问协议(SOAP)目前被确定为准标准访问协议
对于C/S架构,服务提供者相当于服务器端
 
当服务发布时,服务提供者将其自身的相关信息以及其提供的服务的相关描述传送到服务注册表(Service registry
服务注册表相当于Web Service黄页
服务注册表提供的仅是对Web Service的描述,形成独立于实现的抽象层,而实际的Web Service由服务提供者持有
使用Web Service的一方被称为服务请求者(service requester
服务请求者可以是一个通过Web浏览器定位Web Service并使用的用户,更普遍的情况下,服务请求者是一个访问Web Service的应用程序
应用程序也可以封装给服务请求,这样,应用程序可以在运行时动态生成Web Service客户端代理访问Web Service
应用程序从服务注册表中有序存储的服务描述中获取必要的信息
对于C/S架构,服务请求者相当于客户端
 
Web Service支持各种应用程序对其进行调用,这就需要一种标准化的描述方式,Web Service描述语言(WSDL)能够很好地迎合这一需求
此外,为了寻找正确的BPbusiness partner)和相应的服务,并使服务提供者尽可能简单地提供有效服务,使用UDDIUniversal Description, Discovery, Integration)是种有效的方式
SOAP(简单对象访问协议)提供了一种在分散的分布式环境下调用Web Service的直接的标准
SOAP基于XML语言定义,形式为Envelope,包含实际的XML消息和附加信息
 
XML
Extensible Markup Language(扩展标记语言)
XML是一种通过互联网交换结构化文档的扩展标记语言
XML文档越来越多地用在支持商业文档和信息的交换
 
SOAP
SOAP指定了一个包含了通过互联网协议HTTPS)、SMTPFTP传输的XML文档的包
SOAP协议用于在分布式系统环境下调用Web Service
一条SOAP消息由消息头和消息体组成
消息头带有关于安全与事务的附加信息
消息体是消息内容
 
WSDL
Web Service Description Language
WSDL是基于XMLWeb Service描述语言
WSDL文档由服务名,使用服务时需要交换的消息,与指定传输协议的链接和Web Service的可用地址组成
WSDLUDDI的一个必要组成部分,并由UDDI使用
 
UDDI
Universal Description, Discovery and Integration
UDDI是可通过互联网访问的基于Web的注册表
注册表由WSDL格式的Web Service列表组成,用于定位这些服务
UDDI不同于其他注册表服务,它仅引用而不存储文档或说明书
 
Web Service的调用过程
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

 
SAP在支持JAVA语言开发的SAP NetWeaver Developer Studio和支持ABAP语言开发的ABAP Workbench中提供了一个标准化的体系结构和用于创建Web Service的工具集
可以用于创建Web Service的对象:
BAPIs
RFCs
Enterprise JavaBeansEJBs
Java classes
SAP XI server proxies
ABAP实现的Web ServiceSOAP请求使用ICFInternet Communication Framework)进行处理
 
Web Services for SAP NetWeaver 7.0:
 
经典的SAP R/3系统具有三层C/S体系结构:
表示层
应用层
数据库层
SAP NetWeaver Application Server在经典C/S技术基础上有了进一步的发展
SAP内核进行扩展,增加了一个新的处理单元:互联网通讯管理器ICMInternet Communication Manager
ICM用于直接处理经由Web浏览器或HTTP协议创建的请求
 
互联网通讯框架
Internet Communication FrameworkICF
ICF为在SAP系统的work process中处理HTTP请求提供了环境
ICFABAP类和接口组成,这些类和接口的基本对象可以被实例化
这里,有两个重要接口值得一提:
服务器端:IF_HTTP_SERVER
客户端:IF_HTTP_CLIENT
 
可以使用T-CODESICF浏览HTTP Service Tree
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

创建Web Service:
 
命名规则:
测试目的的程序以Y开头
正式发布的程序以Z开头
 
创建的Web Service需要指定所属的package,如果需要创建新的package,使用T-CODESE21
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入要创建的package名,点击创建按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入package的简短描述,点击保存按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

package指定一个用于transportWorkbench request,点击继续按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

如果需要新建request,点击新建按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

为要创建的request输入简短描述,点击保存按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

这样,package就被成功创建了
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

需要注意的是,用于存放Web Servicepackage需要设置两个use access
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

点击创建按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入SAI_TOOLS,点击对勾按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

采用同样的方式添加use access SAPPINT
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

点击保存按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

为RFC创建Web Service:
 
T-CODESE80
任选一个包(并不是Web Service所属的包,所以无所谓),点击右键,启动Web Service创建向导
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

点击继续按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入要创建的Web Service名,简短描述和服务类型,点击继续按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入RFC名,点击继续按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

这一屏的checkbox如果选中
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

在创建的Web Service中,RFC的名称会进行转换,单词首字母大写并删除下划线
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

这一屏的checkbox如果选中,在Web Service创建完成时会进行发布,否则,需要在创建完成后使用T-CODEWSCONFIG进行发布
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

点击完成按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

指定创建的Web Service所属的package
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

指定Workbench request
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

指定Customizing request
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

Web Service创建完成
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

为BAPI创建Web Service:
 
重复操作的部分不再赘述,只对不同的部分进行叙述
服务类型选择BAPI
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入业务对象BO及对象类型
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

选择Web Service要包含的当前BOmethodsBAPIs),至少选择一个
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

Web Service创建完成
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

为Function Group创建 Web Service:
 
重复操作的部分不再赘述,只对不同的部分进行叙述
服务类型选择Function Group
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入Function Group
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

选择Web Service要包含的当前Function Group中的RFC,至少选择一个
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

Web Service创建完成
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

创建Web Service:
 
对于RFCFunction Group,还有另外一种方式创建Web Service
T-CODESE37,输入RFC名,点击显示按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

在菜单栏如图所示的路径下,可以选择为当前RFC或当前RFC所属Function Group创建Web Service
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

如果创建Web Service时没有勾选在运行时发布,则在创建完成后,需要使用T-CODEWSCONFIG行发布
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入Web Service名,选择变量名,点击创建按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

点击保存按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入Customizing request
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

Web Service发布成功后就会出现在Web Service Homepage下的列表中
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

测试Web Service:
 
T-CODEWSADMIN
首先,设置J2EE服务器地址
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

地址格式为<http(s)>://<JavaServerHost>:<JavaServerPort>
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

选中要测试的Web Service,点击执行按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

选择生成WSDL的类型
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入登录Web Service服务器的用户名和密码
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

点击Test进入测试页面
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

选择要测试的Method
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

在测试页面左侧会列出输入参数,非必输字段后面会有一个SKIP选项,如果不输入,需要把SKIP选中,否则处理会出错
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

表类型的参数后边有一个加号图标,点击可以为表增加一行,点击减号图标可以删除一行
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

Timeout用于设置超时时间,缺省值为60
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入必要的输入参数后,点击发送按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

响应结果会出现在右侧
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

查看WSDL文件:
 
T-CODEWSADMIN
选中Web Service,点击WSDL按钮
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

输入登录Web Service服务器的用户名和密码
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

查看WSDL源代码
基于ABAP <wbr>Workbench创建并发布Web <wbr>Service

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP WorkbenchSAP 系统中用于开发和维护 ABAP 程序的集成开发环境。它包括了一系列的工具和功能,可以用于创建、修改和测试 ABAP 程序。下面我来分享一个 ABAP Workbench 的案例。 某公司需要开发一个新的人事管理系统,用于管理员工的个人信息,薪资数据和考勤情况。 首先,开发团队在 ABAP Workbench创建了数据模型,用来存储员工的个人信息、薪资和考勤数据。他们使用 ABAP Workbench 中的数据字典工具来定义这些数据模型,并在其中建立各种数据表和字段。 接着,开发团队使用 ABAP Workbench 中的 ABAP Editor 编辑器来编写员工管理系统的业务逻辑。他们利用 ABAP Workbench 中的代码检查和调试工具来确保程序的正确性和稳定性。 在开发完成之后,测试团队使用 ABAP Workbench 中的测试工具对程序进行全面的测试,包括单元测试和集成测试。他们利用 ABAP Workbench 中的断点和监视功能来排查程序中的错误和问题,并进行相应的修正和优化。 最后,开发团队使用 ABAP Workbench 中的 Transport Organizer 工具将程序从开发环境迁移到生产环境,并进行最终的部署和上线。他们还可以利用 ABAP Workbench 中的版本管理功能来管理和追踪程序的修改历史。 通过以上案例,我们可以看到 ABAP Workbench 在整个开发周期中发挥了重要作用,帮助开发团队高效地创建、测试和部署了人事管理系统。ABAP Workbench 提供了一体化的开发环境和全面的工具支持,使开发人员可以在一个集成的环境中完成所有的开发工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值