Hi!

I'm trying to access a EntityBean from a servlet via the bean's local
home interface. But I get a javax.naming.NameNotFoundException.
The EJB and the Servlet are together in one .ear file
and I'm using JBoss 3.2.3. I think the "<local-jndi-name>" in
jboss-web.xml is wrong. But I don't know what to write there. I've
searched for examples or other help, but I haven't found anything
useful.

Thanks for your help in advance!

Steffen

My XML files:

--- jboss-web.xml ----------------------------------
<jboss-web>
    <ejb-local-ref>
        <ejb-ref-name>ejb/Article</ejb-ref-name>
        <local-jndi-name>beans/ArticleLocalHome</local-jndi-name>
    </ejb-local-ref>
</jboss-web>

--- web.xml ----------------------------------
<web-app>
    <display-name>Versionierung: newArticle</display-name>
    
        <servlet-name>newArticleServlet</servlet-name>
        <servlet-class>servlets.newArticleServlet</servlet-class>
    
    <servlet-mapping>
        <servlet-name>newArticleServlet</servlet-name>
        <url-pattern>/newArticle</url-pattern>
    </servlet-mapping>
    <ejb-local-ref>
        Local reference to ArticleBean
        <ejb-ref-name>ejb/Article</ejb-ref-name>
        <ejb-ref-type>Entity</ejb-ref-type>
        <local-home>beans.ArticleLocalHome</local-home>
        beans.ArticleLocal
    </ejb-local-ref>
</web-app>

--- ejb-jar.xml ----------------------------------
<ejb-jar>
  <enterprise-beans>
    
      <display-name>Article CMP-Entity Bean</display-name>
      <ejb-name>ArticleEJB</ejb-name>
      beans.ArticleHome
      beans.Article
      <local-home>beans.ArticleLocalHome</local-home>
      beans.ArticleLocal
      <ejb-class>beans.ArticleBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.Long</prim-key-class>
      False
      <cmp-version>2.x</cmp-version>
      <abstract-schema-name>Article</abstract-schema-name>
      <!--cmp-fields...-->
      <primkey-field>pk</primkey-field>
      
        <query-method>
          <method-name>findAll</method-name>
          <method-params/>
        </query-method>
        <ejb-ql>
          SELECT OBJECT(a) FROM Article AS a
        </ejb-ql>
      
    
  </enterprise-beans>
  <assembly-descriptor>
    <container-transaction>
      
        <ejb-name>ArticleEJB</ejb-name>
        <method-name>*</method-name>
      
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>

--- servlet code ----------------------------------
...
public void init(ServletConfig config) throws ServletException {
    super.init(config);
    try {
        InitialContext jndiContext = new InitialContext();
        articleHome =
(ArticleLocalHome)jndiContext.lookup("java:comp/env/ejb/Article");
    }
    catch (NamingException e) {
        System.out.println("JNDI lookup error!");
        throw new ServletException(e);
    }
}
...

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3828324#3828324

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3828324


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to