XFire1.2架包版本问题

在做webserver的时候,一开始使用CXF3.2生产的client端,怎奈客户系统技术有点久远,还在使用XFire1.2。百度了之后才知道XFire1.2之后就更名了CXF2.0了。本地生成了XFire client端,但是却产生了

java.lang.IllegalStateException: Could not initialize Service.

报错的代码是这行:

DCPProjSendToNcWebservice_Service server = new DCPProjSendToNcWebservice_Service();

无法实例化DCPProjSendToNcWebservice_Service类。

解决:

xfire-all-1.2.6.jar里META-INF/services 目录下的javax.xml.ws.spi.Provider的值如下:

org.codehaus.xfire.jaxws.Provider

改成

com.sun.xml.internal.ws.spi.ProviderImpl

即可。

原因:

因为Provider这个类,在JDK1.6和XFire1.2中都存在,而的导致的架包冲突。

另外,因为楼主使用的是resin服务器,在resin.conf还需要新增配置信息:

<system-property javax.xml.stream.XMLInputFactory="com.sun.xml.internal.stream.XMLInputFactoryImpl" />

这个问题,在老大的帮助下顺利解决了,很开心。记录一下

同时也深感被技术栈绑定的企业危机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值