无法加载 EJB 句柄 java.lang.ClassCastException:...JAXWSDynamicDeployer 与 ...AxisWSDeployer 不兼容

Unable to load EJB handle java.lang.ClassCastException: ... JAXWSDynamicDeployer incompatible with ... AxisWSDeployer

当我使用 7.5.0.8 web.xml 设置为 7.6.0.6 部署 maximo.ear 时,出现 java.lang.ClassCastException 错误。即使我可以通过 DisableIBMJAXWSEngine 成功禁用内部 Axis2,我仍然需要安装一个单独的 Axis2 吗?目前尚不清楚我应该如何使用 Axis2 而不会出现此错误。

[4/18/17 12:00:26:937 PDT] 00000063 webapp        I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Loading Web Module: MEA Web Application.
[4/18/17 12:00:26:986 PDT] 00000063 WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Will create a new session context for application key default_host/meaweb
[4/18/17 12:00:27:002 PDT] 00000063 WASAxis2Exten I   WSWS7037I: The /services/* URL pattern was configured for the jaxws servlet located in the meaweb.war web module.
[4/18/17 12:00:27:007 PDT] 00000063 webapp        W com.ibm.ws.webcontainer.webapp.WebApp createServletWrappers SRVE0274W: Error while adding servlet mapping for path-->/services/*, wrapper-->ServletWrapper[AxisServlet:[/servlet/AxisServlet, /services/*]], application-->MAXIMO.
[4/18/17 12:00:27:020 PDT] 00000063 ServletWrappe I com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I: [MAXIMO] [/meaweb] [jaxws]: Initialization successful.
[4/18/17 12:00:27:024 PDT] 00000063 ServletWrappe I com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0242I: [MAXIMO] [/meaweb] [IntegrationResourceServlet]: Initialization successful.
[4/18/17 12:00:27:030 PDT] 00000063 AxisServlet   W org.apache.axis2.util.OnDemandLogger warn No transportReceiver for org.apache.axis2.transport.http.AxisServletListener found. An instance for HTTP will be configured automatically. Please update your axis2.xml file!
[4/18/17 12:00:27:051 PDT] 00000063 SystemOut     O [ERROR] [MXServer] [] Unable to load EJB handle
java.lang.ClassCastException: psdi.iface.webservices.JAXWSDynamicDeployer incompatible with psdi.iface.webservices.AxisWSDeployer
    at psdi.iface.servlet.MEAAxisServlet.init(MEAAxisServlet.java:98)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:345)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck(ServletWrapper.java:1369)
    at com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions(WebApp.java:638)
    at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:604)
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:426)
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:171)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:904)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:789)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:425)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:719)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1201)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1390)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:979)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:785)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.run(ApplicationMgrImpl.java:2220)
    at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5487)
    at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5613)
    at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2225)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:435)
    at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:378)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access0(CompositionUnitMgrImpl.java:126)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:984)
    at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:524)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
[4/18/17 12:00:27:086 PDT] 00000063 FFDCJanitor   I com.ibm.ws.ffdc.impl.FFDCJanitor doCleanupIfNeeded FFDC0004I: FFDC log file management removed 41 of 41 files that have reached their configured maximum age
[4/18/17 12:00:27:116 PDT] 00000063 FfdcProvider  W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /apps/ibm/WebSphere8/AppServer/profiles/ctgAppSrv01/logs/ffdc/MXServer_353c7ad6_17.04.18_12.00.27.0889149241972260714203.txt com.ibm.ws.webcontainer.servlet.ServletInstance.init 172
[4/18/17 12:00:27:117 PDT] 00000063 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper init ucaught.init.exception.thrown.by.servlet

我必须使用 Maximo 7.6 安装的默认 web.xml c:\ibm\SMP\maximo\applications\maximo\meaweb\webmodule\WEB-INF\web.xml

具体而言,这些段落必须保留注释掉:

<!-- Start of Axis 2 servlet  -->
<!--servlet>
   <display-name>Apache-Axis Servlet</display-name>
      <servlet-name>AxisServlet</servlet-name>
      <servlet-class>psdi.iface.servlet.MEAAxisServlet</servlet-class>
      <init-param>
         <param-name>authurl</param-name>
         <param-value>http://localhost:80/meaweb</param-value>
      </init-param>
      <load-on-startup>5</load-on-startup>
</servlet-->
<!-- End of Axis 2 servlet  -->

此外,这需要保留注释掉:

<!--servlet-mapping>
   <servlet-name>AxisServlet</servlet-name>
<url-pattern>/servlet/AxisServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
   <servlet-name>AxisServlet</servlet-name>
   <url-pattern>/services/*</url-pattern>
</servlet-mapping-->