摘要:本文详细介绍了在SAP系统中创建RFC函数和Web Service的完整流程。首先在SE80中创建远程启用的函数模块,定义输入/输出参数表结构并编写处理逻辑。然后通过企业服务向导创建Web Service,选择Function Module作为服务源并设置SOAP配置。最后在SOA管理器中配置服务安全策略(用户名/密码认证)、创建技术参数文件和服务注册表连接,最终生成WSDL地址供外部调用。整个过程涵盖了从函数开发到服务发布的完整生命周期管理。
- 创建RFC函数
SE80,在函数组下,右击->创建,创建函数模块,填写函数模块名称及描述。
- 函数属性标签页,选择“远程启用的模块”,其余默认不变。
- 函数导入标签页,需要添加调用时传入的参数(表),“传递值”需勾选。
表类型:ZSHR_EMPLOYEER_T (需要自己创建)
行类型:ZSHR_EMPLOYEER (需要自己创建)
- 函数导出标签页,需要添加调用返回的参数(表),“传递值”需勾选。
表类型:ZSHR_EMPLOYEER_OUT_T (需要自己创建)
行类型:ZSHR_EMPLOYEER_OUT (需要自己创建)
- 函数源代码标签页,需要写代码实现把传入的数据保存在透明表中。
至此,函数创建完成。
- 创建Web Services
右击包名 à 创建 à 企业服务,进入如下页面,选择“Service Provider”,因为我们是服务提供者,点击“继续”。
- 选择“Existing ABAP Object (Inside Out)”,点击“继续”。
- 给服务起名,并填写描述,点击“继续”
- 选择“Function Module”,点击“继续”。
- 填写我们第一步创建的函数,并勾选“Map Name”,点击“继续”。
- SOAP Appl默认不变,Profie下拉框选择第四个选择,即不进行权限认证。点击“继续”。
- 填写对于的包和请求,点击“继续”。
下一步,直接点击“完成”。服务创建成功。
- 配置SOA
使用T-CODE:soamanager,进入web页面的SOA管理(client=100)。
- 点击“简化Web服务配置”,进入如下设置页面,点击“执行”,从列表中找到自己创建的服务,勾选第一个checkbox,User Name/Password(basic),点击列表左上角的“保存”,之后页面右上角的“返回”按钮,返回首页。
这一步设置,代表我们只设置用户名/密码的调用认证方式。
- 点击 技术管理 à 参数文件 à 创建参数文件
- 点击“下一个”按钮,认证方式依然选择“User ID/Password”,其他都默认,直至完成。
- 点击 服务注册表 à 服务注册表消费者设置 à 服务注册表连接 à 创建。
- 输入“注册表”,点击“下一个”,输入完点击“完成”。
以上两步设置了,外部用户调用接口时的一些参数,及用户名/密码。
- 点击web服务配置,根据如图所示的条件,搜索到前面创建的服务。
- 点击上图的内部名称,查看服务的详细信息。
- 点击操作栏,垃圾桶后面的按钮,即可查看生产的WSDL URL。把这个URL提供给需要的用户,就可以调用我们的接口了。