I've successfully retrieved and returned http session cookies.

 

Here's a snippet for reading a cookie from an axis2 client:

                String incomingCookie = (String)
inMsgCtx.getServiceContext().getProperty(HTTPConstants.COOKIE_STRING);  

 

Here's one for writing a cookie.

 

                /*

                 * This is how to add a custom header, such as a cookie

                 */

                Header hdr = new Header("Cookie","my_cookie=xyz;");

                ArrayList headers = new ArrayList();

                headers.add(hdr);

                opts = outMsgCtx.getOptions();

                opts.setProperty(HTTPConstants.HTTP_HEADERS,headers);

 

You could do something similar to the above but the easiest way for me
to get this working was to set the manageTransportSession=true in
axis2.xml and then use the following on the client side:

opts.setProperty(HTTPConstants.REUSE_HTTP_CLIENT,true);

 

This tells axis to re-use the httpclient object for second, third, etc..
requests. If this is done, the http-client remembers the JSESSIONID from
the first request and sends it back to the server on subsequent
requests.

 

 

-Jay

 

 

-----Original Message-----
From: Anil Chukkapalli [mailto:[EMAIL PROTECTED] 
Sent: Monday, April 23, 2007 2:48 PM
To: axis-user@ws.apache.org
Subject: Axis2 Manage Session Cookie Manually

 

Hi 

 Is there any way we can manage sessions manually using Axis2, my non
java web service maintains session using cookies. Is there a way my
Axis2 client can read the soap/http header to extract the session
information and use the extracted infromation for further web service
calls, example getting the UUID from the header and use the UUID to
create a cookie in my Axis2 client using setProperty. I have tried using
the set manage session method to true but that does not work. 

  Can you please point me to another thread that answers my question if
you are unable to answer this question.

Thanks
Anil

Reply via email to