Looks good. Have you committed?
Samisa... On Tue, Dec 15, 2009 at 11:58 AM, Damitha Kumarage <dami...@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"