Querying custom attributes may return NullPointerException with Portal admin user

Technote (troubleshooting)


Querying custom attributes may return NullPointerException with Portal admin user

Resolving the problem

The public SPI PumaProfile states in the javadoc:

* Returns a map of values based on the given Attribute names. Those values * are stored with the given Principal. Attributes not defined in the Map
* have either not been defined in the Schema or are not set at this User * Object
public Map<String, Object> getAttributes(Principal aPrincipal, List<String> aAttributeNames) throws PumaAttributeException, PumaSystemException, PumaModelException, PumaMissingAccessRightsException;

So attributes that are not set for a user (although would be valid to set) will not be part of the result map.
The sample code from navigation.jsp would then fail with a NullPointerException, which can be seen in SystemOut.log

userTiers = map.get("company").toString(); -> map.get("company")
returns null -> null.toString() causes NullPointerException
System.out.println("navigation.jsp::company: " + userTiers);
userInfos[1] = userTiers;

} catch(Exception e){
System.out.println("navigation.jsp::Exception: " + e); ->
NullPointerException is caught and logged

The line userTiers = map.get("company").toString() in navigation jsp should be checked to be able to handle null results from the map. Also the exception catching block should be changed to log the full stacktrace to confirm, that the NullPointerException is caused by the navigation.jsp code and not from deeper code layers.

The recommendation is to make navigation.jsp more robust for null values and error handling. Also please check LDAP to see if for the particular use has the particular attribute set.

Document information

More support for:

WebSphere Portal

Software version:


Operating system(s):

AIX, Linux, Solaris, Windows

Software edition:

Enable, Express, Extend, Server

Reference #:


Modified date:


Translate my page

Content navigation