【问题标题】:Websphere 8.5 ClassCastException on migrating webservice application迁移 Web 服务应用程序时的 Websphere 8.5 ClassCastException
【发布时间】:2014-09-27 22:40:02
【问题描述】:

我们正在升级我们的应用服务器并将部署在 websphere 5 中的所有应用程序迁移到 websphere 8.5。

我们无法启动 Web 服务应用程序。部署ear文件没有问题,但是尝试部署(ServiceManagerClientdeploy)webservice的时候报错

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 目录中,但仍然出现相同的错误。

我还在整个 AppServer 目录中搜索了任何 jar 中的 org.apache.soap.server.ServiceManager 类,并尝试将 jar 添加到应用程序的类路径中,但没有成功。

我能够在 WAS 5.5 和 Was 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的问题。任何帮助我指出正确方向的帮助将不胜感激。

【问题讨论】:

    标签: java web-services soap websphere-8


    【解决方案1】:

    Apache SOAP 支持已从版本 8.0 (soap.jar) 中删除。检查此链接Removed features

    您需要迁移您的网络服务。
    您可以查看此页面以进行手动迁移 - Migrating Apache SOAP web services to JAX-RPC web services based on Java EE standards
    或者您可以查看WebSphere Application Server Migration Toolkit,这是一个免费的 Eclipse 插件,可以自动迁移您的 Web 服务。

    【讨论】:

      猜你喜欢
      • 2020-07-20
      • 2023-04-05
      • 1970-01-01
      • 2013-08-01
      • 2020-09-07
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多