[jboss-user] [JNDI/Naming/Network] - Unable to do a lookup for a Context in Sun One from within J

jmota do-not-reply at jboss.com
Wed Jul 19 08:24:49 EDT 2006


Hello,

im having trouble with the configuration required to do a lookup of a context in a Sun One from my web-application that is running inside JBoss. What im trying to to do is getting a QueueConnectionFactory and a Queue.  I have done a small client application to test the lookups and configuration outside of Jboss and it works ok, but when running inside Jboss 4.03-sp1 doesn't.

the relevant code snip (with replaced ips and jndi paths)

  | Properties env = new Properties();
  |         env.put("java.naming.factory.initial", "com.sun.appserv.naming.S1ASCtxFactory");        
  |         env.put("java.naming.provider.url", "iiop://xpto:7000");
  |         Context jndiContext = null;
  |         try {
  |             
  |             jndiContext = new InitialContext(env);
  |             
  |             QueueConnectionFactory connectionFactory = (QueueConnectionFactory) jndiContext
  |                     .lookup("Path/QueueConnectionFactory");
  |             
  |             Queue queue = (Queue) jndiContext.lookup("Path/MessageQueue");
  |             
  |         } catch (NamingException e) {
  |             System.out.println("Could not create JNDI API " + "context: " + e.toString());
  |             e.printStackTrace();
  |         }

i keep getting Path not Bound Exceptions

The problem is that the InitialContext is ignoring the properties i pass to it, in particular the java.naming.factory.initial, and return to me the local InitialContext.

I have tried the following:
changed the value of conf/jndi.properties to use org.jboss.iiop.naming.ORBInitialContextFactory instead of org.jnp.interfaces.NamingContextFactory but the situation didn't changed.

also tried to use the ExternalContextMBean 


  | <mbean code="org.jboss.naming.ExternalContext"
  |        name="jboss.jndi:service=ExternalContext,jndiName=Path/MessageQueue">
  |        <attribute name="JndiName">external/MessageQueue</attribute>
  |        <attribute name="CacheContext">true</attribute>
  |        <attribute name="RemoteAccess">true</attribute>
  |        <attribute name="Properties">
  |                   java.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory
  |                   java.naming.factory.host=iiop://xpto
  |                   java.naming.factory.port=7000
  |        </attribute>
  |        <attribute name="InitialContext">javax.naming.InitialContext</attribute>
  |    </mbean> 
  | 
  | 
  |    <mbean code="org.jboss.naming.ExternalContext"
  |        name="jboss.jndi:service=ExternalContext,jndiName=Path/QueueConnectionFactory">
  |        <attribute name="JndiName">external/QueueConnectionFactory</attribute>
  |        <attribute name="CacheContext">false</attribute>
  |        <attribute name="RemoteAccess">true</attribute>
  |        <attribute name="Properties">
  |                   java.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory
  |                   java.naming.factory.host=iiop://xpto
  |                   java.naming.factory.port=7001
  |        </attribute>
  |        <attribute name="InitialContext">javax.naming.InitialContext</attribute>
  |        
  |    </mbean>
  | 

and done the lookups by "external/QueueConnectionFactory" but kept getting external not bound, even thou the jndi view show them:


  | +- external (class: org.jnp.interfaces.NamingContext)
  |    |   +- QueueConnectionFactory (class: javax.naming.Context)
  |    |   |   +- SerialContextProvider (class: com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1)
  |   |   |   |   +- ejb (class: com.sun.jndi.cosnaming.CNCtx)
  |   |   |   |   |   +- mgmt (class: com.sun.jndi.cosnaming.CNCtx)
  |   |   |   |   |   |   +- MEJB (class: com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1)
  |   |   +- MessageQueue (class: javax.naming.Context)
  |   |   |   +- SerialContextProvider (class: com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1)
  |   |   |   |   +- ejb (class: com.sun.jndi.cosnaming.CNCtx)
  |   |   |   |   |   +- mgmt (class: com.sun.jndi.cosnaming.CNCtx)
  |   |   |   |   |   |   +- MEJB (class: com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1)
  |   ...
  |   +- queue (class: org.jnp.interfaces.NamingContext)
  |   |   +- testQueue (class: org.jboss.mq.SpyQueue)
  | 

Im able to do a lookup on the queue Context and on the testQueue.


How can i set up things to do the lookups?

thank you,
Joao

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3959108#3959108

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3959108



More information about the jboss-user mailing list