DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18361>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18361 IIS doesn't like ;jsessionid within uri Summary: IIS doesn't like ;jsessionid within uri Product: Tomcat 4 Version: 4.1.19 Platform: All OS/Version: Windows XP Status: NEW Severity: Normal Priority: Other Component: Connector:Coyote HTTP/1.1 AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] AFAIK Servlet API v2.3 defines that in case of URL rewriting session id should be put into the uri before query params separated by semicolon, like: www.xxx.com/uri;jsessionid=...?params The problem is, that MS IIS doesn't let such URL go through to the application server, at least not using forwarding by extension – it just doesn’t recognize the extension it should. Using the previous API (session id as one of the query params) worked perfectly. Now currently we use WebLogic v6.1 as our application server. Starting with SP3 I can set a dedicated parameter forcing WLS to use a query param instead of “;jsessionid” in the uri. We are now planning to migrate from WLS to Tomcat, but: I have looked into Tomcat’s source code, this method of rewriting URLs is not parametrized, so I cannot persuade Tomcat to do the same. Possible solutions: a) get a fix for IIS – our webmaster has called MS, they say they knew about it but did not plan to do anything. We could make our own isapi DLL, but we are on our own. In fact we do use IIS v4, because of instabilities in IIS v5 (says our webmaster). b) forward based by path not the extension: it hasn’t been tested so is not guaranteed to work, and we have so many apps using the same path for static and dynamic content, where the static content should remain on IIS, and where static is under the control of CMS, that it might be even more difficult than to make an isapi.dll :-) c) make a Tomcat specific filter (valve, connector – I am yet not sure), which would parse outgoing responses and exchange “;jsessionid=…” with a query param, then parse incoming requests and set sessionid based on this param d) patch Tomcat using inheritance. Not so easy, since the required methods (HttpProcessor.processRequest, HttpResponseBase.toEncoded) are private. HttpResponseFacade is final, so I can’t overwrite encodeURL as well. Make my own Façade? e) patch Tomcat: don’t like the idea, since I am then cut off from the future Tomcat development f) similar solution as WLS: a parameter that decides how to construct URLs during rewriting. Is it sensible? What would you say to that? Any other ideas? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]