日期:2014-05-19  浏览次数:20718 次

axis2 和 spring 整合,有这方面经验和知道都请进来看看
我接触webservice的时间并不长,到现在为止只用过axis2做过开发,这是公司要求用的。
我先说说公司项目开发用了些什么东西: 前台用的是liferay+struts; 后台的webservice用的是axis2,还有spring+hibernate

现在我说说,公司以前的webservice开发流程,我是刚刚进入公司不久,从头到尾做完的项目还没有,只是参与了一个快要完成的项目。
第一步:把 wsdl文件,services.xml文件,xsd文件都写好
第二步:写服务端,客户端代码,(没有用工具生成,全是手写的,老大要求的)
以上工作完成之后,打包发布,进行测试
是这样打包的:
把 wsdl文件,services.xml文件,xsd文件 打包成.aar文件到 axis2/web-inf/services下
把 服务端代码 打包成.jar文件 放到axis2/web-inf/lib 目录下
把 客户端代码 打成.jar文件,导出供前台调用

这样咋一看来,好像是没有什么问题,但是时间长了,我觉得有好多地方都有些问题
比如:用了 spring,却没有用到spring 的依赖注入和事务处理,前台每次调用webservice的时候,都是硬生生把spring配置文件读出来,然后用getBean(str)方法取得业务类对象来调相应的方法,很明显这时Spring显得有点多余,不但没有带来好处,反而是降低了一定的性能(读取配置文件花的时间)。

spring的其中一个好处就是面向接口编程,虽然之前的项目也有定义接口,但是由于没有运用依赖注入,所以,项目中定义的接口完全就是一个摆设,没有任何意义。因为getBean()取出来的就是实现类,而且配置文件中也没有进行必要的配置。

还有其他一些小问题,我都找到了解决方法, 在这儿就不一一列举。现在我就是想把axis2 和 spring 集成起来,充分发挥 spring的强大功能。
有了这个想法之后,我就立即着手,在网上找了很久,都没有找到满意的答案,下了一个官方文档来看,也没怎么看明白,水平不限呀。网上关于这方面的文章和资料太少了

如果有哪一位朋友做过或者是知道怎么集成的,我真诚的希望在这里能留下你宝贵的经验,万分感谢!!

如有朋友愿意给予解答的,尽可能的详细, 如怎么样打包,文件的存放位置等等,谢谢!!



------解决方案--------------------
前台每次调用webservice的时候,都是硬生生把spring配置文件读出来
--------
客户端怎么写的?前台怎么还会去获取spring中的bean?