Ola pessoal, comecei a dois dias meus estudos sobre EJB3 e confesso que as facilidades dele me deixaram surpreso,
depois de muitos tempo dando manutenções em sistemas utilizando tecnologia antiga finalmente vou poder utilizar o EJB3.
Mas no momento de acessar o ejb remoto o seguinte erro acontece
javax.naming.NameNotFoundException: ServicoImpl not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
at org.jnp.server.NamingServer.lookup(NamingServer.java:396)
Esse nome está sendo listado entre os nomes JNDI na inicialização do JBoss, mas eu não consigo acessa-lo no meu cliente.
poste seu bean e a respectiva interface, você está definindo o nome nele? como o nome aparece ao iniciar o jboss? ao subir o jboss da algum erro? você consegue acessar da máquina local pelo nome? você consegue pingar o endereço do servidor a partir do cliente? está usando anotação ou xml? se for xml poste ele também.
Tentei acessar através de "ServicoRemote/remote" e "ServicoImpl/remote", mas todos dois lançam NameNotFoundException.
Eu li que não é necessário o ejb-jar.xml com o EJB3, então o erro não é por minha aplicação estar sem esse arquivo, ou é?
maior_abandonado
troque ctx.lookup(“ServicoRemote/remote”) por ctx.lookup(“ServicoRemote”).
uma dica que eu te daria, seria ao invés de usar a anotação RemoteBinding, especificar o nome do ejb direto na anotação Stateless, no atributo name ou mappedName, não me lembro agora…
você está tentando acessar o seu ejb remoto da sua própria máquina né? pode parecer meio obvio, mas ja veio gente aqui reclamar que de uma máquina cliente não conseguia acessar o ejb remoto no servidor mas manteve a url do servidor com 127.0.0.1 …
maior_abandonado
faz um certo tempo que eu mechi com ejb, se bem me lembro não é necessário esse xml não…
luciano2
Estou tentando acessar na minha máquina mesmo.
Tentei só ServicoRemote, mas também não funcionou vou tentar colocar o nome direto no @Stateless e depois respondo se deu certo.
Já busquei o dia todo na internet e nada. Tem um monte de receita de bolo que não funcionam, dei uma olhada no livro da Oreilly e a receita de bolo é a mesma.
Deve ter algo no meu ambiente que pode estar errado. Estou usando o JBoss 5 será tem alguma imcompatibilidade?
maior_abandonado
ja fiz esse teste no 5.1 e funcionou, inclusive com a anotação @EJB no caso da interface local (que em versões pouco anteriores o jboss não tinha compatibilidade).