APAR status
Closed as program error.
Error description
Some of the URL codecs offered by WebSphere Portal require a so-called key managet to be in place. The key manager is an internal component which is used to source out information into the session instead of encoding it into the URL. The WML codec for example uses the key manager to store the entire navigational state in the session while the URL only contains a short key which references the state stored in the session (to keep the URLs short). So far, any incoming request which is associated with a HTTP session needs to be expicitly initialized with a key manager which is picked up later on during URL generation. The problem addressed by this APAR refers to custom code which creates URLs right after creating a new (non-temporary) HTTP session. In that case the explicit initialization is missing causing the following NullPointerException in the KeyManagerOutputFilter when writing a URL: java.lang.NullPointerException at com.ibm.wps.state.keymanager.KeyManagerOutputFilter.setKeyManage (KeyManagerOutputFilter.java:410) at com.ibm.wps.state.outputmediators.OutputMediatorOnRequest.init(O tputMediatorOnRequest.java:102) at com.ibm.wps.state.outputmediators.UrlOutputMediatorBase.write(Ur OutputMediatorBase.java:82) at com.ibm.wps.state.outputmediators.OutputMediatorOnRequestNoDelta write (OutputMediatorOnRequestNoDelta.java:63) at com.ibm.wps.state.accessors.url.EngineURLBase.write(EngineURLBas .java:376) at com.ibm.wps.state.accessors.url.EngineURLBase.writeDispose(Engin URLBase.java:447)
Local fix
Problem summary
Some of the URL codecs offered by WebSphere Portal require a so-called key manager to be in place. The key manager is an internal component which is used to source out information into the session instead of encoding it into the URL. The WML codec for example uses the key manager to store the entire navigational state in the session while the URL only contains a short key which references the state stored in the session (to keep the URLs short). So far any incoming request which is associated with a HTTP session needs to be expicitly initialized with a key manager which is picked up later on during URL generation. The problem addressed by this APAR refers to custom code which creates URLs right after creating a new (non-temporary) HTTP session. In that case the explicit initialization is missing causing the following NullPointerException in the KeyManagerOutputFilter when writing a URL: java.lang.NullPointerException at com.ibm.wps.state.keymanager.KeyManagerOutputFilter.setKeyManage r(KeyManagerOutputFilter.java:410) at com.ibm.wps.state.outputmediators.OutputMediatorOnRequest.init(O utputMediatorOnRequest.java:102) at com.ibm.wps.state.outputmediators.UrlOutputMediatorBase.write(Ur lOutputMediatorBase.java:82) at com.ibm.wps.state.outputmediators.OutputMediatorOnRequestNoDelta .write (OutputMediatorOnRequestNoDelta.java:63) at com.ibm.wps.state.accessors.url.EngineURLBase.write(EngineURLBas e.java:376) at com.ibm.wps.state.accessors.url.EngineURLBase.writeDispose(Engin eURLBase.java:447)
Problem conclusion
This fix makes the key manager initialization implicit by providing a key manager factory implementation which creates a key manager dynamically if a session exists. The KeyManagerOutputFilter calls the new factory to get the key manager needed. As a consequence, the generation of a URL will succeed even if a session is created right before creating the URL. Failing Module(s): Engine: URL Generation Affected Users: All Users Version Information: Portal Version(s): 5.1.0.3 Pre-Requisite(s): PK37178 PK23864 Co-Requisite(s): --- Portal Version(s): 5.1.0.4 Pre-Requisite(s): PK37178 Co-Requisite(s): --- Portal Version(s): 5.1.0.5 Pre-Requisite(s): Co-Requisite(s): --- Portal Version(s): 6.0.1.4 Pre-Requisite(s): PK78213 PK72244 Co-Requisite(s): --- Portal Version(s): 6.0.1.5 Pre-Requisite(s): PK78213 PK79778 Co-Requisite(s): --- Portal Version(s): 6.1.0.0 Pre-Requisite(s): PK78213 PK77410 Co-Requisite(s): --- Portal Version(s): 6.1.0.1 Pre-Requisite(s): PK78213 PK77410 Co-Requisite(s): --- Platform Specific: This fix applies to all platforms. A fix is available from Fix Central: http://www.ibm.com/eserver/support/fixes/fixcentral/swgquickorde r?apar=PK78729&productid=WebSphere%20Portal&brandid=5 You may need to type or paste the complete address into your Web browser.
Temporary fix
Comments
APAR Information
APAR number
PK78729
Reported component name
WEBSPHERE PORTA
Reported component ID
5724E7600
Reported release
61A
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2009-01-19
Closed date
2009-03-30
Last modified date
2009-03-30
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WEBSPHERE PORTA
Fixed component ID
5724E7600
Applicable component levels
R51C PSY
UP
R51D PSY
UP
R51E PSY
UP
R60H PSY
UP
R60J PSY
UP
R610 PSY
UP
R61A PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSHRKX","label":"WebSphere Portal"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1.0.1","Line of Business":{"code":"LOB31","label":"WCE Watson Marketing and Commerce"}}]
Document Information
Modified date:
21 December 2021