Does anyone know how to install an EJB in the deploy directory and access it from the default-app? How do you set the _context variable? What, specifically, goes into an ejb-jar.xml file? What , specifically, goes into a deploy.properties file?
Here is the structure of my ejb.jar file: C:\projects\mathexp>jar cvf mathexp_ejb.jar ejbeans/*.class META-INF/ejb-jar.xml added manifest adding: ejbeans/MathExp.class(in = 350) (out= 219)(deflated 37%) adding: ejbeans/MathExpBean.class(in = 4712) (out= 2395)(deflated 49%) adding: ejbeans/MathExpHome.class(in = 407) (out= 244)(deflated 40%) adding: ejbeans/MathExpPK.class(in = 753) (out= 452)(deflated 39%) adding: META-INF/ejb-jar.xml(in = 890) (out= 372)(deflated 58%) Here is my ejb-jar.xml file: <?xml version="1.0"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD EnterpriseJavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd"> <ejb-jar> <description>Mathematical Expression Bean</description> <display-name>Mathematical Expression Bean</display-name> <enterprise-beans> <entity> <display-name>MathExpBean</display-name> <ejb-name>MathExpHome</ejb-name> <home>ejbeans.MathExpHome</home> <remote>ejbeans.MathExp</remote> <ejb-class>ejbeans.MathExpBean</ejb-class> <prim-key-class>ejbeans.MathExpPK</prim-key-class> <persistence-type>Bean</persistence-type> <reentrant>False</reentrant> <env-entry> <env-entry-name>ejb.allowedIdentities</env-entry-name> <env-entry-value>all</env-entry-value> </env-entry> </entity> </enterprise-beans> </ejb-jar> Here is my deploy.properties file: # #Tue Oct 23 16:21:51 CDT 2001 ejb.homeInterfaceClassName=ejbeans.MathExpHome ejb.enterpriseBeanClassName=ejbeans.MathExpBean orcl.ejipt.minFreeConnections=5 ejb.primaryKeyClassName=ejbeans.MathExpPK orcl.ejipt.sourceURL=jdbc\:oracle\:thin\:@127.0.0.1\:1521\:orcl ejb.ejipt.classServer.port=2323 ejipt.jdbcSources=orcl ejipt.logStackTrace=true orcl.ejipt.sourcePassword=maxalex orcl.ejipt.sourceDriverClassName=oracle.jdbc.driver.OracleDriver ejb.remoteInterfaceClassName=ejbeans.MathExp ejb.ejipt.home.port=2323 orcl.ejipt.maxConnections=30 orcl.ejipt.maxFreeConnections=10 orcl.ejipt.sourceUser=jack ejipt.ejbJars=mathexp_ejb.jar, ejb.ejipt.classServer.host=martin Here is my MathExpServlet: import java.io.*; import java.rmi.*; import java.util.*; import javax.ejb.*; import javax.naming.*; import javax.servlet.*; import javax.servlet.http.*; import ejbeans.*; import java.security.Principal; public class MathExpServlet extends HttpServlet { protected void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { String expid = null; String expression = null; try { final HttpSession session = req.getSession(true); expid = req.getParameter("expidfield"); expression = req.getParameter("expressionfield"); if (session.getAttribute("MathExpBean") == null) { Properties properties = new Properties(); properties.setProperty("java.naming.factory.initial", "allaire.ejipt.ContextFactory"); properties.setProperty(Context.PROVIDER_URL, "ejipt://martin:2323"); Context context = new InitialContext(properties); MathExpHome home = (MathExpHome)javax.rmi.PortableRemoteObject.narrow(context.lookup ("ejbeans.MathExpHome"), MathExpHome.class); MathExp mathexp; try { mathexp = (MathExp) home.findByPrimaryKey(expid); }//end try catch(FinderException fe) { mathexp = home.create(expid, expression); // not found, so create it }//end catch // cache the ejb in the session so we don't have to create it every time session.setAttribute("MathExpBean", mathexp); context.close(); }//end if }//end try catch (NamingException ne) { throw new ServletException(ne); }//end catch catch (CreateException ce) { throw new ServletException(ce); }//end catch super.service(req, res); }//end method - service public void doGet(final HttpServletRequest req, final HttpServletResponse res) throws IOException, ServletException { final HttpSession session = req.getSession(true); final MathExp mathexp = (MathExp) session.getAttribute("MathExpBean"); try { //initialize the expression as a req variable which can be displayed by the JSP req.setAttribute("expid", new String(mathexp.get_expID())); req.setAttribute("expression", new String(mathexp.get_expression())); }//end try catch (final RemoteException server) { if (server.detail instanceof SecurityException) req.setAttribute("SecurityError", "Set MathExp"); else throw new ServletException(server); }//end catch res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println(req.getAttribute("expid")); out.println("<hr>"); out.println(req.getAttribute("expression")); //req.getRequestDispatcher("MathExpDisplay.jsp").forward(req, res); //use a JSP page to display the MathExp }//end method - doGet }//end class - MathExpServlet My enterprise Java Bean is located in: C:\JRun\servers\default\deploy My MathExpServlet is located in: C: \JRun\servers\default\default-app\WEB-INF\classes Here is my error: servlet/MathExpServlet: ejbeans.MathExpHome not found javax.naming.NameNotFoundException: ejbeans.MathExpHome not found at allaire.ejipt. _NamingContext.lookup(allaire/ejipt/_NamingContext.java:115) at allaire.ejipt. _ClientContext.lookup(allaire/ejipt/_ClientContext.java:147) at javax.naming.InitialContext.lookup(InitialContext.java:350) at MathExpServlet.service(MathExpServlet.java:25) I am going insane trying to figure this out!! Someone help me, please!!!!! Jack D. Martin (312)606-2319 [EMAIL PROTECTED] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Get the mailserver that powers this list at http://www.coolfusion.com Archives: http://www.mail-archive.com/jrun-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists