PQ83741: WHILE IN WEBSPHERE PLUGIN MODE, A REQUEST MADE IS INCORRECT IF THE MAP DIRECTIVE IN Z/OS HTTP SERVER REMAPS THE REQUEST. | |||||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||||
![]() 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 is sysrouted FROM one or more of the following: PQ83204 APAR is sysrouted TO one or more of the following: Modules/Macros
Publications Referenced
|
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
(C) Copyright IBM Corporation 2000, 2009. All Rights Reserved.