Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit LDAP Kompilierung



lecorniaud
10-06-2006, 23:30
Hallo zusammen
Ich lerne seit einigen Tage LDAP (JNDI) ,da ich diese Technik in mein Projekt verwenden muss.Ich habe einige Beispiel-Programe aus Internet heruntergeladen, aber immer ich sie kompielere bekomme ich Fehlermeldungen,obwohl ich alle benötigte Klassenbibliotheken angepasst habe,ich bitte um Hilfe ,um zu wissen wie ich eine JNDI-Program kompilieren kann.
Ich verwende Window XP,Eclipse als Entwicklungsumgebung ,JAVA SDK 1.5.
Hier ist ein Program das,ich geschrieben habe.


import java.util.*;
import javax.naming.*;
import javax.naming.directory.*;

/*Dieses Listing sucht nach allen Einträgen,die ein Locality-Attribut mit dem Wert
* Hamburg oder Berlin haben und deren Organisationseinheit mit der Zeichenkette co
* beginnt.*/

public class FilterSearch {

public static void main(String[] args){
try{
//Konfiguration der JNDI-Umgebung
Hashtable env = new Hashtable();

//Setzen des Service-Providers(LDAP)
env.put(DirContext.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");

//Setzen des Providers-URL
env.put(DirContext.PROVIDER_URL,
"ldap://localhost:389/o=JNDITutorial");

//Erzeugen des InitialContext
DirContext ctx = new InitialDirContext(env);

//Erzeugen des Filters
String filter = "(&(|(l=Hamburg)(l=Berlin))(ou=Co*))";

//Erzeugen der Suchbedingungen
SearchControls ctls = new SearchControls();
//Suche nach den Objekten
NamingEnumeration list = ctx.search(".",filter,ctls);
while(list.hasMore()){
SearchResult result = (SearchResult)list.next();
System.out.println(result.getName() + " : " + result.getObject());
}

//schliessen der Verbindung
ctx.close();
}catch(NamingException nex){
nex.printStackTrace();
}

return;
}

}

Beim KOmpielen bekome ich folgende Fehlermeldungen :

localhost:389 [Root exception is java.net.ConnectException: Connection refused: connect]
at com.sun.jndi.ldap.Connection.<init>(Unknown Source)
at com.sun.jndi.ldap.LdapClient.<init>(Unknown Source)
at com.sun.jndi.ldap.LdapClient.getInstance(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.connect(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.<init>(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Unkno wn Source)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(Unkn own Source)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstanc e(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext (Unknown Source)
at javax.naming.spi.NamingManager.getInitialContext(U nknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unkn own Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at javax.naming.directory.InitialDirContext.<init>(Unknown Source)
at ldap.FilterSearch.main(FilterSearch.java:27)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.sun.jndi.ldap.Connection.createSocket(Unknown Source)
... 15 more


Im Voraus vielen Dank für deine Hilfe.

Lecorniaud.

comrad
15-06-2006, 10:23
Ich frage mich gerade, wie man LDAP-Programmierung betreiben kann und dabei nicht weiss, was man mit einem "connection refused" anfangen soll...

Ok, vielleicht stehst ja auch einfach aufm Schlauch: Überprüf mal, ob dein LDAP läuft, ob er überhaupt von dir aus erreichbar ist, ob Authentifikation funktioniert usw.

Der Fehler sollte allerdings nicht beim Kompilieren, sondern zur Laufzeit auftreten, oder?

comrad