PQ88298: WASPLUGIN (IHS390WAS50PLUGIN_HTTP ) SSL HTTPS 302 REDIRECT - CONTENT-LENGTH OF NON ZERO (CONTENT LENGTH NON 0) | |||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description When using WASPlugin (ihs390WAS50Plugin_http) version W502xxx and with SSL PORT (HTTPS), if the application sent a CONTENT-LENGTH greater than zero (0), then the connection will drop at the browser, In the -vv trace and wasplugin trace you will receive a successfully return code (HTTP 200) but the connection will drop. .. In the --v trace you would fine the following: HTTPD_set() args..... name size=13; name=HTTP_RESPONSE HTTPD_set() args..... value size=4; value=302 HTTPD_set()... successful HTTPD_set() args..... name size=11; name=HTTP_REASON HTTPD_set() args..... value size=5; value=Found HTTPD_set()... successful HTTPD_set() args..... name size=11; name=HTTP_Server HTTPD_set() args..... value size=32; value=WebSphere Application ... ... HTTPD_set()... Didn't match existing response headers. Adding Server to HTTP/1.1 302 Found Server: IBM HTTP Server/V5R3M0 Date: Thu, 26 Feb 2004 06:27:31 GMT Location: Logon_data.jsp?ct=2004022608273181CxxDC18 Connection: close Accept-Ranges: bytes Content-Type: text/html Content-Length: 308 Last-Modified: Thu, 26 Feb 2004 06:27:31 GMT ... ... 443 POST 308 302 1077776739.953326 1077776847.608636 .. For a successfully run you need a CONTENT-LENGTH of 0, as in .. hs390WAS50HttpPlugin: rSet exit: rc = 0 ihs390WAS50HttpPlugin: cb_write_headers: header at position 4 is Content-Length : 0 ihs390WAS50HttpPlugin: rSet entry: name = HTTP_CONTENT_LENGTH name length = 19 value = 0 value length = 1 ihs390WAS50HttpPlugin: rSet exit: rc = 0 ihs390WAS50HttpPlugin: cb_write_headers: add content-encoding:binary header ihs390WAS50HttpPlugin: rSet entry: name = HTTP_CONTENT_ENCODING name length = 21 value = binary value length = 6 ihs390WAS50HttpPlugin: rSet exit: rc = 0 ihs390WAS50HttpPlugin: cb_write_headers: exit ib_htresponse: htresponseReadBody: No response body to read ws_esi: readResponseBody, len_p=0 ESI: esiResponsePassThru: success ESI: esiRequestUrlStackDestroy ESI: esiRequestPopUrl: '/admin/logoff.do' ESI: esiUrlDestroy: '/admin/logoff.do' ESI: esiResponseRelease ESI: esiResponseDecr: 1 ESI: esiResponseDestroy ESI: esiHandleRequest: success ws_common: websphereHandleRequest: Done: host='9.57.4.148'; uri='/admin/logoff.do' ws_common: websphereEndRequest: Ending the request ws_transport: transportStreamEnqueue: Adding existing stream to the queue ihs390WAS50HttpPlugin: service_exit: websphereHandleRequest (/admin/logoff.do) returned with rc = 0 ihs390WAS50HttpPlugin: service_exit: return -- return_code = 302 .. Note: If the application use the Transport Handle or non-ssl PORT, RFC: for 302 10.3.3 302 Found The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field. .. The temporary URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s). .. If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V5.0 for z/OS * **************************************************************** * PROBLEM DESCRIPTION: Unexpected results, and message * * "Failed to read from an old stream" * * in the plugin trace. * **************************************************************** * RECOMMENDATION: * **************************************************************** The application writes content body with a 302 HTTP response, and the next request on the socket gets an unexpected result.Problem conclusion If an application writes content body with certain HTTP response codes, the plugin does not read the body from the socket, and the next request reads the content as its response, causing unexpected results. The code is changed to flush the data for HTTP response codes 204 and 304, and to allow code 302 to return content body in accordance with RFC2616. APAR PQ88298 is associated with SERVICE LEVEL W502011 of WebSphere Application Server V5.0 for z/OS.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
Document Information |
Current web document: swg1PQ88298.html
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PQ88298
IBM Group: Software Group
Modified date: Jul 2, 2004
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.