[LDAP/JAVA] value of naming attribute 'cn' is not present in entry - Java - Programmation
Marsh Posté le 13-07-2006 à 10:36:00
Citation : "cn=XYZ,ou=baba,ou=bobo,dc=toto,dc=fr" |
J'y connais rien à LDAP et tout ça mais ça me parrait étrange que des paramètres soient séparés par une virgule.
Fais un affichage de attributs[68] pour voir la valeur qui pose problème.
Marsh Posté le 13-07-2006 à 16:06:59
C'est normal que les paramétres soient séparés par une virgule c'est la norme LDAP qui veut ca
et pour l'affichage de l'attributs 68 en effet j'ai testé en l'affichant à chaque fois et je n'ai pas vu d'erreur il correspondait bien à la valeur du cn passé en paramétre
Marsh Posté le 21-07-2006 à 09:59:38
up !
à noter que quand je test en mettant un uid à la place du cn dans mon RDN sa me met la meme erreur mais pour l'uid :
value of naming attribute 'uid' is not present in entry
Marsh Posté le 21-07-2006 à 15:24:59
ton array "attributs" est de quel type??
Marsh Posté le 21-07-2006 à 15:33:39
irsot a écrit : up ! à noter que quand je test en mettant un uid à la place du cn dans mon RDN sa me met la meme erreur mais pour l'uid : |
tu te connectes avec un user qui a suffisamment de droit pour faire cette opération ?
d'ailleurs, de memoire, je pense pas que tu puisses modifier le cn d'une entrée .. non ? (je veux dire pour creer une entrée, ca se fait peut etre pas avec des add ? ton code ? )
Marsh Posté le 23-07-2006 à 12:48:53
"ton array "attributs" est de quel type??"
il est de type String
"tu te connectes avec un user qui a suffisamment de droit pour faire cette opération ? "
oui je me connect avec le rootdn
"d'ailleurs, de memoire, je pense pas que tu puisses modifier le cn d'une entrée .. non ? (je veux dire pour creer une entrée, ca se fait peut etre pas avec des add ?"
si on peut modifier le cn d'une entré grace à une commande spéciale, et sinon j'ai utilisé la librairie Novell pour me connecter et creer des entrées donc normalement cela devrait fonctionner j'ai juste adapter leur exemple de code à mon programmes.
la librairie : http://www.openldap.org/jldap/
et voici le code d'insertion des entrées : http://developer.novell.com/docume [...] /index.htm rubrique addEntry.java
mais comme je l'ai dis creer une entré sa fonctionne car mon premier enregistrement fonctionne bien, c'est à chaque fois le deuxieme qui plante
Marsh Posté le 24-07-2006 à 09:40:46
Voici mon code source si qqun pouvait deceler mon erreur
la classe AnalyseDelta a pour principal but de lire un fichier texte qui correspond a peu pres à un fichier LDIF, elle décortique chaque personne se trouvant dans ce fichier texte en prenant son dn et ses attributs qu'elle transmet à la classe ServiceLDAP.
Classe AnalyseDelta
Code :
|
Classe ServiceLDAP
Code :
|
Marsh Posté le 24-07-2006 à 09:43:45
ReplyMarsh Posté le 25-07-2006 à 10:35:08
Reply
Marsh Posté le 12-07-2006 à 23:49:27
Bonjour,
J'ai une erreur assez embettante depuis hier car je ne peu insérer des données au sein de mon serveur LDAP voici la cause :
Error: LDAPException: Naming Violation (64) Naming Violation
LDAPException: Server Message: value of naming attribute 'cn' is not present in entry
LDAPException: Matched DN:
A savoir que mon dn en entrée est : "cn=XYZ,ou=baba,ou=bobo,dc=toto,dc=fr" et mon cn en entrée qui reprend bien le cn de mon dn "XYZ"
A savoir que j'ai créer ma propre classe sous ldap et que je fais dériver ma classe d'inetorgperson qui hérite elle meme d'organizationalperson et de person. la classe person a comme attributs obligatoires cn.
Donc en toute logique on doit lui passer un cn , chose que je fais mais qui malheuresement abouti a ce message d'erreur
J'utilise la librairie Novell pour me connecter et manipuler les données, voici le code pour insérer le cn :
attributeSet.add( new LDAPAttribute("cn", attributs[68]));
je passe tout mes attributs dans le tableau
J'avais vu sur des forums comme quoi ce type d'erreur etait lié au fait qu'on ne mettait pas la bonne valeur au "cn" mais là apparement ce n'est pas le cas, mais j'ai quand meme cette erreur ..
si vous voyez une solution merci d'avance!