websphere6.0部署axis2 1.3

养成好的习惯 随时记录解决方案
好记性不如烂笔头,以前在WebSphere上部署过axis2 今天又折腾了一晚上
决定还是写在这做备案

WebSphere6+axis2 1.3
发布webservice服务的时候出现下面的异常
java.lang.NoSuchMethodError:   javax/wsdl/Operation.getExtensibilityElements()Ljava/util/List;   at   org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateOperations(WSDL11ToAxisServiceBuilder.java:1010)   at   org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populatePortType(WSDL11ToAxisServiceBuilder.java:399)   at   org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateEndpoints(WSDL11ToAxisServiceBuilder.java:318)   at   org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:288)   at ...  


解决方案:
1、[quote]Apache Muse - Conflicting Version of WSDL4J in WebSphere Deployments

When deploying your Muse-based applications on IBM WebSphere Application Server (WAS) 6.0 or 6.1, you need to be aware that Muse relies on WSDL4J 1.6.1 while the server's core libraries include WSDL4J 1.4. If you install your application using the default class loading system, it will fail to start because the Muse framework depends on WSDL4J APIs that are only available in WSDL4J 1.5 and above. To work around this issue, you can configure the server to use the application's class loader before the container or system class loaders; this will ensure that the WSDL4J classes that are in your application's /WEB-INF/lib directory will be loaded before those in $WAS_HOME/lib.

If you are developing and deploying your application through IBM Rational Application Developer (RAD), you can make the required changes by setting the class loader mode to PARENT_LAST and the class loader policy to SINGLE.

If you are installing your application through the WAS admin console, select Enterprise Applications > Your Application > Class loading and update detection. You should then check the boxes labeled as follows:

* Classes loaded with application class loader first

* Single class loader for application

Making these changes should not affect your other (non-Muse) applications because, having no WSDL4J JAR files of their own, the server will continue up the chain of class loaders until the container's class loader discovers WSDL4J 1.4 in $WAS_HOME/lib. [/quote]
就是先加载应用自己的类库 最后在加载父类 不用WebSphere自带的wsdl类


2、更改之后 抛出struts标签不能解析 什么的
这个时候 把应用里面的servlet.jar删除 这个时候用WebSphere自带的

3、再抛出
RAD 6.0.1, DataSource ClassCastException  
这个异常
的时候 删除这个jar包jdbc2_0-stdext.jar(hibernate带的),可以查询下DataSource这个类在哪些包中 没用的都删掉

4、重启 发布成功ok
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值