/**
LDAP Search Sample
for Netscape Directory SDK 4.0
Using: ldapSearch host username password filter
**/
import netscape.ldap.*;
import java.util.*;
public class ldapSearch {
public static void main(String[]
args) {
LDAPConnection
ld = null;
LDAPEntry
findEntry = null;
LDAPSearchResults
res;
try
{
ld
= new LDAPConnection(); // <--------------------- (2)
String
host = args[0]; //
int
port = 389; // <-------------------
(3)
String
buser = args[1]; //
String
bpass = args[2]; //
ld.connect(
host, port ,buser ,bpass); // <-------------- (1)
String
BaseDN = "o=ABC-Syouji, c=JP"; //
int
scope = LDAPConnection.SCOPE_SUB; //
<----- (5)
String
Filter = args[3]; //
String
Attlib[] = {"DN", "cn;lang-ja", "mail"}; //
boolean
typesOnly = false;
res
= ld.search(BaseDN, //
(a)
scope, //
(b)
Filter, //
(c) <--------------------- (4)
Attlib, //
(d)
typesOnly
); // (e)
while
( res.hasMoreElements() ) { //
<----------- (6)
try
{
findEntry
= res.next(); // <----------------
(7)
}
catch ( LDAPException e ) {
System.out.println(
">>>Error: " + e.toString() );
continue;
}
System.out.println("DN:
" + findEntry.getDN() ); // <---------- (8)
LDAPAttributeSet
findAttrs = findEntry.getAttributeSet(); //
Enumeration
enumAttrs = findAttrs.getAttributes(); //
<- (9)
while
( enumAttrs.hasMoreElements() ) { // <--------------- (10)
/* */ LDAPAttribute
anAttr = (LDAPAttribute)enumAttrs.nextElement();
/* (11)
---------------> */ String
attrName = anAttr.getName();
/* */ System.out.print("\t"
+ attrName + ": ");
/* */ Enumeration
enumVals = anAttr.getStringValues();
/* */ if
(enumVals != null) {
/* (12)
---------------> */ while
( enumVals.hasMoreElements() ) {
/* */ String
aVal = (String)enumVals.nextElement();
/* */ System.out.println(aVal);
/* */ }
}
}
}
}
catch( LDAPException e ) {
System.out.println(
">>>Error: " + e.toString() );
}
if
( (ld != null) && ld.isConnected() ) {
try
{
ld.disconnect(); //
<------- (13)
}
catch ( LDAPException e ) {
System.out.println(
">>>Error: " + e.toString() );
}
}
}
} |