Este es el codigo fuente que uso:
Este es el codigo del EJB de session
Código:
Este es el codigo de la interfazpackage com.ryx.test.ejb; import javax.ejb.Stateless; @Stateless(name="HolaMundo", mappedName="HolaMundo") public class HolaMundo implements HolaMundoRemote { public HolaMundo() { } @Override public String getSaludo() { return "Hola Mundo"; } }
Código:
Y este el del clientepackage com.ryx.test.ejb; import javax.ejb.Remote; @Remote public interface HolaMundoRemote { public String getSaludo(); }
Código:
y por supuesto la excepcion que me arrojapackage prueba.cliente; import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import com.ryx.test.ejb.HolaMundoRemote; public class ClienteHolaMundo { public static void main(String[] args) throws Exception { Properties ht = new Properties(); ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); ht.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001"); Context ctx = new InitialContext(ht); HolaMundoRemote saludo = null; try { saludo =(HolaMundoRemote)ctx.lookup("HolaMundo#"+HolaMundoRemote.class.getName()); } catch (NamingException e) { e.printStackTrace(); } System.out.println(saludo.getSaludo()); } }
Código:
Exception in thread "main" java.lang.NoClassDefFoundError: weblogic/jndi/ClientEnvironment at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117) at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) at javax.naming.InitialContext.init(InitialContext.java:223) at javax.naming.InitialContext.<init>(InitialContext.java:197) at prueba.cliente.ClienteHolaMundo.main(ClienteHolaMundo.java:18)