Yes, you need an EJB Ref (or more likely an EJB Local Ref) in web.xml.
 If the WAR and EJB JAR are in the same EAR, then the ejb-link in the
EJB ref should point to the ejb-name of the EJB and that should make
it work.  If the WAR and EJB JAR are separate, then you need a
geronimo-web.xml with a matching ejb-ref or ejb-local-ref that
resolves the reference to the EJB in the standalone EJB JAR.

Once you have the EJB ref, the servlet can look up the EJB in JNDI at
the location java:comp/env/(name of EJB ref)

Thanks,
    Aaron

On 4/8/06, Fabian Dankof <[EMAIL PROTECTED]> wrote:
> Hello!
>
> I'm trying to get a simple example thing to work that consists of an EJB and 
> a webapp.
> Up to now I don't know exactly how references between webapps and ejbs are 
> made.
> Additionally I don't know which files I actually need.
>
> I've got the following deployment descriptors:
>
> ejb-jar.xml:
> --------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
>
> <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
> http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"; version="2.1">
>
>    <description><![CDATA[StringMirrorEJB generated by eclipse wtp xdoclet 
> extension.]]></description>
>    <display-name>StringMirrorEJB</display-name>
>
>    <enterprise-beans>
>
>       <!-- Session Beans -->
>       <session id="Session_MyStringMirror">
>          <description><![CDATA[A session bean named 
> MyStringMirror]]></description>
>          <display-name>MyStringMirror</display-name>
>
>          <ejb-name>MyStringMirror</ejb-name>
>
>          <home>foo.MyStringMirrorHome</home>
>          <remote>foo.MyStringMirror</remote>
>          <local-home>foo.MyStringMirrorLocalHome</local-home>
>          <local>foo.MyStringMirrorLocal</local>
>          <ejb-class>foo.MyStringMirrorSession</ejb-class>
>          <session-type>Stateless</session-type>
>          <transaction-type>Container</transaction-type>
>       </session>
>    </enterprise-beans>
>
> </ejb-jar>
> --------------------------------------------------------------
>
> Here is my question if i need an additional 'id' attribute in the <ejb-jar> 
> tag and
> which value it should have. I already noticed that the value in the 'id' 
> attribute
> is taken as 'Component Name' in Geronimo Console.
>
>
> Here is my web.xml:
>
> ---------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
>
> <web-app id="web-app_1" xmlns="http://java.sun.com/xml/ns/j2ee"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"; version="2.4">
>    <display-name>SimpleEJBConsumer</display-name>
>    <distributable/>
>
>
>    <servlet>
>       <display-name>SimpleEJBConsumer</display-name>
>       <servlet-name>SimpleEJBConsumer</servlet-name>
>       <servlet-class>foo.SimpleEJBConsumer</servlet-class>
>
>    </servlet>
>
>
>    <servlet-mapping>
>       <servlet-name>SimpleEJBConsumer</servlet-name>
>       <url-pattern>/SimpleEJBConsumer</url-pattern>
>    </servlet-mapping>
>  </web-app>
> ---------------------------------------------------------------
>
> Do i need an ejb-ref in the web.xml???
>
>
> geronimo-web.xml:
>
> ---------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0"; 
> xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.0"; 
> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"; 
> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.0"; 
> configId="SimpleEJBConsumer/SimpleEJBConsumer">
>   <context-root>/SimpleEJBConsumer</context-root>
>   <context-priority-classloader>false</context-priority-classloader>
>   <nam:ejb-ref>
>         <nam:ref-name>ejb/MyStringMirror</nam:ref-name>
>         
> <nam:target-name>geronimo.server:J2EEServer=geronimo,j2eeType=StatelessSessionBean,name=MyStringMirror</nam:target-name>
>   </nam:ejb-ref>
> </web-app>
> ---------------------------------------------------------------
>
>
> I would be very glad if someone can just tell my what is needed, and what is 
> not.
>
>
> Thanks,
>
> Fabian
>
>
>

Reply via email to