msedirim | Bonjour,
Lorsque j'exécute le projet rmi alors j'ai le message suivant:
Citation :
init:
EJB.init:
EJB.deps-jar:
EJB.compile:
EJB.library-inclusion-in-archive:
Building jar: C:\Documents and Settings\etudiant\Mes documents\NetBeansProjects\EJB\dist\EJB.jar
EJB.dist:
deps-jar:
compile-single:
Serveur : Construction de l’implémentation
Erreur de liaison de l'objet
java.rmi.server.ExportException: remote object implements illegal remote interface; nested exception is:
java.lang.IllegalArgumentException: illegal remote method encountered: public abstract boolean inscriptionclient.IServiceInscription.inscrit(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String)
debug-single:
BUILD SUCCESSFUL (total time: 9 seconds)
|
J'ai essayé de générer les stubs en tapant la commande dos suivante:
Citation :
C:\Documents and Settings\etudiant\Mes documents\NetBeansProjects\InscriptionClient\build\jar>rmic inscriptionclient.ServiceInscription
|
alors j'ai le message suivant:
Citation :
error: Invalid class file format in .\inscriptionclient\ServiceInscription.class. The major.minor version '50.0' is too recent for this tool to understand.
error: Class inscriptionclient.ServiceInscription not found.
2 errors
|
Pour le projet RMI :
- voici le code de main:
Code :
- package inscriptionclient;
- import java.rmi.Naming;
- public class Main {
- public static void main(String[] args) {
- // TODO code application logic here
- try {
- java.rmi.registry.LocateRegistry.createRegistry(1099);
- System.out.println("Serveur : Construction de l’implémentation" );
- ServiceInscription nam = new ServiceInscription();
- System.out.println("Service lié dans RMIregistry" );
- Naming.rebind("rmi://localhost:1099/Inscrit", nam);
- } catch (Exception e) {
- System.out.println("Erreur de liaison de l'objet" );
- System.out.println(e.toString());
- }
- }
- }
|
- voici le code de ServiceInscription.java:
Code :
- package inscriptionclient;
- import java.rmi.*;
- import java.rmi.server.*;
- import java.util.Properties;
- import javax.naming.InitialContext;
- import javax.naming.NamingException;
- import javax.rmi.PortableRemoteObject;
- import tp3.ejb3.beans.inscriptonRemote;
- public class ServiceInscription extends UnicastRemoteObject implements IServiceInscription {
- public ServiceInscription() throws RemoteException {
- super();
- }
- @Override
- public boolean inscrit(String nom, String prenom, int age, String email, String login, String password) {
- InitialContext ctx;
- boolean resutlat = false;
- try {
- Properties props = new Properties();
- props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory" );
- props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming" );
- props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl" );
- props.setProperty("org.omg.CORBA.ORBInitialHost", "localhost" );
- props.setProperty("org.omg.CORBA.ORBInitialPort", "3700" );
- ctx = new InitialContext(props);
- Object ref = ctx.lookup("tp3.ejb3.beans.inscription" );
- inscriptonRemote ejb = (inscriptonRemote) PortableRemoteObject.narrow(ref, inscriptonRemote.class);
- resutlat = ejb.inscrit(nom, prenom, age, email, login, password);
- } catch (NamingException ex) {
- ex.printStackTrace();
- } finally {
- return resutlat;
- }
- }
- }
|
- voici le code de IServiceInscription.java:
Code :
- Package inscriptionclient;
- import java.rmi.Remote;
- public interface IServiceInscription extends Remote {
- public boolean inscrit(String nom, String prenom, int age, String email, String login, String password);
- }
|
Quel est le problème ?
Merci en avance pour vos aides. |