Ravisankar
Ravisankar

Reputation: 31

Setting HTTP headers through Axis2 API

I am using apache axis2 server webservies, Basically I am sending xml response to android client through webservices. Here I need to maintain the session since the services per user basis. I know maintaining session in webservices is bad idea, but cant avoid it.

Actually I need to generate random unique string when user invoke first service from android client, that random string going to be used as session id. This session id, i need to set in http custom header, so that android client can able to get it and can send it subsequent requests as well.

I want to know whether any API is available in axis2 to set custom header information on http headers. Same way I need to read the http header, so that next request I can get the session id from header.

Can anyone advice me regarding this?? Thanks

-Ravi

Upvotes: 1

Views: 4420

Answers (1)

Guerneen4
Guerneen4

Reputation: 728

Dead link on @Martin Dürrmeier's answer, here's a snapshot of the webpage that i've found on web.archive.org : Axis2 - Setting custom HTTP Headers on a response, it helped me.

Here's the lines needed :

MessageContext responseMessageContext =  
               MessageContext.getCurrentMessageContext().getOperationContext().getMessageContext(  
                       WSDLConstants.MESSAGE_LABEL_OUT_VALUE);  
        List<Header> headers = new ArrayList<Header>();  
        headers.add(new Header(HTTPConstants.HEADER_CONTENT_ENCODING, "identity"));  
        responseMessageContext.setProperty(HTTPConstants.HTTP_HEADERS, headers); 

Upvotes: 2

Related Questions