unable to locate connection factory

env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");

env.put(Context.PROVIDER_URL,"ldap://164.179.168.157:389");

jndiContext =new InitialContext(env);

queueConnectionFactory = (QueueConnectionFactory)

//jndiContext.

jndiContext.lookup("jms/QueueConnectionFactory");

I've set up a domain controller and a sun app server on machine A. I created a queue using the java tutorial and using the admin console. My connectionFactory (queue) is named jms/QueueConnectionFactory

Now I'm running my prog on Machine B. But the lookup failed.

JNDI API lookup failed: javax.naming.InvalidNameException: jms: [LDAP: error code 34 - 0000208F: NameErr: DSID-031001AA, problem 2006 (BAD_NAME), data 8350, best match of:

'jms'

[946 byte] By [j@na] at [2007-10-2 13:00:55]
# 1
It looks like the QueueConnectionFactory doesn't exist.best match of:'jms'Means that the jms branch does exist however.
SteveNaivea at 2007-7-13 10:21:15 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 2

Well based on the queues I created on the server, It does exist. I could see it on the admin console. and using asadmin, list-jms-connector-resources, theres jms/QueueConnectionFactory and jms/TopicConnectionFactory.

Maybe my ldap's connection is wrong? Would there be a problem if the jms/ldap server's on a remote machine?

Is there a way where in I could look up contents of this jms ? I'm really lost here.

j@na at 2007-7-13 10:21:15 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 3
I also tried insteadjndiContext.lookup("jms");to see if this jms exists but I get the same error.
j@na at 2007-7-13 10:21:16 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...
# 4

Here's what I did in detail...

I've set up a win2k domain controller radwebdc.tfcorp.org on server RAD_WEB (164.169.168.157). On my local host montanoj01, I run SimpleQueueSender java program with this initial context entry.

env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");

env.put(Context.PROVIDER_URL, "ldap://164.179.168.157:389");

env.put(Context.SECURITY_PRINCIPAL, "jan montano");

env.put(Context.SECURITY_CREDENTIALS, "password");

I've managed to get pass through jndiContext = new InitialContext(env); with no errors. Meaning I've established a connection with my ldap server right?

//jndiContext.lookup("QueueConnectionFactory");

//jndiContext.lookup("jms/QueueConnectionFactory");

//jndiContext.lookup("jms");

* neither of these 3 works

When I'm looking for the connectionfactory I get an error

javax.naming.InvalidNameException: QueueConnectionFactory: [LDAP: error code 34 - 0000208F: NameErr: DSID-031001AA, problem 2006 (BAD_NAME), data 8350, best match of:

'QueueConnectionFactory'

I know I created a connection factory on rad_web using the sun application server admin console. and my connection factory's name is jms/QueueConnectionFactory. I can also see this using asadmin list-connector-resources.

I researched error code 34 and it says :

LDAP_INVALID_DN_SYNTAX: Indicates that the syntax of the DN is incorrect. (If the DN syntax is correct, but the LDAP server's structure rules do not permit the operation, the server returns LDAP_UNWILLING_TO_PERFORM.)source: http://www.directory-info.com/LDAP/LDAPErrorCodes.html

What am I doing wrong? Please I need your help. Thanks.

j@na at 2007-7-13 10:21:16 > top of Java-index,Enterprise & Remote Computing,Enterprise Technologies...