Return-Path: Delivered-To: apmail-cxf-users-archive@www.apache.org Received: (qmail 54101 invoked from network); 7 May 2010 05:22:33 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 7 May 2010 05:22:33 -0000 Received: (qmail 38270 invoked by uid 500); 7 May 2010 05:22:33 -0000 Delivered-To: apmail-cxf-users-archive@cxf.apache.org Received: (qmail 38151 invoked by uid 500); 7 May 2010 05:22:33 -0000 Mailing-List: contact users-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@cxf.apache.org Delivered-To: mailing list users@cxf.apache.org Received: (qmail 38142 invoked by uid 99); 7 May 2010 05:22:32 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 May 2010 05:22:32 +0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=FREEMAIL_FROM,SPF_HELO_PASS,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lists@nabble.com designates 216.139.236.158 as permitted sender) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 May 2010 05:22:28 +0000 Received: from isper.nabble.com ([192.168.236.156]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1OAG0l-0001wb-PY for users@cxf.apache.org; Thu, 06 May 2010 22:22:07 -0700 Message-ID: <28482307.post@talk.nabble.com> Date: Thu, 6 May 2010 22:22:07 -0700 (PDT) From: Arif Mohd To: users@cxf.apache.org Subject: Re: Always new HttpSession object is created when using WebServiceContext In-Reply-To: <201005061649.20662.dkulp@apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: arif.mohammed1@wipro.com References: <28287838.post@talk.nabble.com> <201004201011.54216.dkulp@apache.org> <2253FC94F908484F83229C1F546DDDC905235917@BLR-EC-MBX07.wipro.com> <28444756.post@talk.nabble.com> <201005040942.14945.dkulp@apache.org> <28461265.post@talk.nabble.com> <201005061649.20662.dkulp@apache.org> Daniel, One more question is it possible to implement stateful webservice in CXF in Object Oriented way as suggested by kawaguchi in his blog http://weblogs.java.net/blog/kohsuke/archive/2006/10/stateful_web_se.html dkulp wrote: > > > 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 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:dkulp@apache.org] >> >> > Sent: Tuesday, April 20, 2010 7:42 PM >> >> > To: users@cxf.apache.org >> >> > 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 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> map >> >> >> >> >> >> =(Map>)message.get(Message.PROTOCOL_HEADERS); >> >> >> >> >> >> for(String str:map.keySet()){ >> >> >> >> >> >> if(str.equals("Set-Cookie")){ >> >> >> >> >> >> System.out.println("******* cookies"); >> >> >> List >> >> > >> >> > lst=(List)map.get(str); >> >> > >> >> >> for(String cookie:lst){ >> >> >> >> >> >> System.out.println(cookie); >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> } >> >> >> >> >> >> Can anybody suggest me whats going wrong here ? >> >> > >> >> > -- >> >> > Daniel Kulp >> >> > dkulp@apache.org >> >> > 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 > dkulp@apache.org > http://dankulp.com/blog > > -- View this message in context: http://old.nabble.com/Always-new-HttpSession-object-is-created-when-using-WebServiceContext-tp28287838p28482307.html Sent from the cxf-user mailing list archive at Nabble.com.