无法加载 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-->
当我使用 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-->