Bonjour bonjour !!
Je suis actuellement en train de decouvrir l´API puma pour les portails WebSphere.
Mon but est de decouvrir si un utilisateur appartiens a un groupe ou non.
Dans un message precedent,([ame=http://www.developpez.net/forums/showthread.php?p=3223036#post3223036]ici[/ame]) j´ai deja été bien eclairé, et le code fourni marche tres bien dans un portlet, malheureusement, utilisé dans un theme, ca ne marche plus.
J´ai vu que concernant l´API puma, les imports etait differents dans un portlet ou dans le portail ( com.ibm.portal.um.portletservice.legacy.PumaHome devient com.ibm.portal.um.PumaHome)
La meme fonction mise dans un package et importé genere un "Null Pointer Exception". Apres quelques recherches, je trouve que c´est le user qui est null.
Et le resultat est donc le suivant, la function pumaProfile.getCurrentUser() retourne "null"
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 <% javax.naming.Context context = new javax.naming.InitialContext(); com.ibm.portal.um.PumaHome pumaHome; pumaHome =(com.ibm.portal.um.PumaHome)context.lookup(com.ibm.portal.um.PumaHome.JNDI_NAME); com.ibm.portal.um.PumaProfile pumaProfile = pumaHome.getProfile(request); com.ibm.portal.um.PumaController pumaController =pumaHome.getController(request); com.ibm.portal.um.PumaLocator pumaLocator = pumaHome.getLocator(request); java.util.List attributes = pumaProfile.getDefinedUserAttributeNames(); com.ibm.portal.um.User user = pumaProfile.getCurrentUser(); com.ibm.portal.puma.User pumauser = (com.ibm.portal.puma.User) user; System.out.println("JNDI_NAME :"+ com.ibm.portal.um.PumaHome.JNDI_NAME); System.out.println("pumaProfile.toString() :"+ pumaProfile.toString()); System.out.println("pumaProfile.getCurrentUser() :"+ pumaProfile.getCurrentUser()); System.out.println("user :"+ user); System.out.println("pumauser :"+ pumauser); %>
Je cherche donc une solution, je precise que je suis loggé en admin quand les resultats s´affichent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 JNDI_NAME : portal:service/usermanagement/Puma pumaProfile.toString() : com.ibm.wps.proxies.com_ibm_wps_services_puma.PumaServiceWrapperRequestImpl@6111747f pumaProfile.getCurrentUser() : null user : null pumauser : null
Je m´interesse fortement a l´initialisation du pumaHome = context.lookup(com.ibm.portal.um.PumaHome.JNDI_NAME);
Si quelqu´un connait ce probleme et se sent l´ame charitable au point de m´indiquer une piste, il me sortirait une grosse épine du pied !
Partager