Deployment Ejb3 + Jboss 4.0.5

Usei o NetBeans 5.5 e fiz um pequeno exemplo usando EJB3…
Meu Ejb:

@Stateless(name=“Example”, mappedName=“ejb/CalcularBeanJNDI”)
public class CalcularBean implements pkgEjb.CalcularLocal {

Quando chamo a aplicação Cliente faço:
InitialContext ctx = new InitialContext();
CalcularLocal bean = (CalcularLocal) ctx.lookup(“ejb/CalcularBeanJNDI”);

QUando ele executa esta linha dá o seguinte erro:
javax.naming.NameNotFoundException: ejb not bound …

Para fazer o Deploy apenas copie o arquivo Jar do EJB para a pasta:
c:\Jboss\jboss-4.0.5.GA\server\default\deploy

Meu Jboss está rodando, e acessei o WebConsole dele o qual mostra em JNDIView o meu EJB:
± Example (class: org.jnp.interfaces.NamingContext)
| ± local (proxy: $Proxy85 implements interface pkgEjb.CalcularLocal,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)

O que pode estar errado ? Além de copiar o JAR preciso fazer mais algo ?

Fera…acho q. vc precisa configurar o jndi.properties…

dá uma olhadinha nessa thread…

http://www.ime.usp.br/~reverbel/SMA-06/maillist/msg00007.html

qquer dúvida…posta aí!

t+

No seu caso, acredito que o JBoss mapeou seu EJB como “Example/local”, pois é o que está mostrando o JNDI View.

Tente fazer o lookup assim:

ctx.lookup("Example/local")

Conforme foi sugerido modifique o meu Cliente para:

Properties properties = new Properties();
properties.put(“java.naming.factory.initial”,“org.jnp.interfaces.NamingContextFactory”); properties.put(“java.naming.factory.url.pkgs”,"=org.jboss.naming:org.jnp.interfaces");
properties.put(“java.naming.provider.url”,“localhost:8080”);

Context context = new InitialContext(properties);
InitialContext ctx = new InitialContext();
CalcularLocal bean = (CalcularLocal) ctx.lookup(“Example/local”);

–>> Agora ele passa pelo Lookup sem dar erro, mas quando chama qualquer um dos métodos como:
String Ola = bean.digaOla(“Ola EJB3”);

dispara a seguinte mensagem:

Exception in thread “main” javax.ejb.EJBException: Invalid invocation of local interface (null container)
at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:75)
at $Proxy0.digaOla(Unknown Source)

Alguma idéia ?