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.

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);
%>
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
 
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 cherche donc une solution, je precise que je suis loggé en admin quand les resultats s´affichent.
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 !