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
> 
> -- 
> Daniel Kulp
> [email protected]
> http://dankulp.com/blog
> 
> 
:confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::-((:-((:-((:-((:-((:confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused:
-- 
View this message in context: 
http://old.nabble.com/Always-new-HttpSession-object-is-created-when-using-WebServiceContext-tp28287838p28461265.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to