Problemas Acessando EJB 2.0

5 respostas
Marcos_Chibly

Olá Pessoal.

Estou com problemas tentando acessar um ejb exemplo que fiz no sun app server 8. (Servidor teste que tenho).

O deploy foi do ejb 2.0 OK.

Mas rodo o client em minha máquina e da o erro. ( java.lang.ClassCastException )

// TRECHO DO CÓDIGO DO CLIENT.

Properties props = new Properties();

props.put(Context.INITIAL_CONTEXT_FACTORY, com.sun.jndi.cosnaming.CNCtxFactory);

props.put(Context.PROVIDER_URL, iiop://192.168.0.2:3700);

Context c = new InitialContext(props);
HelloHome home = (HelloHome) PortableRemoteObject.narrow(c.lookup(“Hello”),HelloHome.class);

Hello hello = home.create();

System.out.println(hello.sayHello());

hello.remove();

// FIM DO TRECHO.

// ERRO DO CLIENT

java.lang.ClassCastException

at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(Unknown Source)

at javax.rmi.PortableRemoteObject.narrow(Unknown Source)

at com.examples.HelloClient.main(HelloClient.java:24)

Exception in thread main

//FIM DO ERRO

[]'s

Obrigado.

5 Respostas

leandros

Bom cara, o erro ai é porque o Proxy que retorna do JNDI não está conseguindo convertera instancia para sua home EJB indicada.
Agora como se tá usando CORBA e eu nunca usei CORBA, vo fica te devendo…

Marcos_Chibly

Na realidade, neste exemplo tanto faz usar, corba ou não.

Se tiverem outra sugestão para invokar o ejb exemplo…

Agradeço…

[]'s

leandros

Se você estiver usando JBoss, pega o arquivo JNDI properties que tá na pasta server\default\conf.
Ai você pode deixar esse arquivo dentro da sua pasta src. A única coisa que você vai ter que adicionar
é o PROVIDER_URL, que vai ter o valor jnp://localhost:1099

Ai você pode pegar o Contexto.

InitialContext ctx = new InitialContext();

HelloHome home = (HelloHome) ctx.lookup("Hello");

Se você não conseguir, mostra como tá o seu ejb-jar.xml

Valew

Marcos_Chibly

Estou usando o Sun App 8.2.

Meu ejb.jar esta assim !

Hello com.examples.HelloHome com.examples.Hello com.examples.HelloBean Stateless Container

Agora tem o sun-ejb-jar.xml

<?xml version="1.0" encoding="UTF-8"?> Hello Hello Hello

Pra te falar a verdade não sei se tem mais algum lugar pra configurar o JNDI no Sun APP 8.2, acho que é só no descriptor…

Obrigado.

leandros

Eu vou dar uma olhadinha no GlassFish e te falo, pq eu num tenho certeza…

Criado 19 de outubro de 2007
Ultima resposta 22 de out. de 2007
Respostas 5
Participantes 2