Aceder ejb a partir de uma aplicação cliente

Boas pessoal, seguinte: Estou a tentar aceder a um ejb a partir de uma app java desktop só que tenho o seguinte erro:

[quote]Exception in thread “main” javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at helloclient.HelloClient.main(HelloClient.java:29)[/quote]
Aqui está o codigo do ejb:

@Stateless @LocalBean public class HelloSessionBean{ public String mensagem(){ return "Hello Word"; } }

e o codigo da aplicação cliente:

public static void main(String[] args) throws NamingException { InitialContext ic = new InitialContext(); HelloSessionBean hsb = (HelloSessionBean)ic.lookup("hello.HelloSessionBean"); System.out.println(hsb.mensagem()); }

[quote=Vanilson]Boas pessoal, seguinte: Estou a tentar aceder a um ejb a partir de uma app java desktop só que tenho o seguinte erro:

[quote]Exception in thread “main” javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:344)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at helloclient.HelloClient.main(HelloClient.java:29)[/quote]
Aqui está o codigo do ejb:

@Stateless @LocalBean public class HelloSessionBean{ public String mensagem(){ return "Hello Word"; } }

e o codigo da aplicação cliente:

public static void main(String[] args) throws NamingException { InitialContext ic = new InitialContext(); HelloSessionBean hsb = (HelloSessionBean)ic.lookup("hello.HelloSessionBean"); System.out.println(hsb.mensagem()); }[/quote]

você está colocando o nome “cru” do EJB… coloque algo como esse exemplo “java:global/lookup-de-ejbs/MeuBean”

darklordkamui, fiz a alteração que disseste e o erro continua…

Não tem que estar anotado com @Remote?

raf4ever, tambem já tentei isso e continua a não encontrar o ejb…

[quote=Vanilson]darklordkamui, fiz a alteração que disseste e o erro continua…

lembrei de um detalhe…