axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <>
Subject Re: Implementing Http Keep Alive and Transport level session support for Axis2/C
Date Mon, 21 Dec 2009 03:05:49 GMT
Looks good.

Have you committed?


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"

View raw message