跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言java

SAP Web Service 基本配置与调用实战

SAP Web Service 配置涉及 RFC 模块发布、SOA 管理器设置及客户端调用全流程。核心步骤包括利用 SE37 创建 RFC 并映射为 Web 服务,在 SOAMANAGER 中启用服务并配置 WSDL 地址,必要时修改本地 hosts 文件解决访问问题。测试阶段推荐使用 SOAPUI 验证接口连通性,生产环境则需在 ABAP 中生成消费类对象,绑定逻辑端口后编写程序调用。此外,配合 SRT_UTIL 工具可追踪调用日志与异常详情,确保集成稳定性。

baireiraku发布于 2026/4/7更新于 2026/9/858 浏览
SAP Web Service 基本配置与调用实战

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 中查看类方法。重点关注导入和导出参数的类型,除第一个参数外,其余均为数据交换参数。

![截图:消费类方法参数]

六、创建逻辑端口

消费类创建后,必须绑定逻辑端口才能实际调用。

点击消费类名称下的"创建",填写 WSDL 地址、用户名和密码。配置完成后点击 Ping 测试,确保连接成功再进行下一步。

![截图:逻辑端口配置]

七、编写 ABAP 调用程序

最后编写具体的 ABAP 报告程序来调用服务。

*&---------------------------------------------------------------------*
*& Report ZWEB_DEMO
*&---------------------------------------------------------------------*
REPORT zweb_demo.

DATA: cl_test TYPE REF TO zclco_zif_ws_test01,
      lw_input TYPE zclzfm_webservice,
      lw_output TYPE zclzfm_webservice_response,
      obj_exception TYPE REF TO cx_ai_system_fault,
      erro_msg TYPE string.

* 初始化对象
IF cl_test IS NOT BOUND.
  CREATE OBJECT cl_test TYPE zclco_zif_ws_test01.
ENDIF.

* 赋值输入参数
lw_input = VALUE #( num1 = 1 num2 = 9 ).

TRY.
  * 指定逻辑端口名称
  CREATE OBJECT cl_test EXPORTING logical_port_name = 'ZIF_WS_TEST001_LOGIC_PORT'.
  CALL METHOD cl_test->zfm_webservice EXPORTING input = lw_input IMPORTING output = lw_output.
CATCH cx_ai_system_fault INTO obj.
  DATA(lv_mess) = obj->get_text( ).
ENDTRY.

WRITE: / lw_output-num, lv_mess.

说明: 代码中使用了异常捕获块,实际生产环境中务必根据业务需求处理异常信息,避免静默失败。

运行结果应显示计算后的数值及可能的错误信息。

![截图:ABAP 运行结果]

八、日志监控

调用过程中若出现异常,可通过事务代码 SRT_UTIL 进行排查。

开启跟踪功能(性能、功能、有效负载),默认追踪两小时。在错误日志中查看上下文及有效负载,可定位具体传参错误或网络问题。

![截图:SRT_UTIL 日志监控]

目录

  1. SAP Web Service 基本配置与调用实战
  2. 一、创建 RFC 程序
  3. 二、创建 Web 服务
  4. 1. 通过 SE37 直接创建
  5. 2. 通过 SE80 企业服务创建
  6. 三、配置启用 SOAMANAGER
  7. 1. 启动 SOAMANAGER
  8. 2. 调整 Hosts 文件
  9. 3. 服务配置
  10. 四、通过 SOAPUI 测试接口
  11. 1. 环境准备
  12. 2. 操作步骤
  13. 五、创建消费类
  14. 1. 生成消费类
  15. 2. 查看方法
  16. 六、创建逻辑端口
  17. 七、编写 ABAP 调用程序
  18. 八、日志监控

更多推荐文章

查看全部
  • LLaMA-Factory 本地部署与安装配置指南
  • 快速排序核心原理与多种实现方式详解
  • 云边端一体化解析:AI 时代的基础设施核心
  • 宇树机器人 G1 二次开发:FAST-LIO 建图与 RViz 配置
  • C++ STL 详解:vector 容器使用指南
  • Windows 环境下如何将本地代码推送到 Git 远程仓库
  • Vivado Aurora 8B/10B IP 核配置详解
  • 从哈希表到 unordered_map 与 unordered_set 的封装过程
  • 自然语言处理基础与文本分析系统开发
  • C++11 新特性:可变参数模板、类功能、STL 变化与包装器
  • Llama 开源家族演进:从 Llama-1 到 Llama-3 深度解析
  • FPGA 实现 IIC 通信原理与 Verilog 代码详解
  • FPGA 是什么?从原理到应用场景的深度解析
  • CCF-GESP 2025 年 12 月三级 C++ T1 密码强度检测
  • OpenClaw 龙虾机器人本地免费部署与配置指南
  • 如何提升自身 WEB 渗透能力?
  • Ubuntu 24.04 下使用 Docker Compose 本地部署 Whisper 服务
  • 海尔智能家居接入 HomeAssistant 配置指南
  • Java 包装类与泛型的核心机制及实战应用
  • SAP与Java系统WebService交互实践

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online