[英]Websphere 8.5 ClassCastException on migrating webservice application
我们正在升级我们的应用服务器,并将部署在Websphere 5中的所有应用程序迁移到Websphere 8.5。
我们无法启动Web服务应用程序。 部署ear文件没有问题,但是当尝试部署( ServiceManagerClient
部署)Web服务时,它将引发错误
Unsupported response content type "text/html; charset=utf-8", must be: "text/xml". Response was: Error 500: java.lang.ClassCastException: org.apache.soap.server.ServiceManager incompatible with org.apache.soap.server.ServiceManager
我尝试了所有可能想到的方法。
首先,我尝试用/AppServer/plugins
下的com.ibm.ws.prereq.soap.jar替换应用程序类路径中的旧soap.jar。
然后,我从应用程序类路径中完全删除了soap.jar并将com.ibm.ws.prereq.soap.jar放在/AppServer/lib
目录中,但仍然出现相同的错误。
我还搜索了所有jar中的org.apache.soap.server.ServiceManager
类的整个AppServer目录,并尝试将jar添加到应用程序的类路径中,但是没有运气。
在WAS 5.5和7中,我能够部署Web服务而没有任何问题。
FFDC事件记录在服务器端
[9/27/14 17:17:34:938 CDT] FFDC Exception:java.lang.ClassCastException SourceId:com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters -RE ProbeId:1123 Reporter:com.ibm.ws.webcontainer.filter.WebAppFilterManagerImpl@f04030c
java.lang.ClassCastException: org.apache.soap.server.ServiceManager incompatible with org.apache.soap.server.ServiceManager
at org.apache.soap.server.http.ServerHTTPUtils.getServiceManagerFromContext(ServerHTTPUtils.java:112)
at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:277)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1224)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1032)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3748)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:283)
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:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1814)
恐怕我可能会在这里完全遗漏一些东西,而不仅仅是soap.jar的问题。 任何帮助我指出正确方向的帮助将不胜感激。
Apache SOAP支持已从8.0版(soap.jar)中删除。 检查此链接删除功能 。
您将需要迁移Web服务。
您可以在此页面上进行手动迁移-将Apache SOAP Web服务迁移到基于Java EE标准的JAX-RPC Web服务 。
或者,您可以查看WebSphere Application Server Migration Toolkit ,它是Eclipse的免费插件,可以自动进行Web服务的某些迁移。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.