RMI Hello world Ajudem-me

Pesoal, estou tentando fazer um projetinho que use rmi. Tenteu usar um tutorial daqui do guj mas não funcionou. Alguem tem qualquer projetinho rmi que funcione pra postar o codigo?

Agradeço. Abraço a tosdos

o que nao funcionou no seu projeto?

OLá.

Essas são as classes. Todas no mesmo diretório.

[code]import java.rmi.Remote;
import java.rmi.RemoteException;

public interface Mensageiro extends Remote {

public void enviarMensagem(String msg) throws RemoteException;

public String lerMensagem() throws RemoteException;

}
[/code]

[code]import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.NotBoundException;
import java.net.MalformedURLException;

public class MensageiroClient {

	public static void main(String a[]){
	
			try {
				Mensageiro m = (Mensageiro) Naming.lookup("rmi://localhost/MensageiroService");
				System.out.println(m.lerMensagem());
				m.enviarMensagem("Hello World!");
				
			} catch (MalformedURLException e) {
				 System.out.println();
				 System.out.println( "MalformedURLException: " + e.toString() );
			} catch (RemoteException e) {
				 System.out.println();
				 System.out.println( "RemoteException: " + e.toString() );
			} catch (NotBoundException e) {
				 System.out.println();
				 System.out.println( "NotBoundException: " + e.toString() );
			} catch (Exception e){
				System.out.println();
				System.out.println( "Exception: " + e.toString() );
			}

	
	}

}
[/code]

[code]import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class MensageiroImpl extends UnicastRemoteObject implements Mensageiro {

/**
 * 
 */
private static final long serialVersionUID = 1L;

public MensageiroImpl() throws RemoteException {
	super();
}

public void enviarMensagem(String msg) throws RemoteException {
	System.out.println(msg);
}

public String lerMensagem() throws RemoteException {
	return "This is not a Hello World! Message";
}

}
[/code]

[code]
import java.rmi.Naming;

public class MensageiroServer {

public MensageiroServer(){
	
	
	try {
		
		Mensageiro m = new MensageiroImpl();
		Naming.rebind("rmi://localhost:1099/MensageiroService", m);
	
	} catch (Exception e) {
		
		System.out.println("Trouble: " + e);
	}
}
public static void main(String a[]){
	new MensageiroServer();
}

}[/code]

Meus Precedimentos foram:

COMPILAR AS CLASSES
javac MensageiroImpl.java
javac Mensageiro.java
javac MensageiroServer.java
javac MensageiroClient.java

GERAR ARQUIVOS STUBS E SKELETONS
rmic MensageiroImpl
Obs: O resultado do comando acima gerou apenas um aquivo chamado MensageiroImpl_Stub.class FALTOU o skeletons(Não sei o que e se fiz errado)

GEREI O RMI Registry
rmiregistry

TENTO EXECUTAR O MensageiroServer Num segundo console.
java MensageiroServer
Obs: O resultado do comando acima me retorna uma exeção: Trouble: java.rmi.ServerError: An Error is thrown while processing the invocation on the server; nested exception is:
java.lang.ClassFormatError: Mensageiro (unrecognized class file version)

TENTO EXECUTAR O MensageiroClient EM OUTRO CONSOLE
java MensageiroClient
Obs: O result do comando acima gera uma exeção: NotBoundException: java.rmi.NotBoundException: MensageiroService


Só Pessoal, ja já fico fustrado ja é o quarto tutorial que sigo a risca e nada.
Gostaria muito da ajuda de vocês.

Abraço.

Qual a versão da sua JDK , a partir da versao 5.0 não é gerado mais os Skeletons
Pelo primeiro erro vc compilou na 1.5 e tentou executar numa JRE 1.4 ou algo parecido.

Amigo Muito Obrigado. Foi Justamente isso que aconteceu. No meu pc tinha o ubuntu 6.06. Dai eu instalei o jdk6 e configurei as variáveis de ambiente, porem o ubuntu ja veio com uma jre1.4. e quando eu tentava executar ele executava justamente por ela. Solução: Tomei vergonha e instalei o ubuntu 8.04 que vem sem java nenhum e instalei a jdk/re6.

Abraço e muito obrigado.

Cara é o Seguinte: Em qualquer versão para gerar os stubs e skeletons

rmic -v1.1 MensageiroImpl

edilson1906@yahoo.com.br