在ABAP程序中调用Web Service

概述:
 
无论是基于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 <wbr>Service

选择WSDL文件寻址方式
通常情况下使用默认选项
在ABAP程序中调用Web <wbr>Service

输入WSDL文件的URL地址
在ABAP程序中调用Web <wbr>Service

输入登录Web Service服务器的用户名和密码
在ABAP程序中调用Web <wbr>Service

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

输入Workbench request
在ABAP程序中调用Web <wbr>Service

激活
在ABAP程序中调用Web <wbr>Service

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

输入Customizing request
在ABAP程序中调用Web <wbr>Service

激活
在ABAP程序中调用Web <wbr>Service

在ABAP程序中调用Web Service:
 
客户端代理对象实际上是ABAP中的一个全局类
在ABAP程序中调用Web <wbr>Service

ABAP程序中调用Web Service实际上就是在程序中调用代理对象类中封装的Method
在ABAP程序中调用Web <wbr>Service

Method的参数的技术细节可以在Class Builder中查看
在ABAP程序中调用Web <wbr>Service

定义用于创建对象的参考变量和用于参数传递的输入参数数据类型和输出参数数据类型
在ABAP程序中调用Web <wbr>Service

代理对象类的构造函数用于指定逻辑端口号
在ABAP程序中调用Web <wbr>Service

构造函数的参数的技术细节可以在Class Builder中查看
在ABAP程序中调用Web <wbr>Service

创建对象时可以使用构造函数指定逻辑端口号
在ABAP程序中调用Web <wbr>Service

如果使用的是默认的逻辑端口,直接创建对象即可
在ABAP程序中调用Web <wbr>Service

调用Method
在ABAP程序中调用Web <wbr>Service

通常情况下,输出参数数据类型是复杂的Structure结构,其字段可能是简单字段,也可能是Structure内表
在ABAP程序中调用Web <wbr>Service

因此,在程序中,需要根据实际的需求对数据做进一步的处理
在ABAP程序中调用Web <wbr>Service


原文地址:https://www.cnblogs.com/cnlmjer/p/4099793.html