加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

ofbiz的webservice接口提供(3)-wsdl文件的不规范性

发布时间:2020-12-17 02:33:17 所属栏目:安全 来源:网络整理
导读:?? ofbiz是使用axis2来做的webservice服务器。 ? 这里不得不说我遇到的一个问题就是客户端代码的生成。 ? 常规说来,我们拥有了服务器端暴露出来的一个wsdl文件,我们就可以轻而易举的来生成我们的客户端代码,但是由于ofbiz的特殊性,他们的wsdl文件是由他

?? ofbiz是使用axis2来做的webservice服务器。

? 这里不得不说我遇到的一个问题就是客户端代码的生成。

? 常规说来,我们拥有了服务器端暴露出来的一个wsdl文件,我们就可以轻而易举的来生成我们的客户端代码,但是由于ofbiz的特殊性,他们的wsdl文件是由他自己根据我们在servicedefine/services.xml文件中的输入输出参数来生成的。自然就不是很规范了。

? 这里我补充一个小的知识,如何验证webservice的接口是否可用。

? 1、查看wsdl文件是否可以被访问

? 2、找一个比较著名的工具,xmlspy(我用的2009试用版),根据wsdl文件模仿客户端进行请求,看请求是否可达,返回是否正确

? 我遇到的问题:

? 1、因为我们是用java做的服务器端,一个.net想调用这个接口,直接根据wsdl生成.net的代理类,发现只有service没有方法

? 2、使用xmlspy来模拟客户端,发现了方法,但是生成的客户端数据包中只有参数没有方法名称,和webservice接口交互,没反馈数据

? 3、使用eclipse的客户端生成工具,发现没戏

?

? 上边的问题的原因就是我们这个ofbiz的wsdl文件不规范,导致我们生成不正确。

?

?? 对应的解决办法:

?? 1、.net手动写代理类,不采用根据wsdl自动生成的方式。

?? 2、xmlspy,我直接将数据包手动加上要调用的方法,和webservice接口交互,发现通讯成功

?? 3、将axis的客户端的jar都引入,然后,手动写webservice的调用程序,经过调用,发现成功

?

总结:

?? 1、ofbiz的wsdl生成很不常规,导致我们的客户端生成工具无用武之地,大家还是手写吧。

???2、如果想快速试验ofbiz的soap接口是否可用,xmlspy2009还是不错地,不过需要封装下发送的数据包

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读