cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arif Mohd <arif.mohamm...@wipro.com>
Subject Always new HttpSession object is created when using WebServiceContext
Date Tue, 20 Apr 2010 11:09:30 GMT


Hi,

   Iam using CXF version 2.2.5 and trying to implement the stateful
webservice by using @Resource annotation to inject WebServiceContext

     The code is as follows

@WebService(portName ="monitorPort" , endpointInterface =
"com.xxx.service.MonitorSEI",
        serviceName = "monitorService")
public class MonitorService implements MontitorSEI{
    @javax.annotation.Resource
    private WebServiceContext wsc;

	public List<Names> getNames(){
          HttpServletRequest req = (HttpServletRequest)
wsc.getMessageContext().get(AbstractHTTPDestination.HTTP_REQUEST);
        Cookie[] cookies=req.getCookies();
        if(cookies!=null){
        	for(Cookie cookie:cookies){
        	System.out.println("************ cookie:"+cookie); //iam not
getting this SOP
        	}
        }
        HttpSession session = req.getSession();
        System.out.println(" ************ is new
session:"+session.isNew());//always true 
   }
 }

Iam using SOAP UI to send the request and the property "Maintain HTTP
Session" is set, i have examined the SOAP request and noticed that the
client is returning back JSESSIONID cookie properly.
      But still the server is creating a new HttpSession and obviously it is
sending new JSESSIONID in next response to the client

    I have attached the following interceptor to inbound message of service
end point to examine the value of JSESSIONID sent by the client.
  
public class HTTPHeaderInterceptor extends SoapHeaderInterceptor{

	public void handleMessage(Message message) throws Fault {
		Map<String,List<String>> map
=(Map<String,List<String>>)message.get(Message.PROTOCOL_HEADERS);
		for(String str:map.keySet()){
			if(str.equals("Set-Cookie")){
				System.out.println("******* cookies");
				List<String> lst=(List<String>)map.get(str);
				for(String cookie:lst){
					System.out.println(cookie);
				}
			}
		}
	}
}

  Can anybody suggest me whats going wrong here ?
-- 
View this message in context: http://old.nabble.com/Always-new-HttpSession-object-is-created-when-using-WebServiceContext-tp28287838p28287838.html
Sent from the cxf-user mailing list archive at Nabble.com.


Mime
View raw message