IBM Support

PK33090; 6.1: A filter that serves a file does not popup an alert message

Download


Abstract

The Webcontainer throws a FileNotFoundException when a resource does not exist on the file system but a filter should find it.

Download Description

PK33090 resolves the following problem:

ERROR DESCRIPTION:
A filter that serves a file does not popup an alert message in IBM® WebSphere® Application Server version 6.1 and where as the same code works fine in Application Server version V6.0.2 level.

LOCAL FIX:
N/A

PROBLEM SUMMARY

USERS AFFECTED:
WebSphere Application Server version 6.1 users.

PROBLEM DESCRIPTION:
The WebContainer throws a FileNotFoundException when a request is received for a static file which does not exist on the file system despite a called filter handling the request and not calling the next filter in the chain.


RECOMMENDATION:
None

When a request is made for a static file which does not exist at the location specified in the request, the WebContainer calls the filters (if any) associated with the request. The filters may then process the request and not call the next filter in the chain, effectively completing the request. This should prevent the WebContainer from sending back a 404 FileNotFoundException. However, in this situation the WebContainer continues to send back a 404 FileNotFoundException.

The problem can arise with any application which uses this type of filter. However, it has been noticed particularly in Java™ Server Faces (JSF) applications. This is because JSF often constructs pages which refer to a file, usually a JavaScript file, at a location where it does not physically exist. The file is usually packaged within a JAR file and has a different path to the file. Therefore when the WebContainer attempts to find that file and cannot, it processes the filters for the request which may then process the request using the correct file and then not call the next filter in the chain. However, on return from the filter the WebContainer still returns a 404 FileNotFoundException.

Further, if the filter commits the request additional warning messages may be seen:

SRTServletRes W WARNING: Cannot set status. Response already committed.


SRTServletRes W WARNING: Cannot set header. Response already committed.



PROBLEM CONCLUSION:
The Webcontainer code has been modified to not send back a 404 FileNotFoundException, in response to a request for a nonexistent static file, if a filter effectively completes the request by not calling the next filter in the chain. Note that for the filters to be called when a static file which is a target of a request and does not exist, the following Webcontainer custom property must be set to 'true':

com.ibm.ws.webcontainer.invokefilterscompatibility

As a result this custom property must be set for this fix APAR to be enabled. For details of how to set a webcontainer custom property please see:

http://www.ibm.com/support/docview.wss?rss=180&uid=swg21284395

The fix for this APAR is currently targeted for inclusion in Fix Pack 6.1.0.7.

Please refer to the Recommended Updates page for delivery information:
http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980

Prerequisites

Please download the UpdateInstaller below to install this fix.

[{"PRLabel":"UpdateInstaller","PRLang":"US English","PRSize":"7250000","PRPlat":{"label":"AIX","code":"PF002"},"PRURL":"http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991"}]

Installation Instructions

Please review the readme.txt for detailed installation instructions.

[{"INLabel":"Readme","INLang":"US English","INSize":"5986","INURL":"ftp://public.dhe.ibm.com/software/websphere/appserv/support/fixes/PK33090/readme.txt"}]
Off
[{"DNLabel":"6.1.0.3-WS-WAS-IFPK33090","DNDate":"01-16-2007","DNLang":"US English","DNSize":"25506","DNPlat":{"label":"AIX","code":"PF002"},"DNURL":"ftp://public.dhe.ibm.com/software/websphere/appserv/support/fixes/PK33090/6.1.0.3-WS-WAS-IFPK33090.pak","DNURL_FTP":null,"DDURL":"http://public.dhe.ibm.com:7618;sw_websphere;appserv/support/fixes/PK33090/6.1.0.3-WS-WAS-IFPK33090.pak"},{"DNLabel":"6.1.0.5-WS-WAS-IFPK33090","DNDate":"01-16-2007","DNLang":"US English","DNSize":"25506","DNPlat":{"label":"AIX","code":"PF002"},"DNURL":"ftp://public.dhe.ibm.com/software/websphere/appserv/support/fixes/PK33090/6.1.0.5-WS-WAS-IFPK33090.pak","DNURL_FTP":null,"DDURL":"http://public.dhe.ibm.com:7618;sw_websphere;appserv/support/fixes/PK33090/6.1.0.5-WS-WAS-IFPK33090.pak"}]

Technical Support

Contact IBM Support using SR (http://www-306.ibm.com/software/support/probsub.html), visit the WebSphere Application Server Support Web site (http://www.ibm.com/software/webservers/appserv/was/support/), or contact 1-800-IBM-SERV(U.S. only).

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Servlet Engine\/Web Container","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"6.1","Edition":"Base;Network Deployment","Line of Business":{"code":"LOB15","label":"Integration"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU050","label":"BU NOT IDENTIFIED"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
15 June 2018

UID

swg24014758