Fixes are available
17.0.0.2: WebSphere Application Server Liberty 17.0.0.2
17.0.0.3: WebSphere Application Server Liberty 17.0.0.3
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12
21.0.0.3: WebSphere Application Server Liberty 21.0.0.3
21.0.0.4: WebSphere Application Server Liberty 21.0.0.4
21.0.0.5: WebSphere Application Server Liberty 21.0.0.5
21.0.0.6: WebSphere Application Server Liberty 21.0.0.6
21.0.0.7: WebSphere Application Server Liberty 21.0.0.7
21.0.0.8: WebSphere Application Server Liberty 21.0.0.8
21.0.0.9: WebSphere Application Server Liberty 21.0.0.9
21.0.0.1: WebSphere Application Server Liberty 21.0.0.1
21.0.0.2: WebSphere Application Server Liberty 21.0.0.2
21.0.0.10: WebSphere Application Server Liberty 21.0.0.10
21.0.0.11: WebSphere Application Server Liberty 21.0.0.11
21.0.0.12: WebSphere Application Server Liberty 21.0.0.12
22.0.0.1: WebSphere Application Server Liberty 22.0.0.1
22.0.0.2: WebSphere Application Server Liberty 22.0.0.2
22.0.0.3: WebSphere Application Server Liberty 22.0.0.3
22.0.0.4: WebSphere Application Server Liberty 22.0.0.4
APAR status
Closed as program error.
Error description
It is not possible to read post data both as parameters and either using a InputStream or Reader. The second read will not receive any data. This may occur, for example, when a filter reads one or more parameters and a servlet tries to read the post data as an InputStream, or vice-versa.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server Liberty - Web Container * **************************************************************** * PROBLEM DESCRIPTION: Enable Post Data to be read multiple * * times. * **************************************************************** * RECOMMENDATION: * **************************************************************** As part of request processing, post data may be read either as parameters, using an InputStream, or using a Reader. However whichever method is used the WebContainer does a destructive read of the data such that the data may be read only once for a given request. So it is not possible to read post data both as parameters and either using an InputStream or Reader. The second read will not receive any data. This may occur, for example, when a filter reads one or more parameters and a servlet tries to read the post data as an InputStream, or vice-versa.
Problem conclusion
The WebContainer has been modified to enable multiple reads of post data when the following WebContainer custom property is set to true at the server level or the application level: Add this in server.xml <webContainer enablemultireadofpostdata="true" /> (default is false) or <context-param> <param- name>com.ibm.ws.webcontainer.SET_MULTI_READ_WEBAPP</param-name> <param-value>true</param-value> </context-param> The context-param value will override the server level value of the property. With this property set the post data can be read multiple times as either an InputStream, a Reader, or as parameters and in any combination. Further, to enable post data to be re-read from the beginning using an InputStream, a Reader, or as Parameters, the following sequence must be followed when using a Reader or InputStream: 1. Obtain the InputStream or Reader 2. Read data 3. Close the InputStream or Reader ( important step to make re- read work) Note that internally the WebContainer completes this sequence when reading parameters. If either steps 1 or 3 are not observed the next read of the post data will not be reset to the beginning of the data. The fix for this APAR is currently targeted for inclusion in fix pack 17.0.0.2. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PI80313
Reported component name
WAS LIBERTY COR
Reported component ID
5725L2900
Reported release
CD0
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-04-20
Closed date
2017-05-11
Last modified date
2017-05-11
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
WAS LIBERTY COR
Fixed component ID
5725L2900
Applicable component levels
RCD0 PSY
UP
Document Information
Modified date:
03 May 2022