axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damitha Kumarage <>
Subject Re: Implementing Http Keep Alive and Transport level session support for Axis2/C
Date Mon, 21 Dec 2009 04:59:16 GMT
Samisa Abeysinghe wrote:
> Looks good. 
> Have you committed?
Yes it is in svn

> Samisa...
> On Tue, Dec 15, 2009 at 11:58 AM, Damitha Kumarage < 
> <>> wrote:
>     Hi,
>     I have implemented Http keep alive support and Cookie session
>     support for Axis2/C and commited to svn.
>     Following is a brief introduction into how I implemented it.
>     Cookie session support.
>     I use Apache mod_dbd module to store sessions at server side. The
>     functions for storing and retrieving session can be accessed
>     through Axis2/C environment. I have
>     implemented this for Apache module. Plan to implement this for
>     Axis2/C standalone server soon(which is trivial)
>     A service could support session by creating a hash table filling
>     it with key value pairs and setting it to the message context.
>     Then when this message context reach the server side sender it
>     extract the values from the hash table and make a session string
>     from that. It then generate a session id and
>     store the session string against the id generated(using the above
>     mentioned function in environment).
>     Then it add the Set-Cookie header into the response message which
>     has the cookie header value of session id and expiration time.
>     In the client side the sessions are stored in a session map
>     against the server.
>     When the server get the Cookie header it will retrieve the session
>     value by calling the environment function mentioned above and
>     create a hash table and set it to the message context.
>     Http Keep Alive support for Axis2/C client side.
>     Here implementation is as following.
>     When http transport sender is initialized it will mark whether
>     keep alive is supported when sending messages. This is the default
>     behaviour. However user can change this(in HTTP1.0) by
>     keep alive transport sender parameter in axis2.xml.
>     Now when http sender send the message for the first time it will
>     store the http_client in the keep alive map in the configuration
>     context, against the server.  From there
>     onwards it will reuse this http client for sending the messages.
>     In http 1.0 case it will set the http keep alive header when
>     sending the messages.
>     The implementation handle session close messages from the server
>     in http 1.1 case and keep alive header from server side in http
>     1.0 case.
>     Attached is the patch for the changes to implement above.
>     Thanks,
>     Damitha
>     -- 
>     __________________________________________________________________
>     Damitha Kumarage
>     __________________________________________________________________
> -- 
> Samisa Abeysinghe
> Director, Engineering - WSO2 Inc.
> - "The Open Source SOA Company"


Damitha Kumarage
Technical Lead; WSO2 Inc.
"Oxygenating the Web Service Platform; "

blog: "

View raw message