APAR status
Closed as program error.
Error description
The getRequestURI method on an HttpServletRequest method returns
a decoded URI; however, the servlet specification states that
the URI string should not be decoded.
For example, if a user types
http://myhost:9080/testWeb/One%2FTwo+three
into a browser, when our servlet gets control, we expect the
getRequestURI() method to return:
/testWeb/One%2FTwo+three
What we get instead is:
/testWeb/One/Two+three
(The encoded '%2F' has been decoded to '/')
This problem has been reported internally in defect 161694.
Local fix
Currently there is no work around available.
Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server developers *
* using the servlet API. *
****************************************************************
* PROBLEM DESCRIPTION: The implementation of *
* request.getRequestURI() will decode the *
* URI from the HTTP request. *
****************************************************************
* RECOMMENDATION: *
****************************************************************
When the getRequestURI() method is called upon an HTTP request,
all escape sequences ( %xx ) are decoded using HTTPUtils.
This behaviour deviates from the servlet API specification.
Problem conclusion
The code was modified to postpone decoding the URI until the
dispatchByURI() method is called. This is done so the
getRequestURI() method will always return the original URI from
an HTTP request.
Temporary fix
fix posted already.
Comments
APAR information |
APAR number |
PQ75239 |
Reported component name |
WEBSPHERE AE NT |
Reported component ID |
5630A2201 |
Reported release |
400 |
Status |
CLOSED PER |
PE |
NoPE |
HIPER |
NoHIPER |
Submitted date |
2003-06-13 |
Closed date |
2003-09-12 |
Last modified date |
2004-06-15 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
SRLS
Applicable component levels |
R400 PSY |
UP |
|