简体   繁体   中英

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.

We are not able to bring up a webservice application. There is no problem in deploying the ear file, but when tried to deploy( ServiceManagerClient deploy) the webservice, it throws the error

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

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.

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.

I am able to deploy the webservice without any issue in WAS 5.5 and Was 7.

FFDC incident logged on server side

[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. Any help in pointing me to the right direction would be greatly appreciated.

Apache SOAP support was removed from version 8.0 (soap.jar). Check this link Removed features .

You will need to migrate your web services.
You can check this page for manual migration - Migrating Apache SOAP web services to JAX-RPC web services based on Java EE standards .
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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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