Bonjour à tous.
Je bosse actuellement sur des EJB3 session en remote sur un serveur JBoss 4.0.4.
J'expose mon bean remote et j'arrive à le voir à partir du JNDI view:
Code :
- Global JNDI Namespace
- +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory)
- +- TopicConnectionFactory (class: org.jboss.naming.LinkRefPair)
- +- EventDispatcher (class: org.jboss.ws.eventing.mgmt.DispatcherDelegate)
- +- UserTransactionSessionFactory (proxy: $Proxy49 implements interface org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory)
- +- UIL2ConnectionFactory[link -> ConnectionFactory] (class: javax.naming.LinkRef)
- +- UIL2XAConnectionFactory[link -> XAConnectionFactory] (class: javax.naming.LinkRef)
- +- HAPartition (class: org.jnp.interfaces.NamingContext)
- | +- DefaultPartition (class: org.jboss.ha.framework.server.HAPartitionImpl)
- +- QueueConnectionFactory (class: org.jboss.naming.LinkRefPair)
- +- topic (class: org.jnp.interfaces.NamingContext)
- | +- testDurableTopic (class: org.jboss.mq.SpyTopic)
- | +- testTopic (class: org.jboss.mq.SpyTopic)
- | +- securedTopic (class: org.jboss.mq.SpyTopic)
- +- queue (class: org.jnp.interfaces.NamingContext)
- | +- A (class: org.jboss.mq.SpyQueue)
- | +- testQueue (class: org.jboss.mq.SpyQueue)
- | +- ex (class: org.jboss.mq.SpyQueue)
- | +- DLQ (class: org.jboss.mq.SpyQueue)
- | +- D (class: org.jboss.mq.SpyQueue)
- | +- C (class: org.jboss.mq.SpyQueue)
- | +- B (class: org.jboss.mq.SpyQueue)
- +- HASessionState (class: org.jnp.interfaces.NamingContext)
- | +- Default (class: org.jboss.ha.hasessionstate.server.HASessionStateImpl)
- +- ConnectionFactory (class: org.jboss.mq.SpyConnectionFactory)
- +- UserTransaction (class: org.jboss.tm.usertx.client.ClientUserTransaction)
- +- NewSessionBean (class: org.jnp.interfaces.NamingContext)
- | +- remote (proxy: $Proxy65 implements interface org.octopus.services.SessionRemote,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
- +- jmx (class: org.jnp.interfaces.NamingContext) le reste blabla
|
Depuis une servlet qui se trouve dans un Tomcat différent de celui deJBoss j'essaie d'invoquer cet ejb sans succès car il ne trouve pas cebean dans le contexte que j'ai défini:
Code :
- InitialContext context = new InitialContext();
- context.addToEnvironment("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory" );
- context.addToEnvironment("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces" );
- context.addToEnvironment("java.naming.provider.url", "localhost:1099" );
-
- // reponse.put("reponse"+0,name);
-
-
- Object object = (Object) context.lookup("NewSessionBean/remote");
|
J'ai l'impression de pointer vers le bon rmi registry (voici le resultat du telnet sur localhost 1099)
Code :
- ¼Ýsr↓java.rmi.MarshalledObject|¢▲ùÝc³>☻♥I♦hashlocBytest☻[BobjBytesq~☺xp│".-ur☻[B
- ↨°TÓ☻xp&¼Ýt§http://titanium:8083/q~q~uq~♥├¼Ýsr org.jnp.server.NamingServer_Stub☻
- ☻xrjava.rmi.server.RemoteStubÚ■▄╔ïße☻xr&ang90;java.rmi.server.RemoteObjectËa┤æ
- a3▲♥xpw7
- UnicastRef2
- 10.10.18.242♦J─ab═☺▬ÞLq-Çx
- Perte de la connexion à l'hôte.
|
Et pourtant j'ai mis toutes les libs nécessaires ( du dossier client dans JBoss) dans le dossier lib de la web-app
Quelqu'un a t il une idée? Thx.
Message édité par e-v-tooms le 17-12-2007 à 17:43:51