Avatar billede gg Praktikant
17. februar 2002 - 10:20 Der er 1 kommentar og
1 løsning

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 ";
    }

}
Avatar billede gg Praktikant
11. marts 2002 - 16:19 #1
Lukker spørgsmålet. Fandt aldrig en løsning på dette. Lavede en almindelig klasse der istedet for lavede lookup for mig.
Avatar billede gg Praktikant
11. marts 2002 - 16:20 #2
Lukker spørgsmålet. Fandt aldrig en løsning på dette. Lavede en almindelig klasse der istedet for lavede lookup for mig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester