Troubleshooting
Problem
Process applets have a feature called keepalive that will ping the server while the applet is running to keep the session active. After upgrading to IBM Content Navigator 3.0.4 or later, the user's session can timeout even though the ping requests are still being sent to the application server. The session timing out will cause an error the next time the applet tries to make a call to the navigator application and the window that launched the applet will display the logon page.
Symptom
The error message shown by the Process applet may vary depending on what action was being performed.
The following is an example of clicking the Validation button in Process Designer:

Bringing up properties for an item in Process Configuration applet does not populate the popup window and generates the following in the Java console:
network: Server http://{server:port}/navigator/jaxrs/plugin?plugin=CPEAppletsPlugin&action=CPEAppletListenerPluginService&repositoryId=p8os1&desktop=Browse&security_token={token} requesting to set-cookie with "JSESSIONID={jsessionid} Path=/"
java.lang.RuntimeException: java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 7B7D2626
at filenet.vw.soap.util.VWSOAPUtils.invoke(VWSOAPUtils.java:99)
at filenet.pe.soap.SOAPClientSession.command(SOAPClientSession.java:186)
at filenet.pe.soap.SOAPClientSession.getConfigInfo(SOAPClientSession.java:252)
at filenet.vw.api.VWSession.getDatabaseType(VWSession.java:2990)
at filenet.vw.toolkit.admin.property.roster.VWConfigRosterPropertyDialog.<init>(VWConfigRosterPropertyDialog.java:133)
at filenet.vw.toolkit.admin.VWConfigPerformer.performRosterProperty(VWConfigPerformer.java:1217)
at filenet.vw.toolkit.admin.scope.VWConfigScopeViewPane.actionPerformed(VWConfigScopeViewPane.java:393)
at filenet.vw.toolkit.admin.scope.VWScopeTreeMouseAndKeyListener.performAction(VWScopeTreeMouseAndKeyListener.java:385)
at filenet.vw.toolkit.admin.scope.VWScopeTreeMouseAndKeyListener.mouseClicked(VWScopeTreeMouseAndKeyListener.java:226)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at java.awt.Component.processMouseEvent(Component.java:6542)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 7B7D2626
at filenet.vw.server.rpc.PostURLDefault.postHttpObjects(PostURLDefault.java:362)
at filenet.vw.server.rpc.PostURLDefault.postObjects(PostURLDefault.java:192)
at filenet.vw.soap.transport.VWSOAPHTTPConnection.postHttpObjects(VWSOAPHTTPConnection.java:135)
at filenet.vw.soap.util.VWSOAPUtils.invoke(VWSOAPUtils.java:86)
... 40 more
Caused by: java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 7B7D2626
at filenet.vw.server.rpc.SerializationUtils.getHttpServerErrorEx(SerializationUtils.java:124)
... 44 more
Caused by: java.io.StreamCorruptedException: invalid stream header: 7B7D2626
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:866)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
at filenet.vw.server.rpc.PostURLDefault.postHttpObjects(PostURLDefault.java:308)
... 43 more
java.lang.RuntimeException: java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 7B7D2626
at filenet.vw.soap.util.VWSOAPUtils.invoke(VWSOAPUtils.java:99)
at filenet.pe.soap.SOAPClientSession.command(SOAPClientSession.java:186)
at filenet.pe.soap.SOAPClientSession.getConfigInfo(SOAPClientSession.java:252)
at filenet.vw.api.VWSession.getDatabaseType(VWSession.java:2990)
at filenet.vw.toolkit.admin.property.roster.VWConfigRosterPropertyDialog.<init>(VWConfigRosterPropertyDialog.java:133)
at filenet.vw.toolkit.admin.VWConfigPerformer.performRosterProperty(VWConfigPerformer.java:1217)
at filenet.vw.toolkit.admin.scope.VWConfigScopeViewPane.actionPerformed(VWConfigScopeViewPane.java:393)
at filenet.vw.toolkit.admin.scope.VWScopeTreeMouseAndKeyListener.performAction(VWScopeTreeMouseAndKeyListener.java:385)
at filenet.vw.toolkit.admin.scope.VWScopeTreeMouseAndKeyListener.mouseClicked(VWScopeTreeMouseAndKeyListener.java:226)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:269)
at java.awt.Component.processMouseEvent(Component.java:6542)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 7B7D2626
at filenet.vw.server.rpc.PostURLDefault.postHttpObjects(PostURLDefault.java:362)
at filenet.vw.server.rpc.PostURLDefault.postObjects(PostURLDefault.java:192)
at filenet.vw.soap.transport.VWSOAPHTTPConnection.postHttpObjects(VWSOAPHTTPConnection.java:135)
at filenet.vw.soap.util.VWSOAPUtils.invoke(VWSOAPUtils.java:86)
... 40 more
Caused by: java.lang.RuntimeException: java.io.StreamCorruptedException: invalid stream header: 7B7D2626
at filenet.vw.server.rpc.SerializationUtils.getHttpServerErrorEx(SerializationUtils.java:124)
... 44 more
Caused by: java.io.StreamCorruptedException: invalid stream header: 7B7D2626
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:866)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
at filenet.vw.server.rpc.PostURLDefault.postHttpObjects(PostURLDefault.java:308)
... 43 more
Cause
IBM Content Navigator 3.0.4 introduced a new feature to warn users before the session expires. If the user does not interact with the prompt, Content Navigator will terminate the session. The mechanism used to determine the session expiration notification is based on client local information and is unaware of the ping requests sent to the server by the applet keepalive pings.
Resolving The Problem
The session warning feature can be disabled by creating a custom Content Navigator setting. This is added using the Content Navigator Administration desktop > Settings > General (tab) > Additional Settings > New:

In the new Custom Property dialog > enableSessionExpireWarning - value: False:

Save the changes and recycle the application server hosting the Content Navigator application. With this setting in place, the session expiration warning feature will be disabled and the session timeout will revert to the behavior before V3.0.4, which relies on the application server's session timeout functionality. The Process applet keepalive pings will prevent the application server's session from expiring.
A longer term software fix is also under investigation.
Document Location
Worldwide
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEUEX","label":"IBM Content Navigator"},"Component":"Process Applets integration","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"3.0.4, 3.0.5","Edition":"","Line of Business":{"code":"LOB18","label":"Miscellaneous LOB"}}]
Product Synonym
ICN, PE, CPE, Process Engine, FileNet Business Process Manager
Was this topic helpful?
Document Information
Modified date:
19 June 2019
UID
ibm10886991