Fix (APAR): PK41619 Status: Fix Release: 6.0.2.19,6.0.2.17 Operating System: AIX,HP-UX,i5/OS,Linux,Linux pSeries,Linux Red Hat - pSeries,Linux zSeries,OS/390,OS/400,Solaris,Windows,z/OS Supersedes Fixes: CMVC Defect: PK41619 Byte size of APAR: 38982 Date: 2007-06-26 Abstract: The auto decompression of messages does not happen until the reads of body data starts. Description/symptom of problem: PK41619 resolves the following problem: ERROR DESCRIPTION: HttpInputStream.getContentLength() always reports the compressed length, even when the data is decompressed. LOCAL FIX: n/a PROBLEM SUMMARY USERS AFFECTED: WebSphere Application Server version 6 users of the HTTP channel who receive compressed HTTP messages. PROBLEM DESCRIPTION: The auto decompression of messages does not happen until the reads of body data starts. RECOMMENDATION: None The auto decompression of messages does not happen until the reads of body data starts. This means that the Content-Length header prior to this point will report the compressed length, but after the decompression happens, it is updated with the decompressed length. The HttpInputStream class is storing the original length and never seeing the new length. The HttpInputStream class buffers the original compressed Content-Length value because it does not expect that to be changing. However, it is changed as soon as any of the body data is requested, as that is the trigger point for the auto decompression code to read data and uncompress it, as well as updating the Content-Length header with the new length. PROBLEM CONCLUSION: The HTTP channel has added a custom property that disables the auto decompression of HTTP bodies. This is intended for use when the receiving environment either wants the compressed data as-is, or in situations like this where the updated Content- Length is never seen and causes issues. Property name: AutoDecompression Value : "true" or "false" Default: "true" When this is false, it will prevent the auto decompression of HTTP bodies on that particular chain. This is targeted for fixpacks 6.0.2.21 and 6.1.0.9. Please refer to the recommended updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980 Directions to apply fix: Fix applies to Editions: Release 6.0 _x_ Application Server (Express or BASE) _x_ Network Deployment (ND) __ WebSphere Business Integration Server Foundation (WBISF) __ Edge Components __ Developer _x_ Extended Deployment (XD) Install Fix to: Method: __ Application Server Nodes __ Deployment Manager Nodes _x_ Both NOTE: The user must: * Have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * Logged in with the same authority level when unpacking a fix, fix pack or refresh pack. * Be at V6.0.2.2 or newer of the Update Installer. This can be checked by reviewing the level of the Update Installer in file /updateinstaller/version.txt. The Update Installer can be downloaded from the following link: http://www.ibm.com/support/docview.wss?rs=180&uid=swg21205991 For detailed instructions to Extract the Update Installer see the following Technote: http://www-1.ibm.com/support/docview.wss?rs=180&uid=swg21205400 1) Copy 6.0.2.17-WS-WAS-IFPK41619.pak file directly to the maintenance directory 2) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that maintenance is being applied to. 3) Launch Update Installer 4) Enter the installation location of the WebSphere product you want to update. 5) Select the "Install maintenance package" operation. 6) Enter the file name of the maintenance package to install (6.0.2.17-WS-WAS-IFPK41619.pak file which was copied in the maintenance directory). 7) Install the maintenance package. 8) Restart WebSphere Directions to remove fix: NOTE: * The user must have Administrative rights in Windows, or be the Actual Root User in a UNIX environments. * FIXES MUST BE REMOVED IN THE ORDER THEY WERE APPLIED * DO NOT REMOVE A FIX UNLESS ALL FIXES APPLIED AFTER IT HAVE FIRST BEEN REMOVED * YOU MAY REAPPLY ANY REMOVED FIX Example: If your system has fix1, fix2, and fix3 applied in that order and fix2 is to be removed, fix3 must be removed first, fix2 removed, and fix3 re-applied. 1) Shutdown WebSphere Manually execute setupCmdLine.bat in Windows or . ./setupCmdLine.sh in Unix from the WebSphere instance that uninstall is being run against. 2) Start Update Installer 3) Enter the installation location of the WebSphere product you want to remove the fix. 4) Select "Uninstall maintenance package" operation. 5) Enter the file name of the maintenance package to uninstall (6.0.2.17-WS-WAS-IFPK41619.pak). 6) UnInstall maintenance package. 7) Restart WebSphere Directions to re-apply fix: 1) Shutdown WebSphere. 2) Follow the Fix instructions to apply the fix. 3) Restart WebSphere. Additional Information: