ejb@glassfish.java.net

war not see ejb jar...

From: Martin Renaud <pm.renaud_at_gmail.com>
Date: Tue, 30 Sep 2008 13:34:35 -0400

Hi Experts,

I've created a bean project which use a JSP/Servlet client and EJB objects
(sessionBean). Both are on the same server. From them, i've deployed on the
server a war and a ejb-jar... but i'm having a problem. The war file seems
unable to see the ejb-jar once deployed. In fact the only way to get ejb-jar
visible from the war is to add it into the classpath of the war file. But i
didn't see any example or tutorial who talk about adding the ejb-jar into
the classpath of the war.
I'm using annotation according to this example:
https://glassfish.dev.java.net/javaee5/ejb/examples/Sful.html.

I'm using MyEclipse 6.x and a Glassfish 2.x server.


ClientSessionRemote.java
*Code:*
package com.imagem;

import javax.ejb.Remote;

@Remote
public interface ClientSessionRemote {

   public java.lang.String SayHello();

}


ClientSession.java
*Code:*
package com.imagem;

import javax.ejb.Stateful;

@Stateful
public class ClientSession implements ClientSessionRemote {

   public String SayHello(){
         String msg="Hello! I am Session Bean";
         System.out.println(msg);
         return msg;
   }

}


Controller.java (servlet)
*Code:*
public class Controller extends HttpServlet {

   @EJB
   private ClientSessionRemote m_testClientSessionBean;

   ...some code...

   public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {

      PrintWriter out;
      response.setContentType("text/html");
      String title = "EJB Example";
      out = response.getWriter();

      out.println("<html>");
      out.println("<head>");
      out.println("<title>Hello World Servlet!</title>");
      out.println("</head>");
      out.println("<body>");
      out.println("<p align=\"center\"><font size=\"4\"
color=\"#000080\">Servlet Calling Session Bean</font></p>");

      try{

            //ClientSessionRemote client = (ClientSessionRemote) new
InitialContext().lookup("java:comp/env/StatefulClientSession");
         //ClientSessionRemote client = (ClientSessionRemote) new
InitialContext().lookup(ClientSessionRemote.class.getName());

         //out.println("<p align=\"center\"> Message from Session Bean is:
<b>" + client.SayHello() + "</b></p>");
         //System.out.println("Message = " + client.SayHello());

         out.println("<p align=\"center\"> Message from Session Bean is:
<b>" + m_testClientSessionBean.SayHello() + "</b></p>");
      }
      catch(Exception CreateException){
         CreateException.printStackTrace();
      }

      out.println("<p align=\"center\"><a
href=\"javascript:history.back()\">Go to Home</a></p>");
      out.println("</body>");
      out.println("</html>");
      out.close();




   }

   ...some code...

}


What else do i need to do?? any help would be appreciate!!!

thks

Martin Renaud