Expanding JNDI via LDAP
tfsquare Apr 23, 2005 8:51 PMI posted this to "JBOSS Public" over at google groups, afterwards I noticed not much is poster there ;). So...
All,
I'm having a terrible time configuring JBoss (4.0.1 sp1) to talk with
an external LDAP server.
The documentation I've read all point to creating the following entry
in server/default/conf/jboss-service.xml...
<!-- Bind a remote LDAP server --> <mbean code="org.jboss.naming.ExternalContext" name="jboss.jndi:service=ExternalContext,jndiName=external/ldap/jboss"> <attribute name="JndiName">external/ldap/jboss</attribute> <attribute name="Properties">ldap.properties</attribute> <attribute name="InitialContext">javax.naming.ldap.InitialLdapContext</attribute> <attribute name="RemoteAccess">true</attribute> </mbean>
I created the file 'ldap.properties' in the conf directory with the
following contents...
java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory java.naming.provider.url=ldap://myldap-server:389/ou=USER,ou=JMS,ou=Services,o=MyCompany%20Name java.naming.security.principal=cn=Directory Manager java.naming.security.authentication=simple java.naming.security.credentials=secret
Attempts to start JBoss after this wound up with a socket time-out
exception. After some review of the code in NamingContext.java I
decided to add the following line to the conf/jndi.properties...
jnp.disableDiscovery=true
This appears to disable an attempt by JBoss to 'discover' other servers
via multi-cast packets which indeed do time-out on my network.
However, I now get the following exception during start up...
No valid Context.PROVIDER_URL was found
Here is where I've given up for the time being. My questions are:
(a) Has ANYONE out there been able to get an external JNDI namespace
via LDAP to work with JBoss? Just knowing it is possible, would be a
boost :)
(b) Based on my description here, can you point me in a direction of
resolution of this problem?
(c) Is my "Properties" attribute correct? It follows closely the
examples I've seen but a couple things I find disturbing. Although
JBoss reports serveral things about my config when I have DEBUG level
logging on, nothing in ldap.properties is reported. Furthermore, I can
give a non-existent file name here and there is no complaint.
(d) Where should the ldap.properties file (based on my setting above)
go? Should it be in server/default, server/default/conf,
server/default/deploy or somehwere else?
Thanks in advance.
Tfsquare.