<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at Apr 17, 2012 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache Axis2 - 


</title>
    <style type="text/css" media="all">
      @import url("../css/maven-base.css");
      @import url("../css/maven-theme.css");
      @import url("../css/site.css");
    </style>
    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20120417" />
    <meta http-equiv="Content-Language" content="en" />
        <meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" /><meta http-equiv="content-type" content="" /><style type="text/css" media="screen"></style>
  </head>
  <body class="composite">
    <div id="banner">
                  <a href="http://www.apache.org/" id="bannerLeft">
                                        <img src="http://www.apache.org/images/asf_logo_wide.png" alt="Apache Axis2" />
                </a>
                        <a href="" id="bannerRight">
                                                <img src="../images/axis.jpg" alt="Apache Axis2" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
        
                <div class="xleft">
        <span id="publishDate">Last Published: 2012-04-17</span>
                  &nbsp;| <span id="projectVersion">Version: 1.6.2</span>
                      </div>
            <div class="xright">                    <a href="../index.html" title="Axis2/Java">Axis2/Java</a>
            |
                        <a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a>
              
        
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
        
                                <h5>Axis2/Java</h5>
                  <ul>
                  <li class="none">
                          <a href="../index.html" title="Home">Home</a>
            </li>
          </ul>
                       <h5>Downloads</h5>
                  <ul>
                  <li class="none">
                          <a href="../download.cgi" title="Releases">Releases</a>
            </li>
                  <li class="none">
                          <a href="../modules/index.html" title="Modules">Modules</a>
            </li>
                  <li class="none">
                          <a href="../tools/index.html" title="Tools">Tools</a>
            </li>
          </ul>
                       <h5>Documentation</h5>
                  <ul>
                  <li class="none">
            <strong>Table of Contents</strong>
          </li>
                  <li class="none">
                          <a href="../docs/installationguide.html" title="Installation Guide">Installation Guide</a>
            </li>
                  <li class="none">
                          <a href="../docs/quickstartguide.html" title="QuickStart Guide">QuickStart Guide</a>
            </li>
                  <li class="none">
                          <a href="../docs/userguide.html" title="User Guide">User Guide</a>
            </li>
                  <li class="none">
                          <a href="../docs/jaxws-guide.html" title="JAXWS Guide">JAXWS Guide</a>
            </li>
                  <li class="none">
                          <a href="../docs/pojoguide.html" title="POJO Guide">POJO Guide</a>
            </li>
                  <li class="none">
                          <a href="../docs/spring.html" title="Spring Guide">Spring Guide</a>
            </li>
                  <li class="none">
                          <a href="../docs/webadminguide.html" title="Web Administrator's Guide">Web Administrator's Guide</a>
            </li>
                  <li class="none">
                          <a href="../docs/migration.html" title="Migration Guide (from Axis1)">Migration Guide (from Axis1)</a>
            </li>
          </ul>
                       <h5>Resources</h5>
                  <ul>
                  <li class="none">
                          <a href="../faq.html" title="FAQ">FAQ</a>
            </li>
                  <li class="none">
                          <a href="../articles.html" title="Articles">Articles</a>
            </li>
                  <li class="none">
                          <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="Wiki">Wiki</a>
            </li>
                  <li class="none">
                          <a href="../refLib.html" title="Reference Library">Reference Library</a>
            </li>
                  <li class="none">
                          <a href="../api/index.html" title="Online Java Docs">Online Java Docs</a>
            </li>
          </ul>
                       <h5>Get Involved</h5>
                  <ul>
                  <li class="none">
                          <a href="../overview.html" title="Overview">Overview</a>
            </li>
                  <li class="none">
                          <a href="../svn.html" title="Checkout the Source">Checkout the Source</a>
            </li>
                  <li class="none">
                          <a href="../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
            </li>
                  <li class="none">
                          <a href="../release-process.html" title="Release Process">Release Process</a>
            </li>
                  <li class="none">
                          <a href="../guidelines.html" title="Developer Guidelines">Developer Guidelines</a>
            </li>
                  <li class="none">
                          <a href="../siteHowTo.html" title="Build the Site">Build the Site</a>
            </li>
          </ul>
                       <h5>Project Information</h5>
                  <ul>
                  <li class="none">
                          <a href="../team-list.html" title="Project Team">Project Team</a>
            </li>
                  <li class="none">
                          <a href="../issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
            </li>
                  <li class="none">
                          <a href="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" class="externalLink" title="Source Code">Source Code</a>
            </li>
                  <li class="none">
                          <a href="../thanks.html" title="Acknowledgements">Acknowledgements</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License">License</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">Sponsorship</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">Thanks</a>
            </li>
                  <li class="none">
                          <a href="http://www.apache.org/security/" class="externalLink" title="Security">Security</a>
            </li>
          </ul>
                             <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
      </a>
                   
        
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <!-- ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied. See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License. --><html xmlns="http://www.w3.org/1999/xhtml">

<h1>Table of Contents</h1>
<ol style="list-style-type: decimal">
<li><a href="contents.html">Introduction</a></li>
<li><a href="installationguide.html">Installation Guide</a></li>
<li><a href="../modules/index.html">Add-on
Modules</a></li>
<li><a href="app_server.html">Application Server
Specific Configuration Guide</a></li>
<li><a href="quickstartguide.html">Quick Start
Guide</a></li>
<li><a href="userguide.html">User's
Guide</a></li>
<li><a href="adv-userguide.html">Advanced User's
Guide</a></li>
<li><a href="axis2config.html">Configuration
Guide</a></li>
<li><a href="webadminguide.html">Web
Administrator's Guide</a></li>
<li><a href="Axis2ArchitectureGuide.html">Architecture Guide</a></li>
<li><a href="jaxws-guide.html">JAXWS Guide</a></li>
<li><a href="pojoguide.html">POJO Guide</a></li>
<li><a href="spring.html">Spring Guide</a></li>
<li><a href="modules.html">ModulesGuide</a></li>
<li><a href="clustering-guide.html">Clustering Guide</a></li>
<li>ADB Data Binding
<ul>
<li>14.1 <a href="adb/adb-howto.html">Architecture</a></li>
<li>14.2 <a href="adb/adb-advanced.html">Advanced Features</a></li>
<li>14.3 <a href="adb/adb-codegen-integration.html">Code Generation Integration</a></li>
<li>14.4 <a href="adb/adb-tweaking.html">Tweaking</a></li>
</ul>
</li>
<li>JiBX Data Binding
<ul>
<li>15.1 <a href="jibx/jibx-codegen-integration.html">Code Generation Integration</a></li>
<li>15.2 <a href="jibx/jibx-doclit-example.html">doc/lit Example</a></li>
<li>15.3 <a href="jibx/jibx-unwrapped-example.html">unwrapped Example</a></li>
</ul>
</li>
<li>Advanced
<ul>
<li>16.1 <a href="xmlbased-server.html">AXIOM
Based Service</a></li>
<li>16.2 <a href="dii.html">AXIOM Based
Client</a></li>
</ul>
</li>
<li><a href="mtom-guide.html">Attachments/MTOM
Guide</a></li>
<li>Transports
<ul>
<li>18.1 <a href="http-transport.html">HTTP
Transport sender</a></li>
<li>18.2 <a href="servlet-transport.html">HTTP
servlet transport</a></li>
<li>18.3 <a href="transport_howto.html">Custom
Transport</a></li>
</ul>
</li>
<li><a href="WS_policy.html">WS-Policy
Support</a></li>
<li><a href="rest-ws.html">REST Support</a></li>
<li><a href="json_support.html">JSON
Support</a></li>
<li><a href="corba-deployer.html">Exposing CORBA Services as Web Services</a></li>
<li><a href="ejb-provider.html">Guide to using
EJB Provider in Axis2</a></li>
<li><a href="soapmonitor-module.html">SOAP
Monitor</a></li>
<li><a href="reference.html">Command Line
Tools</a></li>
<li><a href="../tools/index.html">Tools/Plug-ins</a>
<ul>
<li>25.1 <a href="../tools/CodegenToolReference.html">Code Generator Tool - Command Line and Ant
Task</a></li>
<li>25.2 <a href="../tools/idea/Idea_plug-in_userguide.html">Axis2 Plug-in for IntelliJ IDEA</a></li>
<li>25.3 <a href="../tools/eclipse/servicearchiver-plugin.html">Service Archive Generator Wizard - Eclipse
Plug-in</a></li>
<li>25.4 <a href="../tools/eclipse/wsdl2java-plugin.html">Code Generator Wizard - Eclipse Plug-in</a></li>
<li>25.5 <a href="../tools/maven-plugins/maven-aar-plugin.html">AAR Maven2 Plug-in</a></li>
<li>25.6 <a href="../tools/maven-plugins/maven-java2wsdl-plugin.html">Java2WSDL Maven2 Plug-in</a></li>
<li>25.7 <a href="../tools/maven-plugins/maven-wsdl2code-plugin.html">WSDL2Code Maven2 Plug-in</a></li>
</ul>
</li>
<li><a href="migration.html">Migration Guide
(from Axis1)</a></li>
<li>Design Notes
<ul>
<li>27.1 <a href="Axis2-rpc-support.html">RPC
Support</a></li>
</ul>
</li>
</ol>

</html>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">Copyright &#169;                    2004-2012
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
        
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
