Search code examples
apache-axisaxiswebsphere-8maximo

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


When I deployed maximo.ear for 7.6.0.6 using 7.5.0.8 web.xml settings, I got a java.lang.ClassCastException error. Even if I can successfully disable the internal Axis2 via DisableIBMJAXWSEngine, I'd still have to install a separate Axis2? It is not clear how I'm supposed to use Axis2 without this error.

[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$5.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.access$500(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

Solution

  • I had to use the the default web.xml installed by Maximo 7.6 at c:\ibm\SMP\maximo\applications\maximo\meaweb\webmodule\WEB-INF\web.xml

    Specifically, these passages had to remain commented out:

    <!-- 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  -->
    

    Also, this needed to remain commented out:

    <!--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-->