Bonjour à tous, Excusez-moi d'avance pour le long message, mais je voulais présenter mon problème d la plus complète des façons.

Je travaille actuellemet avec eclipse 3.2 et Je voudrais créer en java, une petite application distribuée
(à titre de prémice pour une plus grande), avec un module serveur et un module client tournant autour
de la technologie RMI.

Mon projet serveur est Nommé "RMIServerTest" est architeturé comme suit:
Il est constitué d'un package "RMIServerPackage" contenant 2 fichiers soures
- L'interface à exporter nommée "PublicIterface" dans PublicInterface.java
- La classe d'implémentation nommée "RemoteObject" de remoteObject.java
Ce package est lui-même stocké dans le sous-répertoire "src" du répertoire crée pour le projet.
Je crée donc covenablement l'interface de publication de la méthode distante.

L'interface est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
package RMIServerPackage;
import java.rmi.*;
 
public interface PublicInterface extends Remote{
	// Fonction visible de l'extérieur
	public String DistantFonction() throws RemoteException;
}
L'implementation de l'interface est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
package RMIServerPackage;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;
 
public class RemoteObject extends UnicastRemoteObject implements PublicInterface{
 
 String MaChaine = "Ceci est la chaie serveur";
 // Costructeur
 RemoteObject() throws RemoteException
 {
   super();
 }
 
  // Méthode distante
  public String DistantFonction() throws RemoteException
  {
     return "[Server Thread " + Thread.currentThread() + "---> " + MaChaine;
  }
 
 
  public static void main(String[] args) {
  // TODO Auto-generated method stub
  System.setSecurityManager(new RMISecurityManager());
  try
  {
    // Déclaration d'un objet disponible dans le service d'annuaire
    RemoteObject NewObject = new RemoteObject();
    // Enrégistrement de cet objet dans le service
    LocateRegistry.createRegistry(1099);
    Naming.bind("RMIObject", NewObject);
    System.out.println("Serveur Lancé");
  }
  catch(Exception e) { e.printStackTrace(); }
 }
}
à la compilation, tous se passe bien, les fichiers .class sont corretement crées. Mais quand j'éxécute, j'ai l'exception:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(Unknown Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.createConnection(Unknown Source)
at sun.rmi.transport.tcp.TCPChannel.newConnection(Unknown Source)
at sun.rmi.server.UnicastRef.newCall(Unknown Source)
at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
at java.rmi.Naming.bind(Unknown Source)
at RMIServerPackage.RemoteObject.main(RemoteObject.java:32)
Suite à cette erreur, je tente quand même de créer les fichiers stub et skeleton par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
I:\>rmic -d I:\Divers\WorkspaceEclipse\RMIServerTest\bin -classpath I:\Divers\WorkSpaceEclipse\RMIServerTest\bin RMIServerPackage.RemoteObject
et j'obtient bien le fichier stub "RemoteObject_stub.class" dans le répertoire de mes fichier .class, mais pas le fichier skeleton et de plus je n'arrive toujours pas à lancer mon serveur. car j'obtiens la même exception

Quelqu'un pourrait-il m'aider à y voir plus clair?