The thing is (as posted earlier) that when I put
<ejb-ref>
<ejb-ref-name>ejb/BCalcREJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.tellussoft.Test.BonusCalculatorHome</home>
<remote>com.tellussoft.Test.BonusCalculator</remote>
</ejb-ref>
I get an error when deploying:
Error: Unable to distribute my-webapp-1.0.war: Error processing
'remote' element for EJB Reference 'ejb/BCalcREJB' for module
'MyWebApp-1.0': Remote interface class not found:
com.tellussoft.Test.BonusCalculator
------------------------------------
In my openejb-jar:
<enterprise-beans>
<session>
<ejb-name>BCalcREJB</ejb-name>
<jndi-name>ejb/BCalcREJB</jndi-name>
</session>
</enterprise-beans>
Now, I beleave the class files in the ejb.jar fil should be found in
the file structure of Geronimo, but they are not there.
------------------------------------
In config-store/index.properties:
...
geronimo/client-security/1.0/car=14
test-ejb-1.0.1=59
geronimo/geronimo-gbean-deployer/1.0/car=17
...
and in
configstore/59
ejb 6kb
META-INF/config.ser 18kb
------------------------------------
Structure of test-ejb-1.0.1.jar:
META-INF/openejb-jar.xml
META-INF/ejb-jar.xml
META-INF/MANIFEST.MF
com/tellussoft/Test/LocalBonusCalculatorHome.class
com/tellussoft/Test/LocalBonusCalculator.class
com/tellussoft/Test/BonusCalculatorHome.class
com/tellussoft/Test/LocalBonusCalculatorBean.class
com/tellussoft/Test/BonusCalculator.class
-------------------------------------
What am I doing wrong?
I'm a little desperate case I have to get this to work by tomorrow.
Stein
Aaron Mulder writes:
You need an EJB Reference in your WAR (in Geronimo, a web app can't
look up an EJB in JNDI unless there's an EJB Reference in the
web.xml). It's easiest if your EJB JAR and WAR are deployed as part
of an EAR so you can use an <ejb-link> in the EJB Reference in web.xml
and then you don't need any Geronimo-specific information. If the EJB
JAR and WAR are deployed separately, you'll probably need a
geronimo-web.xml that maps the EJB reference in web.xml to the correct
EJB in the EJB JAR. See, for example,
http://chariotsolutions.com/geronimo/web-plan.html#id2591236
using the geronimo-web.xml syntax described at
http://chariotsolutions.com/geronimo/web-plan.html#web-plan-refs
Anyway, once your EJB reference is set up, if the EJB reference name
is ejb/BCalcREJB then you'll look it up in JNDI at
java:comp/env/ejb/BCalcREJB (generally, it's java:comp/env/[name of
EJB reference])
Thanks,
Aaron
On 1/24/06, Stein Kråbøl <[EMAIL PROTECTED]> wrote:
Help!
I have deployed my first EJB modul without error.
ejb-jar.xml:
<?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>
<enterprise-beans>
<session>
<display-name>Stateless Session Bean with Remote
Interfaces</display-name>
<ejb-name>BCalcREJB</ejb-name>
<home>com.tellussoft.Test.BonusCalculatorHome</home>
<remote>com.tellussoft.Test.BonusCalculator</remote>
<local-home>com.tellussoft.Test.LocalBonusCalculatorHome</local-home>
<local>com.tellussoft.Test.LocalBonusCalculator</local>
<ejb-class>com.tellussoft.Test.BonusCalculatorBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
I'm trying to connect to it with a servlet in an standalone war.
What is the correct syntax for the lookup method?
Object homeObject =
context.lookup("java:comp/ejb/BCalcREJB");
I have tried all the variants I can think of!
BCalcREJB
java:comp/env/ejb/BCalcREJB
java:comp/env/BCalcREJB
ejb/BCalcREJB
Is there any other method to verify JNDI names tied to a EJBs?
Stein