axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damitha Kumarage <dami...@wso2.com>
Subject Re: Implementing Http Keep Alive and Transport level session support for Axis2/C
Date Tue, 22 Dec 2009 04:18:05 GMT
Deepal jayasinghe wrote:
> Damitha,
>
> Did you get a chance to check with Axis2/Java?  it would be a good
> interoperability testing.
>   
Will do Deepal,
Thanks,
Damitha
> Thanks,
> Deepal
>   
>> Samisa Abeysinghe wrote:
>>     
>>> Looks good.
>>> Have you committed?
>>>       
>> Yes it is in svn
>>
>> Thanks,
>> Damitha
>>     
>>> Samisa...
>>>
>>>
>>> On Tue, Dec 15, 2009 at 11:58 AM, Damitha Kumarage <damitha@wso2.com
>>> <mailto:damitha@wso2.com>> 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
>>>     http://people.apache.org/
>>>     __________________________________________________________________
>>>
>>>
>>>
>>>
>>> -- 
>>> Samisa Abeysinghe
>>> Director, Engineering - WSO2 Inc.
>>>
>>> http://www.wso2.com/ - "The Open Source SOA Company"
>>>       
>>     
>
>
>   


-- 
__________________________________________________________________

Damitha Kumarage
Technical Lead; WSO2 Inc.
"Oxygenating the Web Service Platform; " http://www.wso2.com/

blog: " http://damithakumarage.wordpress.com/
__________________________________________________________________

Mime
View raw message