Is your service a service setup as a war or similar running in tomcat or is it 
some sort of standalone "main method" type thing?  If standalone, see:
http://cxf.apache.org/docs/jetty-configuration.html
for how to turn on the session support for the embedded jetty.

Dan


On Tuesday 20 April 2010 7:09:30 am Arif Mohd wrote:
> 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 ?

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to