Bonjour,

J'écris ce message car je bloque actuellement sur une erreur non explicite lors que je souhaite ajouter une entrée dans mon AD.
J'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
LDAP: error code 21 - 00000057: LdapErr: DSID-0C090C3E, comment: Error in attribute conversion operation, data 0, v1db1

Je me suis créé une classe personnalisée utilisateurLDAP4 dans l'AD qui hérite de user. Tous les attributs que j'ai créé sont des Chaîne Unicode, sauf majMdp qui est un booléen.

Voici le code suivant. Si vous pouvez m'éclairer sur ce qui me manque, car je tourne vraiment en rond. Merci d'avance.

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
 
                  DirContext ctx= null;
        Hashtable env = new Hashtable();
        env.put("java.naming.factory.initial",
                "com.sun.jndi.ldap.LdapCtxFactory");
        env.put("java.naming.provider.url", "ldap://adresseX:10389/DC=organisation,DC=int,DC=que");
        env.put("java.naming.security.authentication", "simple");
        env.put("java.naming.security.principal", "CN=admin,DC=organisation,DC=int,DC=que");
        env.put("java.naming.security.credentials", "password");
 
        try {
            ctx= new InitialDirContext(env);
        } catch (NamingException e) {
            e.printStackTrace();
            throw new ServiceException(e.toString());
        }
 
 
...
 
            Attribute oc =
                new BasicAttribute("objectclass"); 
            oc.add("top");
            oc.add("person");
            oc.add("organizationalPerson");
            oc.add("user");
            oc.add("utilisateurLDAP4");
            attributes.put(oc);
            attributes.put("cn", utilisateur.getCourriel());
            attributes.put("instanceType", "4");
 
            attributes.put(new BasicAttribute("courriel",
                                              utilisateur.getCourriel()));
            attributes.put(new BasicAttribute("nom", utilisateur.getNom()));
            attributes.put(new BasicAttribute("majMdp", "true"));
            //... autres champs obligatoires de ma classe
 
 
            // noeud des utilisateurs
            String groupeUtilisateur =
                "adressemailexemple.com"
 
            // Perform the bind
            String place =
                "cn=" + utilisateur.getCourriel() + ",OU=" + groupeUtilisateur +
                ",OU=Utilisateurs,OU=Portail";
 
            ctx.createSubcontext(place, attributes);
Manque t'il des champs obligatoires ? Une valeur ou adresse est incorrecte ? Franchement, avec l'erreur donnée, je ne sais pas. J'essaye de modifier des informations, sans succès pour l'instant.