ofbiz的webservice接口提供(3)-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还是不错地,不过需要封装下发送的数据包 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |