Apache CXF 与Spring MVC 结合时出现 No Service have found错误

文章详细介绍了在使用Spring框架和Apache CXF实现WebService时遇到的错误'NoServicehavefound',并阐述了通过将CXF容器初始化与Spring MVC分离的方法解决了该问题。同时,文章还探讨了在集成过程中由于配置文件冗余和组件注入失败所遇到的具体挑战及解决方案。

最近技术总监要求给我们项目加一个webService,因为项目采用的是Spring架构的所以采用了Apache CXF作为webService的实现。

按照网上的教程按部就班的去写webService接口,参考文献如下http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html

                         

将Spring的容器初始化交给了DispatcherServlet,在applicationContext.xm配置了webService

                                        

运行部署后发现提示错误No Service have found。找了很长时间,终于在这篇博文中找到了原因http://kyfxbl.iteye.com/blog/1432920。原因是因为cxf的spring容器必须使用ContextLoadListener来启动,而spring MVC采用的DispatcherServlet来启动的,所以无法加载cxf的服务,于是采用 博文中的方法,分开加载,只将cxf的配置剥离出来。这时又出现问题,定义的bean无法自动注入,于是加入了compentSan,因为hibernate是配置在单独的文件,这里不把文件引入仍然会导致注入失败。将hibernate的配置文件引入后程序运行正常,webService也可以调用。

配置文件冗余,component-scan和hibernate的文件引入在两个文件都会存在,不知道会不会引发其他的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值