当前位置: 首页 > 知识库问答 >
问题:

迁移webservice应用程序的Websphere 8.5ClassCastException

段干弘扬
2023-03-14

我们正在升级appservers,并将部署在WebSphere5中的所有应用程序转移到WebSphere8.5。

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添加到应用程序的类路径中,但没有成功。

在服务器端登录的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的问题。如果你能帮我指明正确的方向,我将不胜感激。

共有1个答案

慕阳文
2023-03-14

Apache SOAP支持从8.0(SOAP.jar)版本中删除。检查此链接删除功能。

您将需要迁移web服务。
您可以查看此页面以了解手动迁移--根据Java EE标准将Apache SOAP web服务迁移到JAX-RPC web服务。
或者您可以查看WebSphere Application Server migration Toolkit,这是Eclipse的一个免费插件,可以自动化web服务的一些迁移。

 类似资料:
  • 我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?

  • 我试图用以下xml文件在tomcat 8中部署一个应用程序: 我读了很多关于资源方法的迁移,并将xml文件更改为: 该应用程序启动正常,但没有从jar文件中导入类。我肯定我错过了一些东西,找不到一个好的例子来说明如何做到这一点。请帮助。 我的JSP无法编译,正在抛出 组织。阿帕奇。贾斯珀。JaspereException:无法为JSP编译类:在生成的java文件:[/usr/local/apach

  • 我正在将flutter应用程序从Firebase实时数据库迁移到Firestore。我在聊天应用程序中更新这段代码时遇到麻烦,因为firestore没有FireBaseAnimatedList。 旧代码: 现在只有错误是在动画中。我有错误:

  • 部署/迁移JBoss 4.2.3GA到7.1.1GA的应用程序 我是JBoss 7的新手。多年来我一直在使用JBoss 4.2.3,现在我们的组织终于向JBoss 7.1.1迈进了。因此,我从一个非常简单的应用程序开始,以实现迁移。应用程序是一个EAR文件,其中有一个EJB JAR和一个WAR文件。 在JBoss 4.2.3GA中部署应用程序,在APP351.ear.isdeploying下创建标

  • 我正试图将运行在tomcat上的现有应用程序更改为SpringBoot。它一直运行到真正的SpringBoot启动。我有一个类似的应用程序运行在SpringBoot上。这就是我知道它一直运行到Springboot的原因。 我的主要方法: 我尝试使用@componentscan运行main方法,该方法具有如下所示的basePackages: 这无济于事。我尝试在main类的顶部添加@SpringBo

  • 我有一个Web项目,我很容易在tomcat上对其进行depoly。事实上,我有一个实现的类(这个类真的很胖),因为你知道每个支持servlet 3.0的应用程序服务器,它可以很容易地检测到它并尝试启动它。现在我想知道是否可以使用Spring启动启动器,并且无需任何进一步的配置,我将我的传递给它,并根据我的启动我的项目进行Spring启动? 我只想使用spring boot的方法在Tomcat上部署