Hello ranchers,
I'm trying to execute this code below in Eclipse 3.4.1 +
Jboss 5.0 but problems heppes.
I have this simple code:
My Bean...
package
test;
import javax.ejb.Stateless;
/**
* Session Bean implementation class StatelessCalculator
*/
@Stateless
public class StatelessCalculator implements StatelessCalculatorLocal {
/**
* Default constructor.
*/
public StatelessCalculator() {
// TODO Auto-generated constructor stub
}
public double add(double a, double b)
{
return a + b;
}
}
My Remote...
package test;
import javax.ejb.Remote;
@Remote
public interface StatelessCalculatorLocal {
public double add(double a, double b);
}
My simple Client...
package test;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
public class ClientCalc {
/**
* @param args
*/
public static void main(
String[] args) {
System.out.println("test");
try {
Context jndiContext = new InitialContext();
Object ref = jndiContext.lookup("StatelessCalculator");
StatelessCalculatorLocal calc = (StatelessCalculatorLocal) PortableRemoteObject.narrow(ref, StatelessCalculatorLocal.class);
System.out.println("4 + 3 = " + calc.add(4, 3));
}
catch (NamingException ne) {
ne.printStackTrace();
}
}
}
And when execute the client like
Java Application I have it:
test
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:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at test.ClientCalc.main(ClientCalc.java:20)
Thank youuu,
Higor