You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ax...@ws.apache.org on 2004/10/08 20:15:52 UTC

[jira] Updated: (AXIS-1080) Axis 1.1 doen't support multi-cookies

The following issue has been updated:

    Updater: Ron Marchi (mailto:ron.marchi@ugs.com)
       Date: Fri, 8 Oct 2004 11:15 AM
    Comment:
Here is another solution to this problem.
It maintains the path information in the set-cookie, but assumes that since the cookie was returned for this service the path must be good. 
It also puts the Set-Cookie value on the Message Context, allowing a JAX-RPC Handler access to both the Cookie and Set-Cookie properties for management of cookies between Services.
    Changes:
             Attachment changed to CookeFix.zip
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://issues.apache.org/jira/browse/AXIS-1080?page=history

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1080

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1080
    Summary: Axis 1.1 doen't support multi-cookies
       Type: Bug

     Status: Reopened

    Project: Axis
 Components: 
             Basic Architecture
   Versions:
             1.1

   Assignee: 
   Reporter: Olivier PEPIN

    Created: Wed, 8 Oct 2003 10:31 AM
    Updated: Fri, 8 Oct 2004 11:15 AM
Environment: Operating System: All
Platform: All

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


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Re: [jira] Updated: (AXIS-1080) Axis 1.1 doen't support multi-cookies

Posted by Davanum Srinivas <da...@gmail.com>.
Ron,

Can you please submit a diff (upload to jira) against latest cvs sources?

thanks,
dims


On Fri, 8 Oct 2004 11:15:52 -0700 (PDT), axis-dev@ws.apache.org
<ax...@ws.apache.org> wrote:
> The following issue has been updated:
> 
>    Updater: Ron Marchi (mailto:ron.marchi@ugs.com)
>       Date: Fri, 8 Oct 2004 11:15 AM
>    Comment:
> Here is another solution to this problem.
> It maintains the path information in the set-cookie, but assumes that since the cookie was returned for this service the path must be good.
> It also puts the Set-Cookie value on the Message Context, allowing a JAX-RPC Handler access to both the Cookie and Set-Cookie properties for management of cookies between Services.
>    Changes:
>             Attachment changed to CookeFix.zip
>    ---------------------------------------------------------------------
> For a full history of the issue, see:
> 
>  http://issues.apache.org/jira/browse/AXIS-1080?page=history
> 
> ---------------------------------------------------------------------
> View the issue:
>  http://issues.apache.org/jira/browse/AXIS-1080
> 
> Here is an overview of the issue:
> ---------------------------------------------------------------------
>        Key: AXIS-1080
>    Summary: Axis 1.1 doen't support multi-cookies
>       Type: Bug
> 
>     Status: Reopened
> 
>    Project: Axis
> Components:
>             Basic Architecture
>   Versions:
>             1.1
> 
>   Assignee:
>   Reporter: Olivier PEPIN
> 
>    Created: Wed, 8 Oct 2003 10:31 AM
>    Updated: Fri, 8 Oct 2004 11:15 AM
> Environment: Operating System: All
> Platform: All
> 
> 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
> 
> ---------------------------------------------------------------------
> JIRA INFORMATION:
> This message is automatically generated by JIRA.
> 
> If you think it was sent incorrectly contact one of the administrators:
>   http://issues.apache.org/jira/secure/Administrators.jspa
> 
> If you want more information on JIRA, or have a bug to report see:
>   http://www.atlassian.com/software/jira
> 
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/