2011-06-24 109 views
0

我正在使用apache axis2服務器webservies,基本上我通過webservices向android客戶端發送xml響應。在這裏我需要保持會話,因爲每個用戶的服務基礎。我知道在webservices中維護會話不是個好主意,但不能避免它。通過Axis2 API設置HTTP標頭

其實我需要生成隨機唯一的字符串,當用戶從android客戶端調用第一個服務,該隨機字符串將被用作會話ID。這個會話ID,我需要設置在HTTP自定義頭,以便Android客戶端能夠得到它,並可以發送後續請求以及。

我想知道在axis2中是否有任何API可用於在http標頭上設置自定義標頭信息。我需要讀取http頭文件的相同方式,以便下一個請求我可以從頭部獲取會話ID。

任何人都可以爲我提供這方面的建議嗎?由於

-Ravi

+0

相關型號到http://stackoverflow.com/questions/646414/axis2-session-managment –

回答

0

死鏈接,下面是我已經在web.archive.org找到的網頁快照:Axis2 - Setting custom HTTP Headers on a response,它幫助我。

這裏所需要的線路:

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);