Problema com o Cliente de um servidor RMI

2 respostas
R

Olá pessoal !

Eu criei um servidor e um cliente RMI.Quando rodo eles pelo eclipse funciona tudo blz, porém quando gero o .jars e vou até a linha de comando apenas o servidor funciona e quando tento conectar o cliente com meu servidor , é lançado a seguinte excessão :

java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: 
	java.io.EOFException
	at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
	at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
	at com.client.Cliente.main(Cliente.java:19)
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(Unknown Source)
	... 4 more

Configurei meu arquivo rmi.policy :

grant {  
     permission java.security.AllPermission;
};

Não sei por isso acontece. Alguém pode me ajudar ?

SERVIDOR

try{
			MinipulaImpl objRemoto = new MinipulaImpl();
			Manipula stub = (Manipula) UnicastRemoteObject.exportObject(objRemoto,1000);

			Registry registry = LocateRegistry.createRegistry(1000);
			
			if(System.getSecurityManager() == null)
				System.setSecurityManager(new RMISecurityManager());	
			
			registry.bind("SERVIDOR",stub);
			
			System.out.println("Servidor Ligado ...");
		}
CLIENTE:
try {
			Registry registry = LocateRegistry.getRegistry("localhost",1000);
			stub = (Manipula) registry.lookup("SERVIDOR");
			System.out.println(stub.seleciona("Pessoa"));
			
		
		}

2 Respostas

Gobain

Olá
A maioria das vezes q eu tive erros de marshall / unmarshall foi pq a classe do objeto q eu tava passando entre cliente e servidor estavam diferentes, ou eu não estava usando o ‘throws RemoteException’ nos métodos…
Talvez ajude isso, da uma conferida :slight_smile:

R

Eu dei uma conferida aki e está tudo igual , agora tem um detalhe:

No meu cliente eu coloquei apenas uma copia da Interface Manipula eu não coloquei o ManipulaImpl não !
E outra, no Eclipse funciona ! Já quando geros os jars ai dá o pipino !

Criado 14 de agosto de 2008
Ultima resposta 14 de ago. de 2008
Respostas 2
Participantes 2