SAP Web Service 基本配置与调用实战
Web Service 在 SAP 生态中主要用于解决异构系统间的信息共享与通信问题。相比 CORBA 或 DCOM,其技术门槛更低,且基于 XML 传输,天然支持跨防火墙和跨平台交互。
一、创建 RFC 程序
首先需要在 SAP 系统中创建一个可被调用的函数模块。进入事务代码 SE37,选择"实用程序 -> 更多使用程序 -> 创建 Web 服务 -> 来自函数模块"。
![截图:SE37 创建函数模块界面]
注意: RFC 模块仅允许使用具有传递值的参数,这是后续映射的基础。
二、创建 Web 服务
有两种方式可以将函数模块发布为 Web 服务:
1. 通过 SE37 直接创建
在函数模块维护界面,选择"创建 Web 服务"。填写服务定义和描述后继续。选择之前创建的函数并选中 Map Name,Profile 通常选择 NO * and NO * 即可。最后分配开发包和请求号,点击完成。
![截图:SE37 服务定义界面]
2. 通过 SE80 企业服务创建
右键选择"创建 -> 企业服务",选择 Service Provider。填写服务定义后,关联 Function Module。流程与 SE37 类似,最终确认 Profile 设置并保存。
![截图:SE80 创建企业服务界面]
创建完成后,可在服务定义下查看生成的 Web Service 详情。
![截图:查看 Web Service 详情]
三、配置启用 SOAMANAGER
发布服务后,需要激活并配置 SOA 管理器。
1. 启动 SOAMANAGER
运行事务代码 SOAMANAGER。如果无法打开浏览器,常见原因包括未使用 IE 内核浏览器、缺少公司 VPN 权限、401 未授权(检查客户端号)或未配置 hosts 文件。
若常规路径无法访问,可尝试通过事务代码 SCIF 跳转至 default_host/sap/bc/webdynpro/sap/APPL_SOAP_MANAGMENT 进行测试。
![截图:SOAMANAGER 登录界面]
2. 调整 Hosts 文件
有时本地解析失败,需修改本机 hosts 文件(通常位于 C:\Windows\System32\drivers\etc)。将系统 IP 地址与端口前的主机名对应写入,保存后移回原路径。
3. 服务配置
在 SOAMANAGER 的"服务管理"页签下找到"Web 服务配置"。搜索并选中刚创建的服务,点击"创建服务"。按向导填写配置信息,默认下一步直至完成。最后点击显示 WSDL 地址并保存,该地址将在后续消费端调用时使用。
![截图:SOAMANAGER 服务配置界面]
四、通过 SOAPUI 测试接口
在正式集成前,建议使用 SOAPUI 验证接口连通性。
1. 环境准备
安装 Java 环境并解压 SOAPUI 安装包即可使用。
2. 操作步骤
新建 Project,填入 WSDL 地址及认证信息。输入用户名和密码后点击运行,观察响应结果。在 Raw 页签显示 OK 即表示接口正常。
![截图:SOAPUI 测试结果]
五、创建消费类
在 ABAP 环境中调用 Web Service,需先生成消费类对象。
1. 生成消费类
进入事务代码 SE80,选择"Service Consumer",外部 WSDL/Schema 选择 URL,粘贴之前保存的 WSDL 地址。填写必要信息后完成创建。
![截图:SE80 创建消费类]
2. 查看方法
双击消费类名称,或在 SE24 中查看类方法。重点关注导入和导出参数的类型,除第一个参数外,其余均为数据交换参数。


