3 Replies Latest reply on Mar 15, 2005 5:54 AM by mbabauer

    ClassNotFoundException when running AxisServlet

    mbabauer

      If I attempt to run AxisServelt on my newly deployed WSR file, I get the following:

      2005-03-14 16:03:09,823 INFO [org.apache.axis.enterprise] Mapping Exception to AxisFault
      javax.naming.NoInitialContextException: Cannot instantiate class: [Root exception is java.lang.ClassNotFoundException: ]
       at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:652)
       at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
       at javax.naming.InitialContext.init(InitialContext.java:219)
       at javax.naming.InitialContext.<init>(InitialContext.java:195)
       at org.apache.axis.providers.java.EJBProvider.getContext(EJBProvider.java:473)
       at org.apache.axis.providers.java.EJBProvider.getEJBHome(EJBProvider.java:438)
       at org.apache.axis.providers.java.EJBProvider.getRemoteInterfaceClassFromHome(EJBProvider.java:274)
       at org.apache.axis.providers.java.EJBProvider.getServiceClass(EJBProvider.java:353)
       at org.apache.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:615)
       at org.apache.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:342)
       at org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:507)
       at org.jboss.net.axis.Deployment.getDeployedServices(Deployment.java:233)
       at org.apache.axis.configuration.FileProvider.getDeployedServices(FileProvider.java:321)
       at org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServlet.java:681)
       at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:262)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
       at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
       at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
       at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
       at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:297) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:371)
       at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:731)
       at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:663)
       at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:859)
       at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
       at java.lang.Thread.run(Thread.java:534)
      Caused by: java.lang.ClassNotFoundException:
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Class.java:219)
       at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
       at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
       ... 49 more
      


      Does anyone know what class it may be looking for? The conected EJB is in a separate JAR package from the WSR file (did not know where to put it), and the JAR is loaded first. I looked at the log4j.xml to see if I could figure out how to get some additional logging in Axis (seems to log nothing at all), but could not.


      Thanks in advance...

        • 1. Re: ClassNotFoundException when running AxisServlet
          anil.saldhana

          1) Are you using your own version of Axis?
          2) I would like to see your jndi.properties file. You seem to connecting using Sun's JNDI provider. You need to be connecting via jnp
          http://www.jboss.org/wiki/Wiki.jsp?page=JNDIClientConfiguration
          3) To change the logging level, go to /server/<your config>/conf/log4j.xml and add a category for org.apache.axis In your case, look under /server/all/conf/log4j.xml considering that you are starting JBoss in the "all" configuration.

          • 2. Re: ClassNotFoundException when running AxisServlet
            mbabauer

            1) At first I was, but then I switched to using the one bundled with JBoss 3.2.5.

            2) Here is my jndi.properties:

            # DO NOT EDIT THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING
            #
            java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
            java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces


            3) No, I actually copied the jboss-net.sar folder over to my default server instance.


            Thanks,

            Mike Bauer

            • 3. Re: ClassNotFoundException when running AxisServlet
              mbabauer

              I updated the jndi.properties as instructed, but it did not seem to cure the problem.

              Upon further examination, I noticed XDoclet did not generate the jndiURL or the jndiContextClass. Both fields in the web-service.xml are empty (as is the service name, which I have a bug issued with the XDoclet team for). I am not quite sure what should be in there, though.