<!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 Site Renderer 1.3 at Jun 28, 2015 -->
<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 - 


Reference Library</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="20150628" />
    <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="" />
        </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: 2015-06-28</span>
                  &nbsp;| <span id="projectVersion">Version: 1.6.3</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">
                          <a href="docs/toc.html" title="Table of Contents">Table of Contents</a>
            </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">
            <strong>Reference Library</strong>
          </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">

<div class="section"><h2>Reference Library<a name="Reference_Library"></a></h2>
<p>The Axis Project lives or fails based on its human resources.
Users and contributors alike help the project with ideas and
brainpower. A common foundation of knowledge is required to
effectively participate in this virtual community. The following is
a list of documents that we have found helpful to us and they maybe
helpful to you:</p>
<p>These resources are required reading for anybody contributing
source code to the project.</p>
<p><b><font>SOAP Specific Resources</font></b></p>
<p><b>SOAP W3C Specification</b> <a class="externalLink" href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/">1.1</a> and
<a class="externalLink" href="http://www.w3.org/TR/soap/">1.2</a><br />
Required reading.</p>
<p><b><a class="externalLink" href="http://www.w3.org/TR/SOAP-attachments">SOAP
Messaging with Attachments W3C Specification</a></b><br />
SOAP combined with MIME.</p>
<p><b><a class="externalLink" href="http://www.w3.org/TR/SOAP-dsig/">SOAP Security
Extensions: Digital Signature Specification</a></b><br />
Adding security to SOAP.</p>
<p><b>Other Specifications</b></p>
<p>Web Services Description Language (WSDL) <a class="externalLink" href="http://www.w3c.org/TR/wsdl.html">1.1</a> <a class="externalLink" href="http://www.w3.org/TR/wsdl20/">2.0</a></p>
<p>WS - Addressing <a class="externalLink" href="http://www.w3.org/Submission/ws-addressing/">submission</a>
<a class="externalLink" href="http://www.w3.org/TR/2005/WD-ws-addr-core-20050331/">1.0
(31st March,2005)</a></p>
<p><a class="externalLink" href="http://www.w3.org/TR/ws-policy/">
Web Services Policy Framework (WSPolicy)</a></p>
<p><a class="externalLink" href="http://www.ws-i.org/Profiles/BasicProfile-1.0.html">WS-I Basic
Profile Version 1.0</a></p>
<p><a class="externalLink" href="http://jcp.org/aboutJava/communityprocess/first/jsr101/index.html">
Java API for XML-based RPC (JAX-RPC)</a></p>
<p><a class="externalLink" href="http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/">SOAP Message
Transmission Optimization Mechanism</a></p>
<p><b>Other Resources</b></p>
<p><b><a class="externalLink" href="http://java.sun.com/docs/books/jls/index.html">The
Java Language Specification</a></b><br />
Written by the creators of the Java Programming Language, this
online book is considered by many to be the bible for programming
in Java. A must read.</p>
<p><b><a class="externalLink" href="http://java.sun.com/products/jdk/javadoc/index.html">Javadoc</a></b><br />

Javadoc is the automatic software documentation generator used by
Java, since it was first released. All code written for this
project must be documented using Javadoc conventions.</p>
<p><b><a class="externalLink" href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html">The
Java Code Conventions</a></b><br />
This Sun document specifies the de-facto standard way of formatting
Java code. All code written for this project must follow these
conventions.</p>
<p><a class="externalLink" href="http://svnbook.red-bean.com/en/1.1/svn-book.html"><b>Version
Control with SubVersion</b></a><br />
Written by Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael
Pilato. It provides details on SVN features.</p>
<p></p>

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