Bonsoir à tous,
J'ai souhaite me conencter en Java à un annuaire LDAP (Active Directory)....
Après avoir recuperé un bout de code ici sur ce forum....

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
package test;
 
import java.util.Map;
import javax.naming.*;
import javax.naming.directory.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import java.util.Hashtable;
 
public class TestJava {  
 
	public static void main(String[] args) {
 
		String baseName = ",cn=users,DC=activedirectory,DC=myorg,DC=ca";
		String serverIP = "myAdress";
		String modelUsername = "template";
 
        // Set up environment for creating initial context
        Hashtable env = new Hashtable(11);
        env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL,  "ldap://" + serverIP + ":389");
 
        // Authenticate
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
        env.put(Context.SECURITY_PRINCIPAL, "cn=Administrateur" + baseName);
        env.put(Context.SECURITY_CREDENTIALS, "xxxxx");
     //   env.put(Context.SECURITY_PROTOCOL, "ssl");
 
        try
        {
        DirContext ctx = new InitialDirContext(env);
        System.out.println("Connection au serveur LDAP done");
 
        // do something useful with ctx
 
        Attributes answer = ctx.getAttributes("cn=Toto , ou=personnel, ou=GICM");
        for (NamingEnumeration ae = answer.getAll(); ae.hasMore();)
        {
                Attribute attr = (Attribute)ae.next();
                System.out.println("attribute: " + attr.getID());
                for (NamingEnumeration e = attr.getAll(); e.hasMore();
                System.out.println("value: " + e.next()));
        }
        ctx.close();
        System.out.println("Deconnection done");
        }
        catch (NamingException e)
        {
                System.out.println("erreur ici: ");
                e.printStackTrace();
        }
    }
}
Après execution, j'ai le message d'erreur suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Connection au serveur LDAP done
erreur ici: 
javax.naming.NamingException: [LDAP: error code 1 - 000020D6: SvcErr: DSID-03100684, problem 5012 (DIR_ERROR), data 0;
remaining name 'cn=Toto, ou=personnel, ou=GICM'
	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
	at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
	at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
	at com.sun.jndi.ldap.LdapCtx.c_getAttributes(Unknown Source)
	at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_getAttributes(Unknown Source)
	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(Unknown Source)
	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(Unknown Source)
	at javax.naming.directory.InitialDirContext.getAttributes(Unknown Source)
	at javax.naming.directory.InitialDirContext.getAttributes(Unknown Source)
	at test.TestJava.main(TestJava.java:38)
Si quelqu'un peut m'expliquer mon erreur, car apparement, je n'arrive pas à me connecter !
merci d'avance !