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

 A fix is available

Obtain the fix for this APAR



APAR status
Closed as program error.

Error description
****************************************************************
*   z/OS WebSphere version 4.01 AND 5.0.x                      *
****************************************************************
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    *
*                 V5.0 for z/OS                                *
****************************************************************
* PROBLEM DESCRIPTION: Wrong URI is passed to WebSphere        *
*                      Application Server when using the HTTP  *
*                      plugin with a Map directive.            *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
If a request URI is altered in the HTTP Server by a Map
directive or an exit, the HTTP plugin passes the original URI
to WebSphere Application Server instead of the changed URI.
Problem conclusion
The HTTP plugin is changed to pass the new URI to the WebSphere
Application Server if the URI is modified by a Map directive
or an exit. The plugin converts any special characters in the
URI to % escape sequences.

APAR PQ83741 is associated with SERVICE LEVEL W502003 of
WebSphere Application Server V5.0 for z/OS.
Temporary fix Comments
APAR information
APAR number PQ83741
Reported component name WEBSPHERE FOR Z
Reported component ID 5655I3500
Reported release 500
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2004-01-25
Closed date 2004-02-26
Last modified date 2004-04-03

APAR is sysrouted FROM one or more of the following:
PQ83204

APAR is sysrouted TO one or more of the following:

Modules/Macros
BBOUBINF          

Publications Referenced

Fix information
Fixed component name WEBSPHERE FOR Z
Fixed component ID 5655I3500

Applicable component levels
R500 PSY UQ85594    UP04/03/02 P F403

  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


Current web document: swg1PQ83741.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 #: PQ83741
IBM Group: Software Group
Modified date: Apr 3, 2004