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.
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.