axis2 在websphere上发布一般问题
要想用axis2做的webservice在websphere上发布好使,需要做两件事
1,将modules目录下的mar包都拷贝一份到lib下,然后都重新命名扩展名为jar。
2,在发布到websphere上后不要立刻启动这个应用,启动也报错,需要修改这个应用的管理模块处的类装载顺序,为本应用优先,方法参考本人另一个文章。
需要注意的是,这里只需要改“管理模块”处的类装载顺序,不要改“类装入器”处的。
直接从tomcat移植过来可能出现如下问题
[12-9-25 13:37:21:746 CST] 0000001c webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: 正在装入 Web 模块:es。[12-9-25 13:37:21:783 CST] 0000001c WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: 将为应用程序键 default_host/ 创建新的会话上下文[12-9-25 13:37:22:480 CST] 0000001c ClusterBuilde I org.apache.axis2.deployment.ClusterBuilder buildCluster Clustering has been disabled[12-9-25 13:37:22:508 CST] 0000001c WarBasedAxisC E org.apache.axis2.deployment.WarBasedAxisConfigurator <init> org.apache.commons.fileupload.FileUploadException org.apache.axis2.deployment.DeploymentException: org.apache.commons.fileupload.FileUploadExceptionat org.apache.axis2.deployment.AxisConfigBuilder.processMessageBuilders(AxisConfigBuilder.java:741)at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:202)at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:641)at org.apache.axis2.deployment.WarBasedAxisConfigurator.<init>(WarBasedAxisConfigurator.java:157)at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:522)at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:440)at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:56)at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:358)at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:169)at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1809)at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:98)at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:1038)at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:959)at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:638)at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally(WebApp.java:436)at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:304)at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:100)at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:166)at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:732)at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:617)at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:376)at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668)at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1127)at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1319)at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:610)at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:944)at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:740)at com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1272)at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5343)at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5431)at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1277)at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2048)at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:385)at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:328)at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:599)at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:561)at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1184)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)at java.lang.reflect.Method.invoke(Method.java:611)at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:49)at sun.reflect.GeneratedMethodAccessor27.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)at java.lang.reflect.Method.invoke(Method.java:611)at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:256)at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1085)at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:966)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848)at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773)at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1331)at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1224)at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181)at com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:242)at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:353)at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:595)at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)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:1604)Caused by: java.lang.NoClassDefFoundError: org.apache.commons.fileupload.FileUploadExceptionat java.lang.J9VMInternals.verifyImpl(Native Method)at java.lang.J9VMInternals.verify(J9VMInternals.java:72)at java.lang.J9VMInternals.initialize(J9VMInternals.java:134)at java.lang.J9VMInternals.newInstanceImpl(Native Method)at java.lang.Class.newInstance(Class.java:1345)at org.apache.axis2.deployment.DescriptionBuilder.processMessageBuilders(DescriptionBuilder.java:230)at org.apache.axis2.deployment.AxisConfigBuilder.processMessageBuilders(AxisConfigBuilder.java:738)... 67 moreCaused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadExceptionat org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402)at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347)at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)at java.lang.ClassLoader.loadClass(ClassLoader.java:626)... 74 more?
?