<html>
<head></head>
<body>
<h1>Axis 2.0 Release Notes</h1>

This is the Second  Milestone release of the Apache Axis2.

<h2>What's in this release?</h2>

<p>This release includes the following features:</p>
<ul>
    <li>AXIOM, a SOAP specific streaming XML infoset model for SOAP 1.1/1.2 Messages</li> 
    <li>Modules, mechnisum to extend the SOAP Processing Model</li>  
    <li>Support for WS-Addressing</li> 
    <li>Client API</li> 
    <li>Support for One-Way Messaging</li> 
    <li>Support for Request Response Messaging
    	<ol>
		<LI>Synchronous, Using a two way transport</LI>
		<LI>Asynchronous, Using a two way transport</LI>
		<LI>Synchronous, Using a one way transport</LI>
		<LI>Aynchronous, Using a two way transport</LI>	
	</ol>
    
    </li> 
    <li>Hot deployment of Web Services and Module deployment based on the archived modules    </li> 
    <li>WSDL Code Generation Tool.</li> 
    <li>HTTP transport Support</li> 
    <li>SMTP transport Support</li> 
    <li>TCP transport Support</li> 
</ul>
<p>The release include following tools</p>
<ol>
	<LI>Admin Web App</LI>
	<LI>WSDL2WS, eclipe Plugin/Command line version</LI>
	<LI>Service Archive Wizard, eclipe Plugin</LI>
	<LI>Module Archive Wizard, eclipe Plugin</LI>
</ol>

<h2>What's still to do?</h2>

<p>Please see a list of what we think needs doing - and please consider helping out if 
you're interested & able!</p>
<ul>
    <li> Encoding/data binding</li> 
    <li>SOAP 1.1 and 1.2 validation </li>
    <li> JAX-RPC 1.1/2.0 compliance</li> 
    <li> Data binding support for WSDL Based code (server/client) code generator</li> 
    <li> MTOM/MIME/SWA attachments support</li> 
    <li> Complete XML infoset support for AXIOM</li> 
    <li> Implementation of other transports. e.g. JMS..</li> 
    <li> Web Service Policy Support</li> 
</ul>

<p>Axis2 is taking shape, this M2 release is a glimpse what is to be expected in the future. 
If you happen to have vision of how the next generation of the Web Service should be, and like to contribute to 
Apache Axis2 please help us to shape the Apache Axis2. Any contribution in the form of Coding, testing, submiting 
improvements to the documentation, and reporting bugs are always welcome.</p>
<p>Thanks for your interest in Axis2!</p>
-- The Axis Development Team
</body>
</html>

 
