Ldap/java [Résolu]

Messages postés
14
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
23 juillet 2012
- - Dernière réponse : 5ou5a2012
Messages postés
14
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
23 juillet 2012
- 29 juin 2012 à 17:06
Bonjour,
je suis entrain de traiter une application java qui interagi avec un serveur ldap sous MV,j'ai réussi la connexion du serveur à partir du code java ainsi que la modification d'un objet en utilisant la méthode ModifyAttribute,mon probléme maintenant c'est au niveau de la méthode bind()pour le stockage d'un objet.
le bout de code est le suivant:
*******************************************

package xtensus.ldap.ldif;

import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;

public class ObtentionObjet {

public static void main(String[] args) {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://192.168.198.131:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=admin,dc=xtensus,dc=com");
env.put(Context.SECURITY_CREDENTIALS, "ikhlass");
DirContext dirContext;

try {
dirContext = new InitialDirContext(env);

MonObjet objet = (MonObjet) dirContext.lookup("cn=xxxxx,dc=xtensus,dc=com");
System.out.println("******test*****");
System.out.println("champ1="+objet.getChamp1());
System.out.println("champ2="+objet.getChamp2());
dirContext.close();
} catch (NamingException e) {
System.err.println("Erreur lors de l'acces au serveur LDAP" + e);
e.printStackTrace();
}
System.out.println("fin des traitements");
}


}
***********************
erreur :Exception in thread "main" java.lang.ClassCastException: com.sun.jndi.ldap.LdapCtx cannot be cast to xtensus.ldap.ldif.MonObjet
at xtensus.ldap.ldif.ObtentionObjet.main(ObtentionObjet.java:23)
SVP de m'aider et merci d'avance,
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
246
3
Merci
Salut,

Ce cast : MonObjet objet = (MonObjet) dirContext.lookup("cn=xxxxx,dc=xtensus,dc=com"); pose problème, la signature de la méthode lookup n'est pas une instance de la classe MonObjet.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Julien39
Messages postés
14
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
23 juillet 2012
3
Merci
Salut,
excusez moi,mais j'ai pas bien compris,un plus de détail,svp
Merci,

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de 5ou5a2012
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
246
0
Merci
Tu sais ce qu'est un cast ?

Si ce n'est pas le cas, tu en fais un pourtant...

Object objet = dirContext.lookup("cn=xxxxx,dc=xtensus,dc=com");


Ce code fonctionnera mais tu ne pourras pas utiliser les méthode définies dans la classe MonObjet sur cette instance.
Commenter la réponse de cs_Julien39
Messages postés
14
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
23 juillet 2012
0
Merci
Salut,
Au fait,j'utilise cette méthode:
***Attribute attribut = new BasicAttribute("Telephone Number");
System.out.println(attribut.add("25666666"));
attributes.put(attribut);****
et avec la méthode ModifyAttribute j'aime modifier le numero de telephone existant par celui ci.Le probléme c'est que au niveau de phpldapadmin sous la machine virtuelle de debian il s'affiche clairement,mais au niveau de JXplorer,le similaire de ldap browser,il s'afiche comme suit "MjUyNTI1MjU="caractère illisible.
le probléme c'est au niveau du jxplorer ??quelle méthode me permet de convertir ç en numérique.
Merci d'avance pour vos réponses,
Commenter la réponse de 5ou5a2012
Messages postés
14
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
23 juillet 2012
0
Merci
pour ta réponse pour le cast,je sais bien le cast,mais ta réponse en éliminant le cast est fausse,il génére une erreur ..,on peut pas faire la conversion.
Commenter la réponse de 5ou5a2012
Messages postés
14
Date d'inscription
mercredi 22 décembre 2010
Statut
Membre
Dernière intervention
23 juillet 2012
0
Merci
pour obtenir un objet du serveur ldap,normalement on utilise la méthode lookup(),mais ça fonctionne pas :/ est ce que je peux utiliser la méthode getAttribute(),cette derniére elle m'affiche les attributs.la ,question est ce que c'est kifkif?? ou il a une diffrence d'utilisation.
Merci
Commenter la réponse de 5ou5a2012