[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Mais duvidas no ep1






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)