在ABAP程序中调用Web Service

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


概述:
 
无论是基于ABAP Workbench创建并发布的Web Service,还是在支持JAVA语言开发的SAP NetWeaver Developer Studio下创建并发布的Web Service,都可以在ABAP程序中进行调用
ABAP程序中调用Web Service的步骤是:
创建Web Service客户端代理对象
为客户端代理对象创建逻辑端口
ABAP程序中调用Web Service
 
创建Web Service客户端代理对象:
 
T-CODESE80
右键点击包名,选择创建代理对象
在ABAP程序中调用Web Service_第1张图片

选择WSDL文件寻址方式
通常情况下使用默认选项
在ABAP程序中调用Web Service_第2张图片

输入WSDL文件的URL地址
在ABAP程序中调用Web Service_第3张图片

输入登录Web Service服务器的用户名和密码
在ABAP程序中调用Web Service_第4张图片

输入要创建的Web Service客户端代理对象所属的包名和前缀
在ABAP程序中调用Web Service_第5张图片
注:
使用前缀的目的是避免系统为代理对象生成的数据结构与本地存储的数据结构重名发生冲突
前缀应遵循测试目的的以Y开头,正式程序以Z开头的原则
原则上讲,前缀的长度和内容没有限制,但是为了统一标准,建议前缀以YZ开头,后接2位数字序号(加前缀后的数据结构名称过长时,系统会从右侧进行截断)
在一个包中为一个Web Service只能创建一个代理对象,改变前缀只会重新生成代理对象
 
点击保存按钮
在ABAP程序中调用Web Service_第6张图片

输入Workbench request
在ABAP程序中调用Web Service_第7张图片

激活
在ABAP程序中调用Web Service_第8张图片

为客户端代理对象创建逻辑端口:
 
T-CODELPCONFIG
输入代理对象名,输入逻辑端口号,点击新建按钮
如果需要将该端口设置为默认端口,选中Checkbox
在ABAP程序中调用Web Service_第9张图片
注:
原则上讲,逻辑端口号的命名没有限制,但是为了统一标准,建议使用LP加两位数字序号
 
输入简短描述,检查语法并保存
在ABAP程序中调用Web Service_第10张图片

输入Customizing request
在ABAP程序中调用Web Service_第11张图片

激活
在ABAP程序中调用Web Service_第12张图片

在ABAP程序中调用Web Service:
 
客户端代理对象实际上是ABAP中的一个全局类
在ABAP程序中调用Web Service_第13张图片

ABAP程序中调用Web Service实际上就是在程序中调用代理对象类中封装的Method
在ABAP程序中调用Web Service_第14张图片

Method的参数的技术细节可以在Class Builder中查看
在ABAP程序中调用Web Service_第15张图片

定义用于创建对象的参考变量和用于参数传递的输入参数数据类型和输出参数数据类型
在ABAP程序中调用Web Service_第16张图片

代理对象类的构造函数用于指定逻辑端口号
在ABAP程序中调用Web Service_第17张图片

构造函数的参数的技术细节可以在Class Builder中查看
在ABAP程序中调用Web Service_第18张图片

创建对象时可以使用构造函数指定逻辑端口号
在ABAP程序中调用Web Service_第19张图片

如果使用的是默认的逻辑端口,直接创建对象即可
在ABAP程序中调用Web Service_第20张图片

调用Method
在ABAP程序中调用Web Service_第21张图片

通常情况下,输出参数数据类型是复杂的Structure结构,其字段可能是简单字段,也可能是Structure内表
在ABAP程序中调用Web Service_第22张图片

因此,在程序中,需要根据实际的需求对数据做进一步的处理
在ABAP程序中调用Web Service_第23张图片

你可能感兴趣的:(数据结构,Web,服务器,service,Class,structure)