PQ83204: WHILE IN WEBSPHERE PLUGIN MODE, A REQUEST MADE IS INCORRECT IF THE MAP DIRECTIVE IN Z/OS HTTP SERVER REMAPS THE REQUEST.

 A fix may be available

Obtain the fix for this APAR



APAR status
Closed as program error.

Error description
****************************************************************
*   z/OS WebSphere version 4.01                                *
****************************************************************
Request in WAS in plugin mode is incorrect if Map directive or
exit in HTTP Server for z/OS remaps the request.
The result may be message ERROR 404 NOT FOUND
.
Environment:
z/OS 1.4, WAS level W401605, JAVA build cm131s-20030913
Customer goal:
Customer is using WebSphere HTTP Transport Handler up
to now. Because of various reasons (balancing, affinity) they
tried to put the HTTP server with WebSphere for z/OS local
redirector plug-in as an HTTP 'Protocol Catcher' in front of
the WebSphere Application Server.
.
Problem description:
Whenever a MAP directive in httpd.conf is used,
they encountered a ERROR 404 NOT FOUND .
A trace of the whole flow of the request from entering
http server -> plugin -> WebSphere indicates the
problem lies within the plugin.
.
Configuration and trace output:
http.conf has directives:
ProxyMap YES
Map  /  /fon/jsp/index.jsp
Map  /jsp/*.jsp /fon/jsp/*.jsp
vv trace shows:
Map......... / matched "/" -> "/fon/jsp/index.jsp"
Service..... /fon/* matched "/fon/jsp/index.jsp" ->
"/usr/lpp/WebSphere/WebServerPlugIn/bin/
ihs390WASPlugin_http.so:
 service_exit"
A trace of the plugin found:
websphereUriMatch: Comparing '/fon' to
      '/fon/jsp/index.jsp' in UriGroup:
                   default_URI score is 4
websphereUriMatch: Comparing '/fon/*' to
     '/fon/jsp/index.jsp' in
                   UriGroup: default_URI score is 5
websphereUriMatch: Found a match '/fon/*' to
      '/fon/jsp/index.jsp' in
                   UriGroup: default_URI score is 5
The trace then shows the construction of the request to
be passed to WebSphere,  but uses the original URL as it
has come in to the HTTP server:
TRACE: lib_htrequest: htrequestSetURL: Setting the url |/|
Instead using the mapped URL they are setting, it
reverts to the   /
and that seems to cause the problem.
.
Cause:
IHS provides different gwapi
variables to extract to find out about the request.
Here's the list that are of interest for an example request
of /projectA/servlets/myservlet?var1=xxx
.
URI - The entire request - /projectA/servlets/myservlet?var1=xxx
PPATH - represents the portion of the URI without any
       Query String - /projectA/servlets/myservlet
QUERY_STRING= Query string without ? -  var1=xxx
The problem here is that when a Map directive is processed that
the PPATH is updated but not the URI.  The WAS plugin uses both
the PPATH (to do the matching)  and the URI (as the URI that is
forwarded) which are no longer in sync.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: All users of WebSphere Application Server    *
*                 version 4.0.1 for z/OS and OS/390.           *
****************************************************************
* PROBLEM DESCRIPTION: Wrong URI is passed to WebSphere        *
*                      Application Server from the HTTP Server *
*                      for z/OS plugin.                        *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
If a request URI is altered in the HTTP Server by a Map
directive or an exit, the original URI is passed to WebSphere
Application Server instead of the changed URI.
Problem conclusion
The WebSphere Application Server plugin used with HTTP Server
for z/OS is changed to pass the modified URI to WebSphere
Application Server, whether it is modified by a Map directive
or an exit. The plugin converts any special characters in the
URI to % escape sequences.

APAR PQ83204 is associated with SERVICE LEVEL W401609 of
WebSphere Application Server version 4.0.1 for z/OS and OS/390.
Temporary fix Comments
APAR information
APAR number PQ83204
Reported component name WEBSPHERE OS/39
Reported component ID 5655A9800
Reported release 401
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2004-01-13
Closed date 2004-02-13
Last modified date 2004-03-03

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:
PQ83741

Modules/Macros
EJSQ4001 EJSXHTTP        

Fix information
Fixed component name WEBSPHERE OS/39
Fixed component ID 5655A9800

Applicable component levels
R401 PSY UQ85155    UP04/02/19 P F402

  Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ83204
IBM Group: Software Group
Modified date: Mar 3, 2004