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 <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/
__________________________________________________________________