Serlet der laver lookup får en classcast exception
har lavet følgende koder der laver lookup på en Stateless session bean. Får en classcast exception, når jeg prøver at lave lookup på homeinterfacet ??/*
* GreeterServlet.java
*
* Created on 15. februar 2002, 19:01
*/
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.naming.*;
import javax.servlet.http.*;
import javax.ejb.*;
/**
*
* @author Thomas Winterberg
* @version
*/
public class GreeterServlet extends HttpServlet
{
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, java.io.IOException
{
javax.ejb.Handle beanHandle;
Greeter myGreeterRemote;
GreeterHome Home;
InitialContext initContext = null;
Hashtable env = new java.util.Hashtable(1);
System.out.println("\nGreeterServlet is executing ...");
System.out.println("Retrieving JNDI initial context");
//try
//{
// Context initial= new javax.naming.InitialContext();
//}
//catch (Exception e)
// {
// System.out.println("Exception creating InitialContext: " + e.toString());
//return;
//}
try
{
System.out.println("Looking up greeter bean home interface");
String JNDIName = "java:comp/env/ejb/greeter";
System.out.println("Looking up: " + JNDIName);
Context initial= new InitialContext();
Object obj = initial.lookup(JNDIName);
Home = (GreeterHome) javax.rmi.PortableRemoteObject.narrow(obj,GreeterHome.class);// her sker der en FEJL ????
myGreeterRemote = Home.create();
}
catch(Exception e)
{
System.out.println("Greeter bean home not found - " +"Is bean registered with JNDI?: " + e.toString());
e.printStackTrace();
return;
}
//try
//{
// System.out.println("Creating the greeter bean");
//myGreeterRemote = Home.create();
// }
//catch(CreateException e)
//{
// System.out.println("Could not create the greeter bean: "+e.toString());
// return;
// }
System.out.println("Getting the message from the greeter bean");
String theMessage = myGreeterRemote.getGreeting();
System.out.println("Got this message from greeter bean: " + theMessage);
System.out.println("Storing the message in request object");
request.setAttribute("message", theMessage);
System.out.println("Dispatching JSP for output");
response.setContentType("text/html");
RequestDispatcher dispatcher;
dispatcher = getServletContext().getRequestDispatcher("/GreeterView.jsp");
dispatcher.include(request, response);
return;
}
/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
public void doPost (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException
{
doGet(request,response);
}
/** Returns a short description of the servlet.
*/
public String getServletInfo()
{
return " Call a session bean from a servlet and deliver result via a JSP ";
}
}
