Io faccio così quando devo prelevare una home:
in un metodo di una classe di utility, chiamato getEjbHome, passo due parametri: il nome dell'interfaccia ed il tipo di classe
Codice PHP:
   public static Object getEJBHome(String name, Class type){
    try{
      
InitialContext ctx = new InitialContext();
      
Object actual ctx.lookup(name);
      return 
PortableRemoteObject.narrow(actualtype);
    }
    catch(
NamingException ne){ 
      
ne.printStackTrace();
      
log.fatal("Naming Exception: Home " name " cannot be found");
    }
  } 
quando devo richiamare questo metodo faccio:

Codice PHP:
test2Home home2 = (test2Home )EJBUtil.getEJBHome("test2"test2Home.class); 
Il fatto di avere quella classe di utility è ininfluente, ma forse l'errore potrebbe essere legato al mancato utilizzo del metodo narrow.
Oppure, potrebbe semplicemente essere un errore nel naming...

ciao