IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[JNDI] Erreur non explicite lors de l'ajout d'une entrée dans l'AD


Sujet :

API standards et tierces Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 45
    Points
    45
    Par défaut [JNDI] Erreur non explicite lors de l'ajout d'une entrée dans l'AD
    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.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Points : 45
    Points
    45
    Par défaut
    J'ai trouvé le coupable !! Une ostie de niaiserie sur le champ booléen. Il suffit simplement de remplacer "true" par "TRUE".
    Bref, si vous avez un attribut de type boolean dans votre classe, enregistrer la valeur entres quotes et en majuscules.
    En espérant que ça aidera du monde.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ajout d'une entrée dans le grub
    Par luciliu dans le forum Administration système
    Réponses: 2
    Dernier message: 26/07/2010, 18h30
  2. Ajout d'une entrée dans une table Access
    Par Blade76 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/12/2009, 15h36
  3. Assembly non valide lors de l'ajout d'une dll
    Par soso78 dans le forum VB.NET
    Réponses: 8
    Dernier message: 11/04/2008, 14h43
  4. Ajout d'une entrée dans un menu contextuel
    Par olive_le_malin dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 08/06/2006, 08h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo