Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-534

ejb deployment causes NoClassDefFoundError

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0-M4
    • None
    • deployment
    • None
    • fedora core 2
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
      geronimo code At revision 123657, openejb cvs updated 2004-12-29

    Description

      Deployment of a simple stateless session EJB (either online or offline) yields a "java.lang.NoClassDefFoundError: javax/wsdl/WSDLException".

      tcabot@mad:~/try/hello-g6o$ java -jar ~/geronimo/bin/deployer.jar deploy build/g6o-ejb.jar
      Username: system
      Password: manager
      Deployment failed
      Server reports: javax.management.remote.JMXServerErrorException: Error thrown during invocation
      org.apache.geronimo.kernel.InternalKernelException: javax.management.remote.JMXServerErrorException: Error thrown during invocation
      at org.apache.geronimo.kernel.jmx.KernelDelegate.invoke(KernelDelegate.java:232)
      at org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(DistributeCommand.java:95)
      at java.lang.Thread.run(Thread.java:534)
      Caused by: javax.management.remote.JMXServerErrorException: Error thrown during invocation
      at mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:103)
      at mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:32)
      at mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:89)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
      at mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:151)
      at mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:85) at mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:79)
      at $Proxy0.invoke(Unknown Source)
      at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:224)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
      at sun.rmi.transport.Transport$1.run(Transport.java:148)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
      at java.lang.Thread.run(Thread.java:534)
      at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
      at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
      at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown Source)
      at mx4j.remote.rmi.ClientInvoker.invoke(ClientInvoker.java:210)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at mx4j.remote.ClientProxy.invoke(ClientProxy.java:34)
      at mx4j.remote.rmi.ClientUnmarshaller.chain(ClientUnmarshaller.java:67)
      at mx4j.remote.rmi.ClientUnmarshaller.invoke(ClientUnmarshaller.java:56)
      at $Proxy0.invoke(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at mx4j.remote.ClientProxy.invoke(ClientProxy.java:34)
      at mx4j.remote.rmi.ClientExceptionCatcher.invoke(ClientExceptionCatcher.java:42)
      at $Proxy0.invoke(Unknown Source)
      at org.apache.geronimo.kernel.jmx.KernelDelegate.invokeKernel(KernelDelegate.java:349)
      at org.apache.geronimo.kernel.jmx.KernelDelegate.invoke(KernelDelegate.java:228)
      ... 2 more
      Caused by: java.lang.NoClassDefFoundError: javax/wsdl/WSDLException
      at org.openejb.deployment.SessionBuilder.addWSContainerGBean(SessionBuilder.java:159)
      at org.openejb.deployment.SessionBuilder.buildBeans(SessionBuilder.java:153)
      at org.openejb.deployment.OpenEJBModuleBuilder.addGBeans(OpenEJBModuleBuilder.java:456)
      at org.openejb.deployment.OpenEJBModuleBuilder$$FastClassByCGLIB$$11bd7b20.invoke(<generated>)
      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:87)
      at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
      at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:658)
      at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
      at org.apache.geronimo.kernel.proxy.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
      at org.apache.geronimo.kernel.proxy.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:92)
      at org.apache.geronimo.j2ee.deployment.ModuleBuilder$$EnhancerByCGLIB$$9e45a280.addGBeans(<generated>)
      at org.apache.geronimo.j2ee.deployment.EARConfigBuilder.buildConfiguration(EARConfigBuilder.java:346)
      at org.apache.geronimo.j2ee.deployment.EARConfigBuilder$$FastClassByCGLIB$$38e56ec6.invoke(<generated>)
      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:87)
      at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
      at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:658)
      at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
      at org.apache.geronimo.kernel.proxy.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
      at org.apache.geronimo.kernel.proxy.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:92)
      at org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$7a1ca0ae.buildConfiguration(<generated>)
      at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:200)
      at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:80)
      at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<generated>)
      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:87)
      at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
      at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:684)
      at org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:300)
      at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:121)
      at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
      at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:87)
      at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
      at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
      at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:684)
      at org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:300)
      at org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke(MBeanServerDelegate.java:117)
      at mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:222)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:36)
      at mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:98)
      at mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:32)
      at mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:89)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
      at mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:151)
      at mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:85) at mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:79)
      at $Proxy0.invoke(Unknown Source)
      at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:224)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
      at sun.rmi.transport.Transport$1.run(Transport.java:148)
      at java.security.AccessController.doPrivileged(Native Method)
      at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
      at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
      at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
      ... 1 more

      The EJB is very simple, here's the DD:

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

      <ejb-jar >

      <description><![CDATA[No Description.]]></description>
      <display-name>Generated by XDoclet</display-name>

      <enterprise-beans>

      <!-- Session Beans -->
      <session >
      <description><![CDATA[Skeleton example Stateless Session EJB.]]></description>

      <ejb-name>StatelessSession</ejb-name>

      <home>g6o.ejbclient.StatelessSessionHome</home>
      <remote>g6o.ejbclient.StatelessSession</remote>
      <local-home>g6o.ejbclient.StatelessSessionLocalHome</local-home>
      <local>g6o.ejbclient.StatelessSessionLocal</local>
      <ejb-class>g6o.ejb.StatelessSessionEJB</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>

      </session>

      <!--
      To add session beans that you have deployment descriptor info for, add
      a file to your XDoclet merge directory called session-beans.xml that contains
      the <session></session> markup for those beans.
      -->

      <!-- Entity Beans -->
      <!--
      To add entity beans that you have deployment descriptor info for, add
      a file to your XDoclet merge directory called entity-beans.xml that contains
      the <entity></entity> markup for those beans.
      -->

      <!-- Message Driven Beans -->
      <!--
      To add message driven beans that you have deployment descriptor info for, add
      a file to your XDoclet merge directory called message-driven-beans.xml that contains
      the <message-driven></message-driven> markup for those beans.
      -->

      </enterprise-beans>

      <!-- Relationships -->

      <!-- Assembly Descriptor -->
      <assembly-descriptor >
      <!--
      To add additional assembly descriptor info here, add a file to your
      XDoclet merge directory called assembly-descriptor.xml that contains
      the <assembly-descriptor></assembly-descriptor> markup.
      -->

      <!-- finder permissions -->

      <!-- transactions -->
      <container-transaction >
      <method >
      <ejb-name>StatelessSession</ejb-name>
      <method-name>*</method-name>
      </method>
      <trans-attribute>Supports</trans-attribute>
      </container-transaction>

      <!-- finder transactions -->
      </assembly-descriptor>

      </ejb-jar>

      Attachments

        Activity

          People

            dblevins David Blevins
            toby Tobias Schlitt
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: