on 10-05-2007 9:46 AM
G'day,
I have a web app that is calling HttpServletResponse.encodeRedirectURL() and I am getting a SAP load balancing cookie put into the URL.
The URL is of the form "https://<location>?<query>" and when passed through the encodeRedirectURL() method this URL is converted to the form "https://<location>;saplb_*=(J2EExxx)xxx?<query>".
The same URL is returned when passed through encodeURL() method.
However when this URL is used by the client browser a 404 is returned. If I remove the SAP cookie "saplb_=(J2EExxx)xxx" then the page loads successfully. Similarly if I manually change the URL to "https://<location>?<query>;saplb_=(J2EExxx)xxx".
I am assuming here that the SAP cookie should be after the "?" in the URL, not before it. I guess that by appearing before the "?" the web server treats the cookie as part of the location, not a parameter.
The HttpServletResponse class is com.sap.engine.services.servlets_jsp.server.runtime.client.HttpServletResponseFacade and I am using Netweaver 2004s Java SP9.
Is there any way I can configure Netweaver to not put the saplb_* cookie value in the URL (by disabling load balancing perhaps?) or to get the cookie value put after the "?" in the URL?
--Geoff
Actually, looking at the RFCs for URL spec again, I guess the SAP cookie can appear before the "?", as it is part of the hierarchical path.
But the problem here is that this URL is not sent to a SAP-aware web server (I am testing federation so the initial request to a web-app in one domain is redirected to a different domain), so the SAP load-balancing cookie is meaningless.
I installed Netweaver as "local installation", so maybe NW thinks all requests are managed by NW and it is safe to put SAP cookies in the URL?
--Geoff
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
80 | |
24 | |
11 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.