websphere7下发布axis2 webservice JAR包冲突的问题,求大神解答!

z4qls 2016-01-22 07:58:24
websphere7下发布axis2 webservice 后访问WSDL的异常如下(在weblogic下可以正常访问):
[16-1-22 19:42:51:398 CST] 00000016 webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet 错误]-[reinsACIC_axis2Servlet]: org.apache.axis2.deployment.DeploymentException: org.apache.commons.fileupload.FileUploadException
at org.apache.axis2.deployment.AxisConfigBuilder.processMessageBuilders(AxisConfigBuilder.java:741)
at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:202)
at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:641)
at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxisConfigurator.java:157)
at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:519)
at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:437)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:325)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:165)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:628)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3610)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:274)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:926)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1557)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:173)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:272)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:202)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:766)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:896)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
Caused by: java.lang.NoClassDefFoundError: org.apache.commons.fileupload.FileUploadException
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:72)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:134)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1325)
at org.apache.axis2.deployment.DescriptionBuilder.processMessageBuilders(DescriptionBuilder.java:230)
at org.apache.axis2.deployment.AxisConfigBuilder.processMessageBuilders(AxisConfigBuilder.java:738)
... 28 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException
at java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:76)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
... 35 more

生产环境的WAS版本是7.0.0.37,测试环境的WAS版本是7.0.0.0,webservice是axis2 1.4.4
目前查到的原因是JAR包冲突,在测试环境上将/app/IBM/WebSphere/AppServer/plugins/org.apache.axis2.jar删掉以后就可以正常打开WSDL
但在生产环境上使用此方法后,会导致WAS无法启动.
目前已经尝试过的方法:
---------------------------------------------------------------------------------
http://blog.sina.com.cn/s/blog_71420de90102v8e8.html
先将webservice是axis2更换到1.5.6
1,将应用程序的axis2.xml中的EnableChildFirstClassLoading 参数设为true
(Axis2 1.5.6 或者更高版本)。
2,WAS控制台,设置企业应用程序(部署的应用)-》类装入和更新检测-》类装入器顺序-》
选择“类已装入并且是先使用本地类装入器(父类最后)”。
3,WAS控制台,设置WAS server JVM的自定义参数:
服务器(server1)-》Java和进程管理—》进程定义-》Java虚拟机-》定制属性-》新建
com.ibmcom.ibm.websphere.webservices.DisableIBMJAXWSEngine 为 true
对于解决JAR包冲突比较通用,应该要重启一下服务器吧,问题解决。
如果没有解决,第2步做的时候,选择应用程序,点击进入后,点管理模块(之前是选了类装入和更新检测),
点击对应的模块进入,即可看到最下面要修改的类加载级别,重启服务器。

将1,2,3步做完以后问题依旧,如果在管理模块中配置了类加载顺序,则启动应用后无法访问应用,报出工程中其它jar包访问的问题
[16-1-22 20:00:32:486 CST] 0000001c webapp E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E:
[Servlet 错误]-[com.sinosoft.sysframework.web.control.SetCharacterEncodingFilter incompatible with javax.servlet.Filter]:
java.lang.ClassCastException: com.sinosoft.sysframework.web.control.SetCharacterEncodingFilter incompatible with javax.servlet.Filter
---------------------------------------------------------------------------------
将工程下WEB-INF\modules下的所有mar文件重命名为jar,复制到WEB-INF\lib下
问题依旧
---------------------------------------------------------------------------------
http://wenku.baidu.com/link?url=0FdHA6Aon73hVW2xTtGlSUZoKi00-Plbh-x6h2rJZYF4bcCKqzdVFh6WesUaXOi7tF6NiM_LWXYG1lQVFdnbuD_B9iKDQ_BGf1sOSKTvo87
使用共享库的方法,将工程中的axis2-adb-1.5.6.jar添加到共享库中,并在发布的应用程序中添加
问题依旧
---------------------------------------------------------------------------------
Application servers > server1>Class loading mode
配置为父类最后
问题依旧
---------------------------------------------------------------------------------
上面几种方法我使用axis2 1.4.4和axis2 1.5.6都试过,最后的结果都是一样的.
目前是在生产环境上临时使用websphere7.0.0.0版本,使用删掉jar包的方法发布了工程.但此问题始终需要解决.
已经查了很久,尝试了各种方法,仍然没有解决这个问题,有没有大神解决过这类问题,还望赐教,小弟不胜感激!
...全文
5314 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
json705 2016-03-22
  • 打赏
  • 举报
回复
楼主问题解决了吗
z4qls 2016-03-10
  • 打赏
  • 举报
回复
楼上的两位,问题还没有解决。找我们领导协调资源了。 另外问题描述有误,更正一下。 axis2版本是axis2 1.4.1,不是axis2 1.4.4
我说假如 2016-03-02
  • 打赏
  • 举报
回复
尝试过几个方法: 修改MAINFEST.MF文件 替换jar包版本 修改was的类加载顺序 但都没什么效果
A86595471 2016-03-02
  • 打赏
  • 举报
回复
我也遇到了,不知楼主解决了吗?后来用了什么方法?

2,633

社区成员

发帖
与我相关
我的任务
社区描述
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。
社区管理员
  • WebSphere社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧