Eu fiz um programa no Eclipse chamado calculadora que roda sem problemas, mas ultimamente eu estou gostando muito mais do Netbeans 6 do que o Eclipse e tentei rodar o mesmo, mas da o seguinte erro.
Sera alguem pode ajudar encontrar o erro no programa?
agradeço a atenção
Henrique
javax.naming.NameNotFoundException
at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:268)
at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:191)
at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:74)
at com.sun.enterprise.naming.RemoteSerialContextProviderImpl.lookup(RemoteSerialContextProviderImpl.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
Exception in thread “main” java.lang.NullPointerException
at calculadora.CalculadoraTeste.main(CalculadoraTeste.java:44)
@Stateful
public class CalculadoraBean implements CalculadoraRemote {
private double memoria;
public double adicionar(double a, double b) {
return a + b;
}
public double subtrair(double a, double b) {
return a - b;
}
public double multiplicar(double a, double b) {
return a * b;
}
public double dividir(double a, double b) throws DivisaoPorZeroException {
if(b == 0){
throw new DivisaoPorZeroException("Divisao por zero");
}return a / b;
}
public void adicionarMemoria(double a) {
memoria += a;
}
public double obterMemoria() {
return memoria;
}
public void zerarMemoria() {
memoria = 0;
}
}
O cliente:
public class CalculadoraTeste {
private CalculadoraRemote calculadora;
@SuppressWarnings("unchecked")
public CalculadoraTeste(){
try{
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");
ht.put(Context.PROVIDER_URL,"localhost");
Context context = new InitialContext();
Object ref = context.lookup("CalculadoraBean/remote");
this.calculadora = (CalculadoraRemote)PortableRemoteObject.narrow(ref, CalculadoraRemote.class);
}
catch(NamingException ex){
ex.printStackTrace();
}
}
public CalculadoraRemote getCalculadora(){
return this.calculadora;
}
public static void main(String[] args) {
CalculadoraTeste calculadora = new CalculadoraTeste();
CalculadoraRemote remote = calculadora.getCalculadora();
try{
double d1 = remote.adicionar(3, 4);
remote.adicionarMemoria(d1);
double d2 = remote.subtrair(d1, 4);
double d3 = remote.multiplicar(d2, 5);
double d4 = remote.dividir(d3,3);
double d5 = remote.obterMemoria();
System.out.println("Resuldado da soma: " + d1);
System.out.println("Resultado da subracao: " + d2);
System.out.println("Resultado da multiplicação: " + d3);
System.out.println("Resultado da divisão: " + d4);
System.out.println("Estado da memoria: " + d5);
remote.zerarMemoria();
}
catch(DivisaoPorZeroException ex){
System.out.println(ex.getMessage());
}
}
}