Domino 9 und frühere Versionen > ND6: Entwicklung
LDAP Search aus Notes DB heraus
Thomas Schulte:
Fehler nummer 2 taucht hier
--- Code: ---try {
// Create initial context
**********************************************
==> DirContext ctx = new InitialDirContext(env); <==
**********************************************
String[] attrIDs = {searchAttr};
SearchControls ctls = new SearchControls();
ctls.setReturningAttributes(attrIDs);
// Specify the search filter
String filter = "(|(cn="+searchCN+")(uid="+searchCN+"))";
// Search for objects using the above filter
NamingEnumeration answer = ctx.search("", filter, ctls);
findCN(answer, doc);
// Close the context when we're done
ctx.close();
} catch(NamingException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
--- Ende Code ---
auf.
animate:
von hier
--- Zitat ---if you use Domino R6 you mus set "run time security level to 2" on security tab from the agent properties.
--- Ende Zitat ---
evtl hilfts
m3:
Schaut bei mir so aus:
--- Code: --- public static final String factory = "com.sun.jndi.ldap.LdapCtxFactory";
public static final String provider = "ldap://ldap.xxxxxxxx.at:389";
...
DirContext ctx;
umgebung = new Hashtable();
/* INITIAL_CONTEXT_FACTORY ... Constant that holds the name of the environment property for specifying the initial context factory to use. */
umgebung.put(Context.INITIAL_CONTEXT_FACTORY, factory);
/* PROVIDER_URL ... Constant that holds the name of the environment property for specifying configuration information for the service provider to use. */
umgebung.put(Context.PROVIDER_URL, provider);
// This class encapsulates factors that determine scope of search and what gets returned as a result of the search.
ctx = new InitialDirContext ( umgebung );
--- Ende Code ---
Thomas Schulte:
OK Thomas Probier ich morgen mal aus.
Martin ich seh jetzt nicht wirklich einen Unterschied zwischen dem was du da drin hast und meinem Code?
Ich nehme mal an das das was du mit ... entfernt hast die anderen Parameter sind.
flaite:
--- Code: ---26.07.2005 14:09:00 Agent error: at lotus.notes.AgentSecurityManager.checkConnect(AgentSecurityManager.java:172)
--- Ende Code ---
Diese Zeile weisst darauf hin, dass es etwas mit der Agent-Security zu tun haben könnte.
Ansonsten empfehle ich *dringend* bei ernsthafteren Java Programmen inklusive Notes-Agenten Eclipse zu benutzen. Wenn du eine Scheibe von einen Brot haben willst, machst du das ja hoffentlich auch mit einem Messer und rupfst dir da nicht mit den Fingern ein Stück raus. ;D
Was willst du eigentlich ungefähr machen?
--- Zitat von: Thomas Schulte am 26.07.05 - 17:05:17 ---OK Den Fehler hab ich auch gefunden, wenn hier
--- Code: --- String ldapCF = _confdoc.getItemValueString("ldapCF");
--- Ende Code ---
kein Wert drinsteht dann muss man das so:
--- Code: --- if (ldapCF == null){
ldapCF="";
}
--- Ende Code ---
abfangen damit er beim Hashtable nicht aussteigt.
--- Ende Zitat ---
Hälst du das wirklich für eine gute Idee?
Ist dieser Wert nicht vielleicht eher notwendig, damit du eine Verbindung mit dem LDAP Server herstellen willst?
Dann vielleicht eher so, weil du durch das "" setzen nichts gewinnst.
--- Code: ---if ((ldapCF == null) throw new RuntimeException ("Der KonfigWert \"ldapCF\" ist nicht gesetzt. Ohne den geht hier sowieso gar nichts.");
--- Ende Code ---
Checke ausserdem bitte mal den Namen des Feldes in der Maske hinsichtlich Case-Sensitivität mit "ldapCF".
Ich hab auch länger nix mehr mit Notes und Java gemacht. Ich würd aber heute auch statt System.out.println immer log4j oder jdk14-logging verwenden. Kann vielleicht mal einen kurzen Artikel schreiben, wie man das einrichtet. Es geht hier wirklich um Arbeitserleichterung. Eclipse - Benutzung fällt unter das gleiche Thema.
gruß Axel
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln