Narrow retornado null

2 respostas
adriano.ferranti

Olá pessoal.
Estou testando um cliente EJB e estou com o seguinte problema:

Context initialCtx = new InitialContext(); 
    java.util.Hashtable env = new java.util.Hashtable();

   
    env.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory");
    env.put("java.naming.provider.url", "corbaloc::127.0.0.1:3528/JBoss/Naming/root");
    
    InitialContext ctx = new InitialContext(env);
    Object objref = ctx.lookup("ejb/SimpleConverter");
´

Até aqui me parece que o código está ok, sendo que a variável objref neste ponto, contém o IOR do EJB em questão. Mas na linha seguinte, quando tento fazer o narrow, ele está retornando null. Alguém sabe o que pode estar causando isso?

ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(objref, ConverterHome.class);

2 Respostas

agodinho

cara. desculpe a ignorância: qual o motivo deste factory (corba) se teu cliente é java e teu server de applicação parece ser o jboss?

Woody

tRuNkSnEt

O método narrow é usado para garantir que um objeto de um tipo de interface remota ou abstrata possa ser classificado para um tipo desejado então se ele retornou null é porque o seu objref não pode ser classificado como um ConverterHome.class.

Dessa maneira concluisse que possivelmente o erro se encontra na linha
Object objref = ctx.lookup(“ejb/SimpleConverter”); pois o objref não pode é do tipo ConverterHome.

O metodo lookup retorna uma referencia a um objeto dado o nome do objeto, ou seja, você passa uma string no metodo lookup informando o nome do Bean que você deseja obter a referencia. A String “ejb/SimpleConverter” não parecer se um nome de um Bean.

Uma introdução sobre JNDI pode ser adquirida através do link http://www.j2eebrasil.com.br/jsp/tutoriais/tutorial.jsp?idTutorial=013_001

Espero ter ajudado, até;

Criado 27 de março de 2006
Ultima resposta 29 de abr. de 2006
Respostas 2
Participantes 3