Je vais bien merci.
as tu fait un System.out.println(ctx.getNameInNamespace()) ?
Je vais bien merci.
as tu fait un System.out.println(ctx.getNameInNamespace()) ?
Oui et ça n'affiche rien du tout.
Est-ce que tu penses que ça pourrait venir du SearchBase?
J'ai indiqué ce qui se trouve à la racine, ça paraît correct?
as tu essayé un answer.getNameInNamespace(); ?
Il n'accepte pas cette syntaxe...
la recherche renvoie bien quelque chose ? il trouve bien dupont dans l'annuaire ?
Si j'imprime ma variable answer j'obtiens :
Pas terrible...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2DN : com.sun.jndi.ldap.LdapSearchEnumeration@19106c7
essai un truc comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SearchControls constraints = new SearchControls(); constraints.setSearchScope(SearchControls.SUBTREE_SCOPE); NamingEnumeration results = ctx.search(ENV.MY_SEARCHBASE, ENV.MY_FILTER, constraints); while (results != null && results.hasMore()) { SearchResult si = (SearchResult) results.next(); Attributes attrs = si.getAttributes(); } results.getNameInNamespace();
Merci beegood.
J'obtiens quelques erreurs à la compilation :
D'où proviennent ces ENV ?
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 symbol : variable ENV location: class ch.ldap.ClientLDAP NamingEnumeration results = ctx.search(ENV.MY_SEARCHBASE, ENV.MY_FILTER, constraints); ^ .\src\ch\ldap\ClientLDAP.java:258: cannot find symbol symbol : variable ENV location: class ch.esnig.ldap.ClientLDAP NamingEnumeration results = ctx.search(ENV.MY_SEARCHBASE, ENV.MY_FILTER, constraints); ^ .\src\ch\esnig\ldap\ClientLDAP.java:264: cannot find symbol symbol : method getNameInNamespace() location: interface javax.naming.NamingEnumeration results.getNameInNamespace();
oups désolé
ENV.MY_SEARCHBASE= ta base de recherche
ENV.MY_FILTER= ton filtre
...
Apparemment il n'aime pas trop cette variable ENV, car il ne la trouve pas.
Est-ce que je dois importer qqch pour ça ?
non pas du tout je t'ai envoyé un extrait de code , tu dois juste remplacer les deux variables par tes variables c'est tout
Je vais voir ça plutôt lundi ou ce week-end, car j'ai une séance cet après-midi.
En tout cas, je te remercie pour tout et te souhaite un bon week-end.
A+
Quand je compile le code suivant, j'obtiens une erreur :
Voici l'erreur :
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 public void getDn () throws ch.esnig.ldap.ClientLDAPException { try { String searchBase = "dc=ecole, dc=ch"; String searchFilter = "(&(uid=dupont))"; SearchControls constraints = new SearchControls(); constraints.setSearchScope(SearchControls.SUBTREE_SCOPE); NamingEnumeration results = ctx.search(searchBase, searchFilter, constraints); while (results != null && results.hasMore()) { SearchResult si = (SearchResult) results.next(); Attributes attrs = si.getAttributes(); } results.getNameInNamespace(); System.out.println ("results" + results); } catch (javax.naming.NamingException e) { throw new ch.ldap.ClientLDAPException ("Error : recherche du dn (getDn)", e); } }
Est-ce que quelqu'un pourrait m'aider et me dire pourquoi j'obtiens cette erreur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 .\src\ch\ldap\ClientLDAP.java:269: cannot find symbol symbol : method getNameInNamespace() location: interface javax.naming.NamingEnumeration results.getNameInNamespace(); ^
Merci d'avance!
Tout est dans le message d'erreur
Symbol équivaut à variable ou méthode.
Le message t'inidique qu'aucune méthode 'getNameInNamespace' existe pour la classe 'NamingEnumeration' de l'objet 'results'.
Conseil d'un vieux crabe infromaticien:
Comment je te l'ai déjà dit, il est préférable que tu prennes une heure à étudier les classes employées pour l'accés LDAP au lieu de code à l'aveuglette.
Bonne journée
OK merci.
Finalement mon code fonctionne.
Voici le résultat :
Merci pour votre aide!
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 public void getDn () throws ch.ldap.ClientLDAPException { try { SearchControls constraints = new SearchControls(); constraints.setSearchScope(SearchControls.SUBTREE_SCOPE); String searchBase = "dc=ecole, dc=ch"; String searchFilter = "(&(uid=dupont))"; NamingEnumeration results = ctx.search(searchBase, searchFilter, constraints); while (results != null && results.hasMore()) { SearchResult si = (SearchResult) results.next(); Attributes attrs = si.getAttributes(); //si.getName(); System.out.println ("DN : " + si.getNameInNamespace()); } } catch (javax.naming.NamingException e) { throw new ch.esnig.ClientLDAPException ("Error : recherche du dn (getDn)", e); } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager