<html>
<head>
  <meta http-equiv="content-type" content="">
  <title></title>
  <style type="text/css">
<!--
.style1 {font-size: 10px}
.style2 {font-size: 12px}
.style3 {font-size: 12}
-->


  </style>
</head>

<body>
<h1>Other Articles and Tutorials</h1>

<p>This page contains links to articles and tutorials on Axis2, published
else where .</p>

<h2>Axis2</h2>
<ul>
  <li><p><a
    href="http://www.jaxmagazine.com/itr/online_artikel/psecom,id,747,nodeid,147.html">Axis2
    - The Future of Web Services</a></p>
  </li>
  <li><p><a
    href="http://www.developer.com/services/article.php/3525481">Introducing
    Axis2</a></p>
  </li>
  <li><a href="http://www.onjava.com/pub/a/onjava/2005/07/27/axis2.html">Web
    Services Messaging with Apache Axis2: Concepts and Techniques</a></li>
  <li><p><a href="http://developer.com/java/web/article.php/3529321">Axis2
    Execution Framework</a></p>
  </li>
  <li><p><a
    href="http://jaxmag.com/itr/online_artikel/psecom,id,757,nodeid,147.html">Axis2
    Deployment Model</a></p>
  </li>
  <li><p><a
    href="http://www.developer.com/open/article.php/3557741">Undertanding Axis2 Deployment Architecture</a></p>
  </li>

</ul>

<h2>AXIOM</h2>
<ul>
  <li><p><a
    href="http://www.jaxmag.com/itr/online_artikel/psecom,id,726,nodeid,147.html">Fast
    and Lightweight Object Model for XML </a> - An Introduction to AXIOM, the
    Open Source API for Working with XML</p>
  </li>
  <li><p><a href="http://www-128.ibm.com/developerworks/library/x-axiom/">Get
    the most out of XML processing with AXIOM</a> - Explaining the
    flexibilities of AXIOM in developerworks.</p>
  </li>
</ul>

<p></p>
</body>
</html>
