一、SE80进入工作台,选择开发包,在包名上右键,创建代理对象
选择 Proxy Object
选择Service Provider
选择Existing ABAP Objects
输入WEB SERVICE的服务名以及描述。并选择END-POINT类型。在本示例里选择FUNC,即根据FUNCTION MODULE进行创建。
输入需要发布的FM名称(Z_WS_SERVER)。Name Mapping默认勾选。
选择授权方式Profile为PRF_DT_IF_SEC_NO。并勾选Deploy Service
输入开发包和传输请求号。也可以保存为本地对象
向导执行完成
系统自动生成服务相关对象
至此,一个简单的WEB SERVICE服务端创建完成,但要将此服务进行发布以及供其他系统调用,则还需要进入SOAMANAGER进行设置。
PS: 当函数的参数发生变化
变更 参数后
点击修改服务后 选择下图中的 服务定义-》检查-》语法
选择YES 重新激活,观察 参数是否变化
方式二:
在RFC界面点击Utilities-->More Utilities-->Create Web Service-->From the Function Module
2.2、定义Web Service
2.2.1、Object Type
输入Service Definition和描述,Endpoint Type选择“FUNC Function Module”,继续
2.2.2、Choose Endpoint
输入上一篇博文中SE37创建的Function名称,勾选“Name Mapping”,继续
2.2.3、Configure Service
SOAP Application默认,Profile一般选择"PRF_DT_IF_SEC_NO",勾选Deploy Service,继续
2.2.4、Enter Package/Request
指定开发包及request,也可以选中为本地模式
2.2.5、Complete
提示Web Service已创建
二、输入T-CODE:SOAMANAGER,系统弹出管理系统登陆页面。
系统弹出的地址域名为
http://heed04:8000/sap/bc/webdynpro/sap/appl_soap_management?sap-language=ZH
默认登陆方式为HTTPS,而现在由于SAP系统设置方面的原因,无法使用此方式进行登陆,需要在本机系统的HOSTS文件中对SAP服务器地址进行域名映射。以开发机为例,增加如下2行:
10.122.7.144 he.heed04.com
10.122.7.144 heed04
在HOSTS文件中增加映射后,手工将系统弹出网页的地址改为:
http://he.heed04.com:8000/sap/bc/webdynpro/sap/appl_soap_management?sap-language=ZH
输入SAP系统用户密码进行登陆
选择标签页下的
输入第一步创建的WEB SERVICE服务的名称
选择结果清单中的数据并点击,然后选择明细信息中的
标签页,点击
按钮
输入授权的用户和密码
然后点击。保存成功后切换到
标签页并点击
系统会弹出此WEB SERVICE服务的WSDL文件。
此网页的HTTP地址即为本WEB SERVICE的服务地址,网页XML内容即为WSDL文件。
在将服务地址或WSDL文件发布时需要注意以下改动:
将服务地址中的heed04替换为服务器IP地址(10.122.7.144)
http:// 10.122.7.144:8000/sap/bc/srt/wsdl/bndg_4C21B89C5B92058AE10080000A7A0790/wsdl11/allinone/ws_policy/document?sap-client=100
将WSDL文件中的
<soap:address location="http://HEED04:8000/sap/bc/srt/rfc/sap/z_ws_server/100/z_ws_server/z_ws_server" />中的heed04替换为服务器IP地址(10.122.7.144)