在ABAP程序中调用Web Service
SAP BC416
王钊/HyWise
2008.11.21
变更记录
初次发布1.02008-11-21王钊Detail contents
Version Date Producer
概述
?无论是基于ABAP Workbench创建并发布的Web Service,还是在支持JAVA语言开发的SAP NetWeaver Developer Studio下创建并发布的Web Service,都可以在ABAP程序中进行调用?在ABAP程序中调用Web Service的步骤是:
?创建Web Service客户端代理对象
?为客户端代理对象创建逻辑端口
?在ABAP程序中调用Web Service
?T-CODE:SE80
?右键点击包名,选择创建代理对象
?选择WSDL文件寻址方式?通常情况下使用默认选项
?输入WSDL文件的URL地址
?输入登录Web Service服务器的用户名和密码
?输入要创建的Web Service客户端代理对象所属的包名和前缀
?注:
?使用前缀的目的是避免系统为代理对象生成的数据结构与本地存储的数据结构重名发生冲突?前缀应遵循测试目的的以Y开头,正式程序以Z开头的原则
?原则上讲,前缀的长度和内容没有限制,但是为了统一标准,建议前缀以Y或Z开头,后接2位数字序号(加前缀后的数据结构名称过长时,系统会从右侧进行截断)
?在一个包中为一个Web Service只能创建一个代理对象,改变前缀只会重新生成代理对象
?点击保存按钮
?输入Workbench request
?激活
?T-CODE:LPCONFIG
?输入代理对象名,输入逻辑端口号,点击新建按钮
?如果需要将该端口设置为默认端口,选中Checkbox
?注:
?原则上讲,逻辑端口号的命名没有限制,但是为了统一标准,建议使用LP加两位数字序号
?输入简短描述,检查语法并保存
?输入Customizing request
?激活
?客户端代理对象实际上是ABAP中的一个全局类
?在ABAP程序中调用Web Service实际上就是在程序中调用代理对象类中封装的Method
?Method的参数的技术细节可以在Class Builder中查看
?定义用于创建对象的参考变量和用于参数传递的输入参数数据类型和输出参数数据类型
?代理对象类的构造函数用于指定逻辑端口号