Visual Basic - ActiveX LDAP Client Problem
RobiC
- sonstiges
Hallo,
ich hoffe, dass hier schon jemand Erfahrung mit dem ActiveX LDAP Clienten hat.
Ich schreibe gerade eine Synchronisations-Anwendung, mit der aus einem Meta Directory Server (DirX) die Mitarbeiter-Daten ausgelesen und mit dem Intranet und Extranet des Unternehmens abgeglichen werden.
Die Anwendung schreibe ich unter Visual Basic. Zu Testzwecken habe ich einen OpenLDAP-Server aufgesetzt und dort ein ähnelndes Abbild des DirX-Servers geschaffen.
Das Problem steckt in der Suche im LDAP. Der Code ist stark vereinfacht:
LDAP-Server: openLDAP
Client:
<SNIP>
Dim objLDAP As Object, objAttributes As Variant, objSearch As Variant
Set objLDAP = CreateObject("LDAPclient.2")
Set objAttributes = CreateObject("LDAPclient.StringCollection")
Call objLDAP.Connect("devserverhp", "389", "cn=Manager", "pass", False)
Call objAttributes.add("commonName")
Call objAttributes.add("value")
Set objSearch = objLDAP.search("ou=User,ou=dingo,o=scd,o=kunde,o=project,dc=devserverhp", "(|(cn=ModalityProductgroup)(cn=KnowledgeInformationMED)(cn=roles))", , objAttributes)
Dim entry As Variant
For Each entry In objSearch
Call objError.message(entry.Attributes("value").Values(0).Value)
Next
Call objError.message(objSearch.Count)
Call objLDAP.Disconnect
</SNIP>
Im Endeffekt bekomme ich keine Ergebnisse zurück, obwohl die gleiche Anfrage über eine LDAP-Administrationssoftware zu den richtigen Treffern führt. Selbst eine einfache Suche nach Objekten bringt kein Ergebnis.
Ich bin momentan ziemlich ratlos. Wäre nett, wenn jemand da weiterhelfen kann.