SAP Web Service (二)

本来向亲自测试创建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新版SOAMANAGER下WebService配置

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格式的接口,网上也找到教程,可以参考以下:

SAP发布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
 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值