[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Mais duvidas no ep1
- Subject: Mais duvidas no ep1
- From: Emerson Luiz Navarro Tozette <emr@xxxxxxxxxxxxxxxx>
- Date: Thu, 9 Oct 2003 20:02:49 -0300
Estou com duvidas com relacao aos metodos readExternal e writeExternal
que devem ser implementados pelo ICEInvokerProxy. A principio pensei
que as implementacoes abaixo resolvessem a questao:
public void readExternal(final ObjectInput in)
throws IOException, ClassNotFoundException
{
// remoteInvoker eh o ICE Proxy
remoteInvoker = (InvokerPrx) in.readObject();
}
public void writeExternal(final ObjectOutput out)
throws IOException
{
out.writeObject (remoteInvoker);
}
Mas acho que o codigo acima eh o
responsavel por uma excecao que
estou recebendo do lado do cliente. Criei um programa de testes
que salva o ICE Proxy em um arquivo e depois o recupera e tenta
executa-lo, mas este programa lanca a mesma excecao.
Abaixo segue parte deste programa:
package org.jboss.invocation.ice;
// PROGRAMA DE TESTE:
public class InvokerI extends _InvokerDisp
{
........
public void startService (String args[]) {
........
// salvando o ice proxy em um arquivo:
FileOutputStream fos = new FileOutputStream("c:\\p.txt");
ObjectOutputStream oo = new ObjectOutputStream (fos);
// invoker eh o ICE Proxy (nome da sua classe: InvokerI)
oo.writeObject(invoker);
oo.close();
// lendo o ice proxy de um arquivo e
tentando executa-lo:
FileInputStream fis = new FileInputStream("c:\\p.txt");
ObjectInputStream oi = new ObjectInputStream (fis);
InvokerPrx inv = (InvokerPrx) oi.readObject();
oi.close();
// aqui lanca a excecao:
System.out.println (">>" + inv.getServerHostName()
);
}
}
A excecao que esta sendo lancada eh:
java.lang.NullPointerException
at Ice.ObjectPrxHelper.__getDelegate(ObjectPrxHelper.java:689)
at
org.jboss.invocation.ice.InvokerPrxHelper.getServerHostName(InvokerPr
xHelper.java:35)
at
org.jboss.invocation.ice.InvokerPrxHelper.getServerHostName(InvokerPr
xHelper.java:24)
at org.jboss.invocation.ice.InvokerI.startService(InvokerI.java:88)
at org.jboss.invocation.ice.Server3.main(Server3.java:10)