赞
踩
本来向亲自测试创建web service,但是中途发现公司对这一部分做了账号的卡控,所以应该没办法测试了,只能做一步算一步,以后有机会再补充把。
我目前碰到的web services有以下几种情况,普通的inbound和outbound的web services,还有一种是配合BPM系统的web services,所有的创建都是在SE80下进行的,所有配置都是在SOAMANAGER下进行的。
create inbound的WS:
创建inound(该链接中显示的SOAMANAGER是和我们公司的一样,所以我e按i照该'z模式p配置的,但是最后的URL却没法测试。。还有一种是让我在Web service Administration配置,我TM怎么也找不到)注:在配置profile的时候,一定要选择none,不然在选择Transport level Security 的时候只能选择SSL(https)而不能选择None( http ),其实我也没有测通,没账号权限啊。
坑爹啊,倒是可以在发现PI的配置的都在这个design time object search 我发现我们bpm系统的配置是在configuration search中,后面再试试把,这个估计也做不了,没有basis的权限。
下面的操作更好一点,有图有文字:create inbound / outbound,感觉这个是最靠谱的一个。
把我找到的参考资料的放在这:
鬼知道哪个是对的:
SAP&Java WebService(一) ----SAP新建WebService
SAP&Java WebService(二) ----ABAP调用SAP生成的WebService
SAP&Java WebService(三) ----JAVA调用SAP生成的WebService
WSDL WebService和RestFul WebService的个人理解(JAVA面)
此外,网上说SAP也可以不用PI直接残生restful格式的接口,网上也找到教程,可以参考以下:
CL_HTTP_CLIENT的HTTP和SOAP用法示例-qdbarry-ChinaUnix博客
01
创建一个RFC函数
创建一个RFC函数,确保勾选了远程启用的模块
02
创建WEB服务
使用菜单功能创建web服务(一般选择来自函数模块, 每个函数发布一个服务). 如果选择来自函数组,则会把函数组中的所有函数发布成一组服务.
进入发布服务的向导界面,这里的服务名称可以和函数一致
这里不要勾选Map Name . Map Name 会把一些字段命名按照特定规则修改调整. 导致服务中的字段名不同于函数中的字段名
选择安全参数文件. 如果服务是局域网调用, 可以选择最后一个, 简化后续的设置. 如果要发布到互联网, 建议选择前三种.
输入服务的开发类及传输请求
点击完成,即可创建WEB服务
在服务定义界面中激活一下WEB服务
03
配置WEB服务
然后执行事物代码 SOAMANAGER, 会启动一个浏览器界面设置服务的调用点信息(后面的步骤在传输到测试或生产系统后还需要执行)
点击WEB服务配置,输入之前定义的WEB服务名称,点击搜索
点击内部名称,进入服务定义.
点击创建服务,进入向导
设置安全信息
点击完成后,会看到定义服务和绑定的内容
04
测试WEB服务
点击上图的红框图标, 可以看到服务的wsdl定义
复制WSDL地址,用第三方工具测试一下(比如SOAPUI),测试时,需要输入基本验证信息(用户名,密码)
后记
RFC函数发布WEB服务比较简单.一般发布的是一个同步WEB服务.发布的服务可以通过 事物代码 : SRT_ELOG 查看调用的底层报错信息: 比如日期格式错误,数字格式错误等. 业务报错则需要开发通过程序逻辑返回.
TIPS
SPRING
调用方输入日期的格式必须是YYYY-MM-DD 否则可能会报错.
某些版本可能会默认英文登录,可以在服务地址上添加参数?sap-language=ZH 来强制登录语言
THE
END
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。