Bonjour,

Je tente de créer un utilisateur dans un annuaire Active directory via JNDI.
Cepdant lors de la création du compte, j'obtiens l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Abort because javax.naming.directory.NoSuchAttributeException: [LDAP: error code 16 - 00000057: LdapErr: DSID-0C090B38, comment: Error in attribute conversion operation, data 0, vece]; remaining name 'cn=B**censure**T Bernard,CN=Users,DC=gratest,DC=fr'
11:55:28,513 ERROR [ServerThread] failed to process invocation.
java.io.NotSerializableException: com.sun.jndi.ldap.LdapCtx
Voila la signification du code d'erreur 16 que j'ai trouvé :
LDAP_NO_SUCH_ATTRIBUTE: Indicates that the attribute specified in the modify or compare operation does not exist in the entry.
Je ne comprends pas très cette erreur puisque je souhaite créer un compte et non le modifier (il n'existe pas dans mon AD).

Je vous montre le code qui s'execute :
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
String distinguishedName = "cn=" + compteAD.getNom().toUpperCase() + " " + firstUp(compteAD.getPrenom()) + _baseName;
 
Attributes newAttributes = new BasicAttributes(true);
 
// Définit l'objectclass
Attribute oc = new BasicAttribute("objectclass");
oc.add("user");
oc.add("organiazionalPerson");
oc.add("person");
oc.add("top");		
 
newAttributes.put(oc);
 
// définit les valeurs du compte AD
 
newAttributes.put(new BasicAttribute("sAMAccountName", compteAD.getCodeRedacteur()));
 
if (compteAD.getNom() != null)
	newAttributes.put(new BasicAttribute("sn", compteAD.getNom().toUpperCase()));
 
if (compteAD.getPrenom() != null)
	newAttributes.put(new BasicAttribute("givenName", compteAD.getPrenom()));
 
...Etc.. (initialisation des attributs de l'AD)...
 
// Crée le compteAD dans l'annuaire.
_ctx.createSubcontext(distinguishedName, newAttributes);
Si vous comprennez d'ou pourrait provenir cette erreur, cela m'aiderait pas mal parceque là je commence à bloquer.

Merci de votre aide.
Loïc