SAP Web Service接口测试及数据传输问题 “顺便吐槽一下国庆假期“


国庆七天乐,属实有点不太好玩,可能使因为我距离老家太远了,一来一回要老子两天的时间,坐飞机又有点舍不得(太贵,目前资金不太支持).火车卧铺还好,但在上铺确实一般,中铺还好下部yyds.睡上铺的记住一点那就是:粮食备好,上去就不要下来了(除非你"_频_急 _不尽"),不下来就是因为我本人"懒"的一批.

到家的第二天下午就开始狂风大作雷雨交加,温度一下子就降低了十几度,两位数的温度硬生生的给降到了一位数.好冷也.真的我上午穿着短袖下午就上羽绒服了!回到家没有什么可以玩的,我的朋友也没有回来,回到家们也没有特别的好玩,只是一般的好玩.

差评!绝对差评!我在郑州火车站哪里吃了一碗阿利茄汁面外加一个鸡翅和酸梅汤.外日特忒!我在火车上拉肚子拉了一晚上,真是_频_急 _不尽,真想投诉他们,我的屁股给我拉的疼死了.


下面说点正经的,上面的国庆的一下琐事.接下来说说原本"疯狂星期四"的今天及过去三天的工作.

最近我在做接口相关的开发,真是让人"怀疑人生".好在公司里有大神,今天给解决了.

接口测试

可能是由于其他的问题所导致的吧(之前在现场的说没有遇到过类似的情况),我在使用soapUI测试的时候一直给报错,在群里也问了大佬们,也没有给出合理的解决方案,找到甲方也是没有找到合理的解决方案.现在也是一样,不知道soapUI为什么测试不了.值得庆幸的是可以早postman中测试成功(也是花费了好大的力气才接通,主要功劳是我司大神,感谢大佬)

soapUI报的这个错愣是看不懂是那个的问题,有晓得的大佬可以评论区留言!
在这里插入图片描述

现在我就很笼统的和大家过一遍,给大家看一下,如果遇到这个问题也好有思路处理.

首先我已经在soa管理页面中发布了wsdl url ,
在这里插入图片描述

这里需要注意的是如果wsdl url人家不能用,那就把这个wsdl url用浏览器打开,滑到最下面.找到这个标签soap:address 下的这个属性location.主要是这个属性下面的那个标签的属性对应的连接是一样的.
在这里插入图片描述
拿到这个location属性的链接后去postman中去测试.是可以测通的.(个人感觉有点像是本地连接)
经过同事大佬的讲解,虽然解决了但是不知所以然.后续还有慢慢去深究
postman测试的时候是需要给headers的
下面这个content-typevalue 不加这个是行不通的

在这里插入图片描述
如果实在soapUI中传参的格式会直接给出来,但postman需要自己写(主要数一下注意事项).
在这里插入图片描述

使用post请求测试200就没问题了.

数据传输及问题(未解决)

今天遇道的问题是在postman中传入的参数,发送到SAP系统中,SAP系统可以正常接收,但是无法根据传入的数据进行查询其他数据,但是可以在se37中正常查询到其他数据,通过srt_log查询到错误日志如下:
在这里插入图片描述
根据se91中可以看出具体报错的原因.
还有就是我在访问的SAP系统的时候访问的包的$TMP是本地包,这让我有点很不理解.(因为我在定义是时候是定义在Z001这个包中的,)访问的时候应该访问的是非$TMP包,因为我本地是没有任何数据,所以导致使用postman测试无法获取到数据.(是我的一个推测)
在这里插入图片描述
还有就是我在创建服务定义时会有一个map name名义映射关系.给大家看一下打钩和不打钩的区别:
目前发现最明显的区别是soap命名空间是不同的
打钩:

在这里插入图片描述
在这里插入图片描述

不打钩
在这里插入图片描述
在这里插入图片描述

这里不难理解soap命名空间为什么不同,但是不理解的是打钩之后我是调不通SAP接口的,不打钩是可以调通的
之前不理解为什么我调不通,现在清楚了
我们可以看到通中外部下的操作所应的命名格式是不一样的,打钩的是没有下划线的,不打钩的有下划线.所以注意这个名字.
在这里插入图片描述

数据传输及问题(已解决)

上次说的那个问题实际上是已经解决了,因为我的接口是可以正常运行的了.
说一下我在数据传输中存在的问题.
其实就是因为我在postman中给的参数是小写,而SAP系统中的参数是大写,由此导致.改完大写后就可以正常做转储了.
就是下面的两个值写成小写了.
在这里插入图片描述
为了防止用户输入(或者外部系统)没有做大小写转换,因此需要在函数模块中弄个函数做大小写转换.
就是这个函数

"转大写
to_upper( ls_int_data-nlber )
"转小写
to_lower( ls_int_data-nlber ).
.

在这里插入图片描述

总结

本篇博客的接口是webservice形式的 他的逻辑处理的RFC 函数模块
webservice-提供者的创建参考输入输出都是以表的形式进行的,但是记得去se80中把他取消已公开,这样就是你懂的
就是在做接口的时候一定要先清楚你的输入输出的参数然后把框架给搭建起来,就是先把接口给调通,然后再处理里面的具体逻辑(个人观点仅供参看).
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨天行舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值