我們已經在使用RAD 7.5.0創建的EAR項目上實現了部署了一些使用axis2的webservices EAR部署在Websphere Application Server 7.0應用服務器上。我們在服務器上創建了一個共享庫,其中包括所有名爲CommonsJar的常用jar(包括commons-fileupload-1.2.jar)。在使用Tomcat Server 6.XX的單元測試中(僅部署WAR而不是整個EAR),該應用程序具有良好的功能在WAS 7.0上部署的EAR應用程序中調用axis2 webservice的異常
當應用程序部署在WAS 7.0中時發生問題:當我們將存根類該web客戶端witihin我們的Java EE客戶端WAS提供以下excepction:
[4/26/12 20:35:31:742 CDT] 00000026 SystemErr R org.apache.axis2.deployment.DeploymentException: org.apache.commons.fileupload.FileUploadException
[4/26/12 20:35:31:743 CDT] 00000026 SystemErr R at org.apache.axis2.deployment.AxisConfigBuilder.processMessageBuilders(AxisConfigBuilder.java:741)
[4/26/12 20:35:31:743 CDT] 00000026 SystemErr R at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:202)
[4/26/12 20:35:31:743 CDT] 00000026 SystemErr R at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:641)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:116)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:68)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:184)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at com.mx.ing.wm.portal.dao.RestableceUsuarioPortalDAO.<init>(RestableceUsuarioPortalDAO.java:57)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at com.mx.ing.wm.portal.blogic.RestableceUsuarioPortalFacade.consultaUsuarioRestablecer(RestableceUsuarioPortalFacade.java:16)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at com.mx.ing.wm.portal.actions.RestableceUsuarioPortalAction.consultaUsuarioRestablecer(RestableceUsuarioPortalAction.java:188)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at com.mx.ing.wm.portal.actions.RestableceUsuarioPortalAction.execute(RestableceUsuarioPortalAction.java:128)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
[4/26/12 20:35:31:744 CDT] 00000026 SystemErr R at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1657)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
[4/26/12 20:35:31:745 CDT] 00000026 SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[4/26/12 20:35:31:746 CDT] 00000026 SystemErr R at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
[4/26/12 20:35:31:747 CDT] 00000026 SystemErr R at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
[4/26/12 20:35:31:747 CDT] 00000026 SystemErr R at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
[4/26/12 20:35:31:747 CDT] 00000026 SystemErr R at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
[4/26/12 20:35:31:747 CDT] 00000026 SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)
[4/26/12 20:35:31:747 CDT] 00000026 SystemErr R Caused by: java.lang.NoClassDefFoundError: org.apache.commons.fileupload.FileUploadException
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R at java.lang.J9VMInternals.verifyImpl(Native Method)
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R at java.lang.J9VMInternals.verify(J9VMInternals.java:72)
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R at java.lang.J9VMInternals.initialize(J9VMInternals.java:134)
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R at java.lang.J9VMInternals.newInstanceImpl(Native Method)
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R at java.lang.Class.newInstance(Class.java:1345)
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R at org.apache.axis2.deployment.DescriptionBuilder.processMessageBuilders(DescriptionBuilder.java:230)
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R at org.apache.axis2.deployment.AxisConfigBuilder.processMessageBuilders(AxisConfigBuilder.java:738)
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R ... 41 more
[4/26/12 20:35:31:748 CDT] 00000026 SystemErr R Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException
[4/26/12 20:35:31:749 CDT] 00000026 SystemErr R at java.lang.ClassNotFoundException.<init>(ClassNotFoundException.java:76)
[4/26/12 20:35:31:749 CDT] 00000026 SystemErr R at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:351)
[4/26/12 20:35:31:749 CDT] 00000026 SystemErr R at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347)
[4/26/12 20:35:31:749 CDT] 00000026 SystemErr R at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
[4/26/12 20:35:31:750 CDT] 00000026 SystemErr R at java.lang.ClassLoader.loadClass(ClassLoader.java:619)
[4/26/12 20:35:31:750 CDT] 00000026 SystemErr R ... 48 more
我們deployment.xml中的文件的配置是這樣的:
<?xml version="1.0" encoding="UTF-8"?> <appdeployment:Deployment xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:appdeployment="http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi" xmi:id="Deployment_1335376658663"> <deployedObject xmi:type="appdeployment:ApplicationDeployment" xmi:id="ApplicationDeployment_1335376658663" startingWeight="10" warClassLoaderPolicy="SINGLE">
<modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1335376658663" startingWeight="10000" uri="CallCenterWMWeb.war"/>
<modules xmi:type="appdeployment:WebModuleDeployment" xmi:id="WebModuleDeployment_1335376658664" startingWeight="10000" uri="OperacionesWMWeb.war"/>
<classloader xmi:id="Classloader_1335376658663" mode="PARENT_LAST">
<libraries xmi:id="LibraryRef_1335376658663" libraryName="CommonsJar"/>
</classloader> </deployedObject> </appdeployment:Deployment>
個JVM變量的服務器上的配置像這樣:
-Xquickstart -Xlp -Dclient.encoding.override=UTF-8 -agentlib:getClasses
什麼是問題,任何想法?謝謝
實際上,我們將我們的軸客戶端版本從1.4.2更新到1.5.6,修改了axis2.xml,我們在服務器端修改了類加載器屬性,並隔離了一些rendundante的jar。謝謝你,還要感謝@Davanum Srinivas – Yajairo87 2012-05-13 05:38:33