You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by Samisa Abeysinghe <sa...@wso2.com> on 2009/12/21 04:05:49 UTC

Re: Implementing Http Keep Alive and Transport level session support for Axis2/C

Looks good.

Have you committed?

Samisa...


On Tue, Dec 15, 2009 at 11:58 AM, Damitha Kumarage <da...@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"

Re: Implementing Http Keep Alive and Transport level session support for Axis2/C

Posted by Damitha Kumarage <da...@wso2.com>.
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
>>> <ma...@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/
__________________________________________________________________

Re: Implementing Http Keep Alive and Transport level session support for Axis2/C

Posted by Deepal jayasinghe <de...@gmail.com>.
Damitha,

Did you get a chance to check with Axis2/Java?  it would be a good
interoperability testing.

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
>> <ma...@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"
>
>


-- 
Thank you!


http://blogs.deepal.org
http://deepal.org


Re: Implementing Http Keep Alive and Transport level session support for Axis2/C

Posted by Damitha Kumarage <da...@wso2.com>.
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 
> <ma...@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/
__________________________________________________________________