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 <dami...@wso2.com <mailto: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"


--
__________________________________________________________________

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

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

Reply via email to