Bonjour,
Je suis entrain de developper une application client desktop avec ejb mais toujours j'ai le meme erreur dans tous les interfaces:
voici le code:
package interfaces;
import entities.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.*;
import javax.swing.ListModel;
import sessions.*;
import javax.naming.InitialContext;
import javax.ejb.EJB;
/**
*
* @author Administrateur
*/
@EJB
public class gestion_clients extends javax.swing.JFrame {
public static MySessionRemote objserveur;
Context ctx =new InitialContext();
/** Creates new form gestion_clients */
public gestion_clients() throws NamingException {
initComponents();
voici l'erreur:
"interfaces.gestion_clients$7 run
GRAVE: null
javax.naming.NameNotFoundException: sessions.MySessionRemote not found
at com.sun.enterprise.naming.TransientContext.doLookup(TransientContext.java:216)
at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:188)
at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:74)
at com.sun.enterprise.naming.RemoteSerialContextProviderImpl.lookup(RemoteSerialContextProviderImpl.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:154)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:687)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:227)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)"
Pour obtenir un accès distant sur une entity, tu dois effectuer le lookup sur le stateless qui implémente ton interface Remote et utiliser si besoin un mappedName pour l'identifier.
Exemple :
- ton interface Remote :
@Remote
public interface MyEntityRemote{
//méthodes distantes
}
- ton stateless :
@Sateless(mappedName="myEntity")
public class MyEntity implements MyEntityRemote{
//méthodes
}