首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

不料cxf使用默认的springbusfactory的方法

2013-03-26 
不想cxf使用默认的springbusfactory的方法cxf是创建bus的时候会去jar包的META-INF目录下寻找org.apache.cx

不想cxf使用默认的springbusfactory的方法

cxf是创建bus的时候会去jar包的META-INF目录下寻找org.apache.cxf.bus.factory这个文件

?

这个文件的内容是

org.apache.cxf.bus.spring.SpringBusFactory
org.springframework.context.ApplicationContext

?

当你的环境是spring的换件 而且classpath下他找到了

org.apache.cxf.bus.spring.SpringBusFactory
org.springframework.context.ApplicationContext这2个类 ,随后他会去调用SpringBusFactory这个类,

这个类他引用了spring的jar中的beans类 如果你的spring版本和他所引入的不一致,那么就会导致 classnotfoundexception,大多数情况 我们不可能为了引入一个cxf而改变公司原有的spring版本结构,而我遇到的问题是对方公司的webservce要求用cxf2.4版本(那里要求的是spring3.0而这个系统比较老是spring1的),因此换了一种方式调用

JaxWsProxyFactoryBean proxyFactory =new JaxWsProxyFactoryBean();

使用JaxWsProxyFactoryBean 的setBus方法

调用busfactory产生cxf自带cxfbusfactory的实例

proxyFactory.setBus(BusFactory.newInstance(BusFactory.DEFAULT_BUS_FACTORY).createBus());

?

ok 问题解决了 希望对后来人有点帮助

热点排行