users@glassfish.java.net

ejb-link confusion

From: Ed Mooney <Ed.Mooney_at_Sun.COM>
Date: Tue, 13 Mar 2007 10:53:57 -0400

When I run the verifier against an ejb jar, I get:

         --------------
         FAILED TESTS :
         --------------
        
         Test Name : tests.ejb.elements.EjbLinkElement
         Test Assertion : The referenced bean must be an enterprise bean in the
same ear file. Please refer to EJB 3.0 "Core Contracts and Requirements"
Specification Section #15.5.2 for further information.
         Test Description : For [ interop-txrequired-server1-ejb#StatefulBean ]
Error: No enterprise bean matching [ Server2_StatefulBean ] found within
[ StatefulBean ] JAR file.

As far as I can tell, my jar file does contain the referenced bean.
I.e., the ejb-jar.xml contains:

       <ejb-ref>
         <description>Server2_StatefulBean</description>
         <ejb-ref-name>ejb/Server2_StatefulBean</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
 
<home>transaction.interop.txrequired.server2.ejb.stateful.Server2StatefulRemoteHome</home>
 
<remote>transaction.interop.txrequired.server2.ejb.stateful.Server2StatefulRemote</remote>
         <ejb-link>Server2_StatefulBean</ejb-link>
       </ejb-ref>

and my jar file contains:

     jar tf interop-txrequired-server1-ejb.jar|grep Server2Stateful
 
transaction/interop/txrequired/server2/ejb/stateful/Server2StatefulBean.class
 
transaction/interop/txrequired/server2/ejb/stateful/Server2StatefulRemote.class
 
transaction/interop/txrequired/server2/ejb/stateful/Server2StatefulRemoteHome.class

What am I missing?

Thanks,

   -- Ed