Details
-
Bug
-
Status: Resolved
-
Resolution: Fixed
-
1.1
-
None
-
None
-
Operating System: All
Platform: All
-
23671
Description
Scenario : The Axis Webservice as a session scope deploy on weblogic
The client uses setMaintainSession(true);
A filter in front of the AxisServlet set a extra cookie (for load balancing)
- First call
- Client header :
No cookie sent - Server header:
Set-Cookie: JSESSIONID=AAAAAA
Set-Cookie: LBCOOKIE=BBBBBBB
- Second call
- Client header :
Cookie: JSESSIONID=AAAAAAA(only one cookie set) - Server header:
Set-Cookie: LBCOOKIE=CCCCCCC (new lb cookie)
- Third call
- Client header :
Cookie: LBCOOKIE=CCCCCCC (only one cookie set this time the other is lost) - Server header:
Set-Cookie: LBCOOKIE=DDDDDD( new session created)
Problems:
- Only one cookie is stored for each call
- If a cookie is already stored in the MessageContext, it is deleted by a new
cookie
Results:
- Statefull services is not working
- Load balancing is not working
Bug analysis :
The HTTPSender (and CommonsHTTPSender) classe stores headers as Hashmap.
- It does not support multiple Set-Cookie: headers
- It do not send back multiple cookies.
The same way for the MessageContext that stores the "cleaned" cookies as a
HashMap. - Old cookie is deleted (JSESSIONID), if a new cookie is send (LBCOOKIE) on a
next call
PS: This bug has been fixed on SOAP 2.3.1 some time ago
Attachments
Attachments
Issue Links
- is depended upon by
-
AXIS-895 Axis doesn't maintain more than one cookie with http
- Resolved