<?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>Kumar's Java Web Services Blog</title>
	<atom:link href="http://javaws.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://javaws.wordpress.com</link>
	<description>A lazy techie's not so lazy blog on Java Web Services</description>
	<lastBuildDate>Fri, 07 Mar 2008 22:20:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='javaws.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Kumar's Java Web Services Blog</title>
		<link>http://javaws.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://javaws.wordpress.com/osd.xml" title="Kumar&#039;s Java Web Services Blog" />
	<atom:link rel='hub' href='http://javaws.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Understanding Web Services specifications</title>
		<link>http://javaws.wordpress.com/2008/03/01/understanding-web-services-specifications/</link>
		<comments>http://javaws.wordpress.com/2008/03/01/understanding-web-services-specifications/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 03:36:55 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Axis2]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/?p=14</guid>
		<description><![CDATA[Understanding Web Services specifications, Part 1: SOAP Level: Intermediate 15 May 2006 Understanding Web Services specifications, Part 2: Web Services Description Language (WSDL) Level: Intermediate 07 Jul 2006 Understanding Web Services specifications, Part 3: Uniform Description and Discovery Interface (UDDI) Level: Intermediate 21 Jul 2006 Understanding Web Services specifications, Part 4: WS-Security Level: Intermediate 26 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=14&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services1.html"><b>Understanding</b> <b>Web</b> <b>Services</b> <b>specifications</b>, Part 1: SOAP</a> Level: Intermediate 15 May 2006</p>
<p><a href="http://www.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services2.html"> <b>Understanding</b> <b>Web</b> <b>Services</b> <b>specifications</b>, Part 2: Web Services Description Language (WSDL)</a> Level: Intermediate 07 Jul 2006</p>
<p><a href="http://www.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services3.html"><b>Understanding</b> <b>Web</b> <b>Services</b> <b>specifications</b>, Part 3: Uniform Description and Discovery Interface (UDDI)</a> Level: Intermediate 21 Jul 2006</p>
<p><a href="http://www.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services4.html"><b>Understanding</b> <b>Web</b> <b>Services</b> <b>specifications</b>, Part 4: WS-Security</a> Level: Intermediate 26 Aug 2006</p>
<p><a href="http://www.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services5.html"><b>Understanding</b> <b>Web</b> <b>Services</b> <b>specifications</b>, Part 5: WS-Policy</a> Level: Intermediate 23 Feb 2007</p>
<p><a href="http://www.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services6.html"><b>Understanding</b> <b>Web</b> <b>Services</b> <b>specifications</b>, Part 6: WS-Interoperability</a> Level: Intermediate 26 Apr 2007</p>
<p><a href="http://www.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services7.html"><b>Understanding</b> <b>Web</b> <b>Services</b> <b>specifications</b>, Part 7: WS-Business Process Execution Language</a> Level: Intermediate 10 May 2007</p>
<p><i>WS-Addressing and WS-Security modules are currently included in the <b>base Axis2 distribution</b> (in the future they may become separate downloads, or even separate projects, since there&#8217;s no tight coupling between these modules and the core Axis2 code).<strike>(Security for the Axis2 Web services engine is provided through the Rampart module, which is not included in the default installation.Although Axis itself will use Rampart, at some point you will need to reference the WSS4J classes direction.)</strike></i></p>
<p><i>WS-ReliableMessaging support is being developed through the <b>Sandesha project</b>,</i></p>
<p><i>while WS-Trust and WS-SecureConversation are being developed through the <b>WSS4J project</b> (which already provides the WS-Security implementation).</i></p>
<p><i>WS-AtomicTransaction and WS-Coordination are being implemented through the <b>Kandula project</b>. </i></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaws.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaws.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaws.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaws.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaws.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaws.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javaws.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javaws.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javaws.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javaws.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaws.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaws.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaws.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaws.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaws.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaws.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=14&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/03/01/understanding-web-services-specifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 2.5(Data Binding)</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-25data-binding/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-25data-binding/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 04:38:09 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-25data-binding/</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=13&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=13&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-25data-binding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 2.4(Code Generation)</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-24code-generation/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-24code-generation/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 04:37:57 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-24code-generation/</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=12&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=12&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-24code-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 2.3(Client API)</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-23client-api/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-23client-api/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 04:37:47 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-23client-api/</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=11&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=11&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-23client-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 2.2(Transports)</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-22transports/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-22transports/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 04:37:32 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-22transports/</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=10&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=10&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-22transports/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 2.1(Deployment model)</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-21deployment-model/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-21deployment-model/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 04:37:18 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-21deployment-model/</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=9&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=9&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-21deployment-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 1.3(Information processing model)</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-13information-processing-model/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-13information-processing-model/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 04:37:05 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Axis2]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-13information-processing-model/</guid>
		<description><![CDATA[The Description hierarchy represents the static data. This data may be loaded from a configuration file that exists throughout the lifetime of Axis2(axis2.xml). On the other hand, the context hierarchy holds more dynamic information about objects that can have more than one instance (e.g., Message Contexts). When the values are searched at a given level, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=8&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://ws.apache.org/axis2/1_3/images/archi-guide/contexts.png" align="middle" height="384" width="362" /></p>
<p>The Description hierarchy represents the static data. This data may be loaded from a configuration file that exists throughout the lifetime of Axis2(<i>axis2.xml</i>). On the other hand, the context hierarchy holds more dynamic information about objects that can have more than one instance (e.g., Message Contexts).</p>
<p>When the values are searched at a given level, they are searched while moving up the hierarchy until a match is found. In the resulting model, the lower levels override the values in the upper levels.</p>
<table border="1">
<tr>
<th>Context</th>
<th>Description</th>
<th>Configuration</th>
<th>Description</th>
</tr>
<tr>
<td><b>Configuration Context</b></td>
<td>dsfs</td>
<td><b>Axis Configuration</b></td>
<td>dsfs</td>
</tr>
<tr>
<td><b>Service Group Context</b></td>
<td>dsfs</td>
<td><b>AxisServiceGroup </b></td>
<td>dsfs</td>
</tr>
<tr>
<td><b>Service Context</b></td>
<td>dsfs</td>
<td><b>AxisService</b></td>
<td>dsfs</td>
</tr>
<tr>
<td><b>Operation Context</b></td>
<td>dsfs</td>
<td><b>AxisOperation</b></td>
<td>dsfs</td>
</tr>
<tr>
<td><b>Message Context</b></td>
<td>dsfs</td>
<td><b>AxisMessage</b></td>
<td>dsfs</td>
</tr>
</table>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaws.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaws.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaws.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaws.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaws.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaws.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javaws.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javaws.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javaws.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javaws.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaws.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaws.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaws.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaws.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaws.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaws.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=8&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-13information-processing-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>

		<media:content url="http://ws.apache.org/axis2/1_3/images/archi-guide/contexts.png" medium="image" />
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 1.2(SOAP processing model)</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-12soap-processing-model/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-12soap-processing-model/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 04:36:53 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Axis2]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-12soap-processing-model/</guid>
		<description><![CDATA[SOAP processing model controls the execution of the processing. The model defines different phases the execution would walk through, and the user can extend the Processing Model at specific places.Extensibility of the SOAP processing model is provided through handlers. The architecture identified two basic actions a SOAP processor should perform, sending and receiving SOAP messages. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=7&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>SOAP processing model controls the execution of the processing. The model defines different <u>phases</u> the execution would walk through, and the user can extend the Processing Model at specific places.Extensibility of the SOAP processing model is provided through <u>handlers</u>.</p>
<p><img src="http://ws.apache.org/axis2/1_3/images/archi-guide/soap-processing.gif" height="326" width="710" /></p>
<p>The architecture identified two basic actions a SOAP processor should perform, sending and receiving SOAP messages. The architecture provides two pipes (or flows) to perform these two basic actions. The Axis Engine or the driver of Axis2 defines two methods, send() and receive(), to implement these two pipes. The two pipes are named <i><b>In</b> Pipe</i> and <i><b>Out</b> Pipe</i>, and complex Message Exchange Patterns (MEPs) are constructed by combining these two pipes.</p>
<p>Extensibility of the SOAP processing model is provided through handlers. When a SOAP message is being processed, the handlers that are registered will be executed. The handlers can be registered in global, service, or operation scope and the final handler chain is calculated combining the handlers from all the scopes.</p>
<p>The handlers act as interceptors and they process parts of the SOAP message and provide add-on services. Usually handlers work on the SOAP headers, yet they may access or change the SOAP body as well.</p>
<p>When a SOAP message is being sent through the Client API, an <i>Out Pipe</i> activates. The <i>Out Pipe</i> will invoke the handlers and end with a Transport Sender that sends the SOAP message to the target endpoint. The SOAP message is received by a Transport Receiver at the target endpoint, which reads the SOAP message and starts the <i>In Pipe</i>. The <i>In Pipe</i> consists of handlers and ends with the <a href="http://ws.apache.org/axis2/1_3/Axis2ArchitectureGuide.html#mr">Message Receiver</a>, which consumes the SOAP message.</p>
<p>The processing explained above happens for each and every SOAP message that is exchanged. After processing one message, Axis2 may decide to create other SOAP messages, in which case more complex message patterns emerge. However, Axis2 always views the SOAP message in terms of processing a single message. The combination of the messages are layered on top of that basic framework.</p>
<p>The two pipes do not differentiate between the Server and the Client. The SOAP Processing Model handles the complexity and provides two abstract pipes to the user. The different areas or the stages of the pipes are called &#8216;phases&#8217; within Axis2. A Handler always runs inside a specific phase, and the phase provides a mechanism to specify the ordering of handlers. Both Pipes have built-in phases, and both define the areas for &#8216;User Phases&#8217; which can be defined by the user.</p>
<h3>Axis2 Default Processing Model</h3>
<p>Axis2 has some inbuilt handlers that run in inbuilt phases and they create the default configuration for Axis2. We will be looking more in to how to extend the default processing Model in the next section.</p>
<p>There are three special handlers defined in Axis2.</p>
<ol>
<li>Dispatchers &#8211; Finds the service and the operation the SOAP message is directed to. Dispatchers always run on the <i>In-Pipe</i> and inside the Dispatch phase. The in-built dispatchers dispatch to a particular operation depending on various conditions like WS-Addressing information, URI information, SOAP action information, etc. ( See more information on <a href="http://www.wso2.net/tutorials/axis2/java/2006/06/18/operation-service-message-is-destined-to"> Dispatching</a>)</li>
</ol>
<ul>
<li><a title="mr" name="mr"></a>Message Receiver &#8211; Consumes the SOAP message and hands it over to the application. The message receiver is the last handler of the in-pipe</li>
<li> Transport Sender &#8211; Sends the SOAP message to the SOAP endpoint the message is destined to. Always runs as the last handler in the out-pipe</li>
</ul>
<p><a title="incomingsoap" name="incomingsoap"></a></p>
<h3>Processing an Incoming SOAP Message</h3>
<p>An incoming SOAP message is always received by a Transport Receiver waiting for the SOAP messages. Once the SOAP message arrives, the transport Headers are parsed and a <a href="http://ws.apache.org/axis2/1_3/Axis2ArchitectureGuide.html#messageContext">Message Context</a> is created from the incoming SOAP message. This message context encapsulates all the information, including the SOAP message itself, transport headers, etc., inside it. Then the <i>In Pipe</i> is executed with the Message Context. Let us see what happens at each phase of the execution. This process can happen in the server or in the client.</p>
<ol>
<li><b>Transport Phase</b> &#8211; The handlers are in the phase that processes transport specific information such as validating incoming messages by looking at various transport headers, adding data into message contexts, etc.</li>
<li><b>Pre-Dispatch Phase</b>- The main functionality of the handlers in this phase is to populate message context to do the dispatching. For example, processing of addressing headers of the SOAP message, if any, happens in this phase. Addressing handlers extract information and put them in to the message context.</li>
<li><b>Dispatch Phase</b> &#8211; The Dispatchers run in this phase and try to find the correct service and operation this particular message is destined for.<br />
The post condition of the dispatch phase (any phase can contain a post condition) checks whether a service and an operation were found by the dispatchers. If not, the execution will halt and return a &#8220;service not found&#8217; error.</li>
<li><b>User Defined Phases</b> &#8211; Users can engage their custom handlers here.</li>
<li><b>Message Validation Phase</b> &#8211; Once the user level execution has taken place, this phase validates whether SOAP Message Processing has taken place correctly.</li>
<li><b>Message Processing Phase</b> &#8211; The Business logic of the SOAP message is executed here. A <a href="http://ws.apache.org/axis2/1_3/Axis2ArchitectureGuide.html#mr">Message Receiver</a> is registered with each Operation. This message receiver (associated to the particular operation) will be executed as the last handler of this phase.</li>
</ol>
<p>There may be other handlers in any of these phases. Users may use custom handlers to override the processing logic in each of these phases. <a title="outgoing" name="outgoing"></a></p>
<h3>Processing of the Outgoing Message</h3>
<p>The <i>Out Pipe</i> is simpler because the service and the operation to dispatch are known by the time the pipe is executed. The <i>Out Pipe</i> may be initiated by the <a href="http://ws.apache.org/axis2/1_3/Axis2ArchitectureGuide.html#mr">Message Receiver</a> or the Client API implementation. Phases of the <i>Out Pipe</i> are described below:</p>
<ol>
<li><b>Message Initialize Phase</b> &#8211; First phase of the <i>Out Pipe</i>. Serves as the placeholder for the custom handlers.</li>
<li><b>User Phases</b> &#8211; Executes handlers in user-defined phases.</li>
<li><b>Transports Phase</b> &#8211; Executes any transport handlers taken from the associated transport configuration. The last handler would be a transport sender which will send the SOAP message to the target endpoint.</li>
</ol>
<p><a title="extending" name="extending"></a></p>
<h3>Extending the SOAP Processing Model</h3>
<p>Above, we discussed the default processing model of Axis2. Now let us discuss the extension mechanism for the SOAP processing model. After all, the whole effort of making this SOAP engine/processing model was focused on making it extendable. The idea behind introducing step-wise processing of the SOAP message in terms of handlers and phases is to allow easier modification of the processing order. The notion of phases makes it easier to place handlers in between other handlers. This enables modification of the default processing behavior. The SOAP Processing Model can be extended with <a href="http://ws.apache.org/axis2/1_3/Axis2ArchitectureGuide.html#extendingwithhandlers">handlers</a> or <a href="http://ws.apache.org/axis2/1_3/Axis2ArchitectureGuide.html#extendingwithmodules">modules</a>.</p>
<h4>Extending the SOAP Processing Model with Handlers</h4>
<p>The handlers in a module can specify the phase they need to be placed in. Furthermore, they can specify their location inside a phase by providing phase rules. Phase rules will place a handler,</p>
<ol>
<li>as the first handler in a phase,</li>
<li>as the last handler in a phase,</li>
<li>before a given handler,</li>
<li>or after a given handler.</li>
</ol>
<p><a title="extendingwithmodules" name="extendingwithmodules"></a></p>
<h4>Extending the SOAP Processing Model with Modules</h4>
<p>Axis2 defines an entity called a &#8216;module&#8217; that can introduce handlers and Web service operations. A Module in terms of Axis2 usually acts as a convenient packaging that includes:</p>
<ul>
<li>A set of handlers and</li>
<li>An associated descriptor which includes the phase rules</li>
</ul>
<p>Modules have the concept of being &#8216;available&#8217; and &#8216;engaged&#8217;. &#8216;Availability&#8217; means the module is present in the system, but has not been activated, i.e., the handlers included inside the module have not been used in the processing mechanism. When a module is &#8216;engaged&#8217; it becomes active and the handlers get placed in the proper phases. The handlers will act in the same way as explained in the previous section. Usually a module will be used to implement a WS-* functionality such as WS-Addressing. Apart from the extension mechanism based on the handlers, the WS-* specifications may suggest a requirement for adding new operations. For example, once a user adds Reliable Messaging capability to a service, the &#8220;Create Sequence&#8221; operation needs to be available to the service endpoint. This can be implemented by letting the modules define the operations. Once the module is engaged to a service, the necessary operations will be added to that service. A service, operation, or the system may engage a module. Once the module is engaged, the handlers and the operations defined in the module are added to the entity that engaged them. Modules cannot be added (no hot deployment) while the Axis2 engine is running, but they will be available once the system is restarted.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaws.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaws.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaws.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaws.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaws.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaws.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javaws.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javaws.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javaws.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javaws.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaws.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaws.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaws.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaws.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaws.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaws.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=7&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-12soap-processing-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>

		<media:content url="http://ws.apache.org/axis2/1_3/images/archi-guide/soap-processing.gif" medium="image" />
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 1.1(XML Processing Model)</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-11xml-processing-model/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-11xml-processing-model/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 04:26:56 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-11xml-processing-model/</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=6&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=6&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture-part-11xml-processing-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>
	</item>
		<item>
		<title>Axis2 Architecture &#8211; Part 0</title>
		<link>http://javaws.wordpress.com/2008/02/24/axis2-architecture/</link>
		<comments>http://javaws.wordpress.com/2008/02/24/axis2-architecture/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 02:24:29 +0000</pubDate>
		<dc:creator>Kumar</dc:creator>
				<category><![CDATA[Axis2]]></category>

		<guid isPermaLink="false">http://javaws.wordpress.com/?p=5</guid>
		<description><![CDATA[Axis2 Core Architecture is built on three specifications- WSDL, SOAP and WS-Addressing. Other specifications like JAX-RPC, SAAJ and WS-Policy are layered on top of the Core Architecture Axis2 architecture separates the logic and the states. Code that does the processing does not have a state inside Axis2. This allows code to be executed freely by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=5&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Axis2 Core Architecture is built on three specifications- <b><a href="http://www.w3.org/TR/wsdl">WSDL</a></b>, <b><a href="http://www.w3.org/TR/soap/">SOAP</a></b> and <b><a href="http://www.w3.org/Submission/ws-addressing/">WS-Addressing</a></b>. Other specifications like <b>JAX-RPC</b>, <b><a href="http://java.sun.com/webservices/saaj/index.jsp">SAAJ</a></b> and <b><a href="http://www.w3.org/Submission/WS-Policy/">WS-Policy</a></b> are layered on top of the Core Architecture</p>
<p>Axis2 architecture separates the logic and the states. Code that does the processing does not have a state inside Axis2. This allows code to be executed freely by parallel threads.</p>
<p>Axis2 core architecture consists of the following core and non-core components:</p>
<ol>
<li><b> Core Components</b>
<ol>
<li>XML Processing Model  : XML Object Model (AXIOM)</li>
<li>SOAP processing model : handler framework</li>
<li>Information processing model: contexts and descriptions</li>
</ol>
</li>
<li><b>Other components(non-core components)</b>
<ol>
<li>Deployment model</li>
<li>Transports</li>
<li>Client API</li>
<li>Code Generation</li>
<li>Data Binding</li>
</ol>
</li>
</ol>
<p>The following articles were used as reference for this and the next couple of posts</p>
<p><a href="http://ws.apache.org/axis2/1_3/Axis2ArchitectureGuide.html">Axis2 Architecture</a></p>
<p><a href="http://www.ibm.com/developerworks/webservices/library/ws-apacheaxis2/">Axis2 Architecture</a></p>
<p><a href="http://www-128.ibm.com/developerworks/webservices/library/ws-soa-axis2-1/">Axis2 Basic </a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaws.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaws.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaws.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaws.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaws.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaws.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javaws.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javaws.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javaws.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javaws.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaws.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaws.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaws.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaws.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaws.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaws.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaws.wordpress.com&amp;blog=1940240&amp;post=5&amp;subd=javaws&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaws.wordpress.com/2008/02/24/axis2-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7800406608487e685e2d0b90ceb8727c?s=96&#38;d=identicon" medium="image">
			<media:title type="html">RSN</media:title>
		</media:content>
	</item>
	</channel>
</rss>
