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