简体   繁体   English

迁移Web服务应用程序时的Websphere 8.5 ClassCastException

[英]Websphere 8.5 ClassCastException on migrating webservice application

We are in process of upgrading our appservers and moving all the applications deployed in websphere 5 to websphere 8.5. 我们正在升级我们的应用服务器,并将部署在Websphere 5中的所有应用程序迁移到Websphere 8.5。

We are not able to bring up a webservice application. 我们无法启动Web服务应用程序。 There is no problem in deploying the ear file, but when tried to deploy( ServiceManagerClient deploy) the webservice, it throws the error 部署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

I tried all ways I could possibly think of. 我尝试了所有可能想到的方法。

First I tried replacing the old soap.jar in the application classpath with the com.ibm.ws.prereq.soap.jar found under /AppServer/plugins 首先,我尝试用/AppServer/plugins下的com.ibm.ws.prereq.soap.jar替换应用程序类路径中的旧soap.jar。

Then I completely removed the soap.jar from the application classpath and put the com.ibm.ws.prereq.soap.jar in /AppServer/lib directory but still got the same error. 然后,我从应用程序类路径中完全删除了soap.jar并将com.ibm.ws.prereq.soap.jar放在/AppServer/lib目录中,但仍然出现相同的错误。

I also searched the whole AppServer directory for org.apache.soap.server.ServiceManager class in any of the jars and tried to add the jar in the classpath of the application with no luck. 我还搜索了所有jar中的org.apache.soap.server.ServiceManager类的整个AppServer目录,并尝试将jar添加到应用程序的类路径中,但是没有运气。

I am able to deploy the webservice without any issue in WAS 5.5 and Was 7. 在WAS 5.5和7中,我能够部署Web服务而没有任何问题。

FFDC incident logged on server side 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)

I am afraid that I may be missing something completely here and its not just the issue with soap.jar. 恐怕我可能会在这里完全遗漏一些东西,而不仅仅是soap.jar的问题。 Any help in pointing me to the right direction would be greatly appreciated. 任何帮助我指出正确方向的帮助将不胜感激。

Apache SOAP support was removed from version 8.0 (soap.jar). Apache SOAP支持已从8.0版(soap.jar)中删除。 Check this link Removed features . 检查此链接删除功能

You will need to migrate your web services. 您将需要迁移Web服务。
You can check this page for manual migration - Migrating Apache SOAP web services to JAX-RPC web services based on Java EE standards . 您可以在此页面上进行手动迁移-将Apache SOAP Web服务迁移到基于Java EE标准的JAX-RPC Web服务
Or you can check out WebSphere Application Server Migration Toolkit , which is a free plugin to Eclipse, which could automate some migration of your web services. 或者,您可以查看WebSphere Application Server Migration Toolkit ,它是Eclipse的免费插件,可以自动进行Web服务的某些迁移。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM