<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>handy &#187; session</title>
	<atom:link href="http://sirinsevinc.wordpress.com/tag/session/feed/" rel="self" type="application/rss+xml" />
	<link>http://sirinsevinc.wordpress.com</link>
	<description>java,webservice,javascript,software algorithms</description>
	<lastBuildDate>Mon, 20 Jul 2009 14:24:24 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='sirinsevinc.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/22dbbb1103eab00233fa34b9029d78b4?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>handy &#187; session</title>
		<link>http://sirinsevinc.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://sirinsevinc.wordpress.com/osd.xml" title="handy" />
		<item>
		<title>How to Implement Session in JAXWS</title>
		<link>http://sirinsevinc.wordpress.com/2008/02/08/how-to-implement-session-in-jaxws/</link>
		<comments>http://sirinsevinc.wordpress.com/2008/02/08/how-to-implement-session-in-jaxws/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 12:27:00 +0000</pubDate>
		<dc:creator>sirin sevinc</dc:creator>
				<category><![CDATA[JaxWs]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">http://sirinsevinc.wordpress.com/2008/02/08/how-to-implement-session-in-jaxws/</guid>
		<description><![CDATA[Server

package com.foo.ws.session;
import javax.annotation.Resource;
import  javax.jws.WebService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.handler.MessageContext;
@WebServicepublic class Hello {

//webServiceContext is injected by the JAXWS API
@Resource private WebServiceContext wsContext;

@WebMethod public int getCounter(){

       MessageContext mc = wsContext.getMessageContext();
      HttpSession session = (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST)).getSession();
      // Get a session property "counter" [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sirinsevinc.wordpress.com&blog=2562058&post=13&subd=sirinsevinc&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><strong>Server</strong></p>
<div style="background-color:#f5f5f5;overflow:auto;">
<pre style="font-size:1.2em;"><code>package com.foo.ws.session;
import javax.annotation.Resource;
import  javax.jws.WebService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.handler.MessageContext;
@WebServicepublic class Hello {

//webServiceContext is injected by the JAXWS API
@Resource private WebServiceContext wsContext;

@WebMethod public int getCounter(){

       MessageContext mc = wsContext.getMessageContext();
      HttpSession session = (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST)).getSession();
      // Get a session property "counter" from context
      if (session == null)
          throw new WebServiceException("No session in WebServiceContext");
      Integer counter = (Integer)session.getAttribute("counter");
      if (counter == null) {
           counter = new Integer(0);
           System.out.println("Starting the Session");
      }
    counter = new Integer(counter.intValue() + 1);
    session.setAttribute("counter", counter);
    return counter;
  }
}</code></pre>
</div>
<p><strong>Client</strong></p>
<div style="background-color:#f5f5f5;overflow:auto;">
<pre style="font-size:1.2em;"><code>
package com.foo.ws.session.client;
import java.util.Map;
import javax.xml.ws.BindingProvider;
public class ClientMain {
public static void main(String[] args) {
      Hello proxy = new HelloService().getHelloPort();
      //setting requestContext so that session could be maintained through client and server
      Map requestContext = ((BindingProvider)proxy).getRequestContext();
      requestContext.put(BindingProvider.SESSION_MAINTAIN_PROPERTY,true);
      int result = proxy.getCounter();
      System.out.println(result);
      result = proxy.getCounter();
      System.out.println(result);
}
}
</code></pre>
</div>
<p>the output for the client is 1 and 2 as expected</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/sirinsevinc.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/sirinsevinc.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/sirinsevinc.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/sirinsevinc.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/sirinsevinc.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/sirinsevinc.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/sirinsevinc.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/sirinsevinc.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/sirinsevinc.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/sirinsevinc.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/sirinsevinc.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/sirinsevinc.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=sirinsevinc.wordpress.com&blog=2562058&post=13&subd=sirinsevinc&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://sirinsevinc.wordpress.com/2008/02/08/how-to-implement-session-in-jaxws/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a9d9718257bc3dedcd892134e22b4295?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">sirinse</media:title>
		</media:content>
	</item>
	</channel>
</rss>