[ http://issues.apache.org/jira/browse/AXIS2-537?page=all ]
Davanum Srinivas closed AXIS2-537. ---------------------------------- Resolution: Fixed Fixed in SVN revision 427662 > Service classloader problem > --------------------------- > > Key: AXIS2-537 > URL: http://issues.apache.org/jira/browse/AXIS2-537 > Project: Apache Axis 2.0 (Axis2) > Issue Type: Bug > Components: core, deployment > Affects Versions: 0.95 > Environment: Bea Weblogic 8.1 SP5, All OS, Java 1.4.2_05 > Reporter: Dmitriy Kiriy > Assigned To: Davanum Srinivas > > I have axi2.war\WEB-INF\services\AssetService.aar > in that file I have: > org/apache/axis2/ > AssetServiceStub.class > AssetServiceStub$1.class - AssetServiceStub$30.class > AssetServiceSkeleton.class > AssetServiceMessageReceiverInOut.class > AssetServiceCallbackHandler.class > com.mypackage/ > AssetServiceImpl (extends AssetServiceSkeleton) > META-INF/ > services.xml > AsserService.wsdl > (<parameter locked="false" name="ServiceClass"> > com.mypackage.AssetServiceImpl > </parameter>) > All classes excluding com.mypackage.AssetServiceImpl was generated by > WSDL2Java tool. > We have a class loading problem. So, I little bit change > AbstractMessageReceiver.java: > protected Object makeNewServiceObject(MessageContext msgContext) throws > AxisFault { > try { > AxisService service = > > msgContext.getOperationContext().getServiceContext().getAxisService(); > ClassLoader classLoader = service.getClassLoader(); > Parameter implInfoParam = service.getParameter(SERVICE_CLASS); > if (implInfoParam != null) { > try { > Class implClass = classLoader.loadClass(((String) > implInfoParam.getValue())); > return implClass.newInstance(); > } catch (Throwable e) > { > System.err.println("While tring to load class "+(String) > implInfoParam.getValue()+" got the following problem: "+e); > e.printStackTrace(System.err); > throw AxisFault.makeFault(new Exception(e)); > } > } else { > throw new > AxisFault(Messages.getMessage("paramIsNotSpecified", "SERVICE_CLASS")); > } > } catch (Exception e) { > throw AxisFault.makeFault(e); > } > } > So, in lines: > System.err.println("While tring to load class "+(String) > implInfoParam.getValue()+" got the following problem: "+e); > e.printStackTrace(System.err); > throw AxisFault.makeFault(new Exception(e)); > I got: > While tring to load class com.mypackage.AssetServiceImpl got the following > problem: java.lang.NoClassDefFoundError: org/apache/axis2/AssetServiceSkeleton > java.lang.NoClassDefFoundError: org/apache/axis2/AssetServiceSkeleton > at > java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;(Unknown > Source) > at > java.security.SecureClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;(SecureClassLoader.java:123) > at > weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Ljava/lang/String;)Ljava/lang/Class;(GenericClassLoader.java:480) > at > weblogic.utils.classloaders.GenericClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;(GenericClassLoader.java:182) > at > weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;(ChangeAwareClassLoader.java:61) > at > java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(Unknown > Source) > at > java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(Unknown > Source) > at > java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(Unknown > Source) > at > java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(Unknown > Source) > at > java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;(Unknown > Source) > at > org.apache.axis2.receivers.AbstractMessageReceiver.makeNewServiceObject(Lorg/apache/axis2/context/MessageContext;)Ljava/lang/Object;(AbstractMessageReceiver.java:52) > at > org.apache.axis2.receivers.AbstractMessageReceiver.getTheImplementationObject(Lorg/apache/axis2/context/MessageContext;)Ljava/lang/Object;(AbstractMessageReceiver.java:95) > at > org.apache.axis2.AssetServiceMessageReceiverInOut.invokeBusinessLogic(Lorg/apache/axis2/context/MessageContext;Lorg/apache/axis2/context/MessageContext;)V(AssetServiceMessageReceiverInOut.java:24) > at > org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(Lorg/apache/axis2/context/MessageContext;)V(AbstractInOutSyncMessageReceiver.java:37) > at > org.apache.axis2.engine.AxisEngine.receive(Lorg/apache/axis2/context/MessageContext;)V(AxisEngine.java:408) > at > org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(Lorg/apache/axis2/context/MessageContext;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V(HTTPTransportUtils.java:288) > at > org.apache.axis2.transport.http.AxisServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(AxisServlet.java:160) > at > javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V(HttpServlet.java:760) > at > javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(HttpServlet.java:853) > at > weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava/lang/Object;(ServletStubImpl.java:1072) > at > weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Lweblogic/servlet/internal/FilterChainImpl;)V(ServletStubImpl.java:465) > at > weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V(ServletStubImpl.java:348) > at > weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()Ljava/lang/Object;(WebAppServletContext.java:6981) > at > weblogic.security.acl.internal.AuthenticatedSubject.doAs(Lweblogic/security/subject/AbstractSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(AuthenticatedSubject.java:321) > at > weblogic.security.service.SecurityManager.runAs(Lweblogic/security/acl/internal/AuthenticatedSubject;Lweblogic/security/acl/internal/AuthenticatedSubject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;(SecurityManager.java:121) > at > weblogic.servlet.internal.WebAppServletContext.invokeServlet(Lweblogic/servlet/internal/ServletRequestImpl;Lweblogic/servlet/internal/ServletResponseImpl;)V(WebAppServletContext.java:3892) > at > weblogic.servlet.internal.ServletRequestImpl.execute(Lweblogic/kernel/ExecuteThread;)V(ServletRequestImpl.java:2766) > at > weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224) > at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183) > at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown > Source) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]