This sounds like a bug from the client generating the message.   The client 
shouldn't be setting a "Set-Cookie" header.   The server sets that when it 
sends the response back to the client.  The client should then be sending just 
a "Cookie" header.

Dan


On Wednesday 05 May 2010 9:56:18 am Arif Mohd wrote:
> Daniel,
>   One more observation when i tried to print all the HTTPRequestHeaders i
> found that iam getting Set-Cookie header and its value is also proper(i.e,
> iam getting the same header value which was sent in previous HTTPRespose)
> but if i call getCookies() on the HTTPRequest object iam gettting null
> 
>       Here is the code snippet
> 
>       public List<Names> getNames(){
> 
>                        HttpServletRequest req = (HttpServletRequest)
>                         mc.get(MessageContext.SERVLET_REQUEST);
>                        Enumeration en = req.getHeaderNames();
>                        while(en.hasMoreElements()){
>                       String header = (String)en.nextElement();
>                       System.out.println("header:"+header+"
> value:"+req.getHeader(header));
>                         }
>                         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
>                           return null;
>       }
> 
>       output is :
> 
>          header:Accept-Encoding value:gzip,deflate
>          header:Content-Type value:text/xml;charset=UTF-8
>          header:SOAPAction value:""
>          header:Set-Cookie2 value:
>          header:Set-Cookie value:JSESSIONID=0000zqjYDsVbvL1B71mywyGjis4:-1;
> Path=/
>          header:User-Agent value:Jakarta Commons-HttpClient/3.1
>          header:Host value:myhost:9080
>          header:Content-Length value:238
>          ************ is new session:true
> 
> dkulp wrote:
> > On Tuesday 04 May 2010 4:57:02 am Arif Mohd wrote:
> >> Can any one let me know what am i doing wrong here ?
> > 
> > I really have no idea.   The code all looks correct to I'm going to
> > assume it's a Websphere bug of some sort.
> > 
> > Dan
> > 
> >> Arif Mohd wrote:
> >> > Hi Daniel,
> >> > 
> >> >    The service is setup in war and deployed on Websphere application
> >> > 
> >> > server 6.1. Could you please let me know what iam missing here ?
> >> > 
> >> > Regards,
> >> > Arif.
> >> > 
> >> > -----Original Message-----
> >> > From: Daniel Kulp [mailto:[email protected]]
> >> > Sent: Tuesday, April 20, 2010 7:42 PM
> >> > To: [email protected]
> >> > Cc: Arif pasha Mohammed (WT01 - Telecom Equipment)
> >> > Subject: Re: Always new HttpSession object is created when using
> >> > WebServiceContext
> >> > 
> >> > 
> >> > 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
> >> > 
> >> > Please do not print this email unless it is absolutely necessary.
> >> > 
> >> > The information contained in this electronic message and any
> >> 
> >> attachments
> >> 
> >> > to this message are intended for the exclusive use of the addressee(s)
> >> > and may contain proprietary, confidential or privileged information.
> >> > If you are not the intended recipient, you should not disseminate,
> >> > distribute or copy this e-mail. Please notify the sender immediately
> >> 
> >> and
> >> 
> >> > destroy all copies of this message and any attachments.
> >> > 
> >> > WARNING: Computer viruses can be transmitted via email. The recipient
> >> > should check this email and any attachments for the presence of
> >> 
> >> viruses.
> >> 
> >> > The company accepts no liability for any damage caused by any virus
> >> > transmitted by this email.
> >> > 
> >> > www.wipro.com
> :
> :confused::confused::confused::confused::confused::confused::confused::conf
> :used::confused::confused::-((:-((:-((:-((:-((:confused::confused::confused
> :::confused::confused::confused::confused::confused::confused::confused::co
> :nfused::confused::confused::confused::confused::confused::confused:

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

Reply via email to