CXF 与 websphere 不兼容的处理方式

2天之前,我真的是一点都没有接触过webservice程序,直接造成了昨天的悲剧

 

昨天,由于项目中用到了CXF发布webservice应用,客户最终要部署要was7上面.

使用的CXF版本是2.4.1,在tomcat下测试都好好的,发布到was7上面就开始报错:

 

 java.lang.IncompatibleClassChangeError: org.apache.neethi.AssertionBuilderFactory

 java.lang.IncompatibleClassChangeError: org.apache.neethi.AssertionBuilderFactory

 

上网一查,说CXF与was7不兼容,要改....先冒一身冷汗,于是按照很多人网上所说的方法,改包,删包,往endorsed目录下塞包,修改was上面的虚拟机类加载机制,都试了个试,结果一个都没用....

 

期间由于更改类加载顺序,还引起了启动servlet根本无法被加载的问题

 

整个下午一直晕到死...

 

到了晚上,上面下了死命令,今天必须把兼容性搞定...实在没办法,根据有人给出的链接,到官网上查了一下,was7专门针对axis2与cxf的不兼容给出了解决方案.并且给出了一个测试war(ear)包,于是顶着3g上网卡超流量的风险,下载了30M的cxf测试ear包,发布到was7上,居然人家就可以发布成功!而我自己写的helloworld按照它官网给出的解决方案居然发布失败..

 

于是怒了,看了下人家的版本.是cxf2.1.3的,我用的是2.4.1的,不管了,改...

 

除了更换了CXF版本外,还在打出的war包的manifest.mf文件中增加了一行:

 

 

Manifest-Version: 1.0
DisableIBMJAXWSEngine: true
Class-Path: 
 

 

最后晚上10点半发布测试,成功搞定...Oh,My God, 赶紧打的走人,晚上还要赶回另外一个地点查找账务问题...悲催啊

 

 

IBM 官方链接为:

http://www.ibm.com/developerworks/websphere/library/techarticles/1001_thaker/1001_thaker.html

 

其中例子ear包就不在此上传了,,有22M, 只传pdf文档好了, 流量不多了...

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值