You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by ch...@apache.org on 2006/01/05 09:58:37 UTC

svn commit: r366125 [3/6] - in /webservices/site/trunk/targets/axis2: ./ 0_93/ 0_93/adb/ 0_93/adb/images/ 0_93/sec-conf/ 0_93/tools/ M1/ adb/ api/ sec-conf/ tools/

Added: webservices/site/trunk/targets/axis2/0_93/adb/adb-codegen-integration.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/0_93/adb/adb-codegen-integration.html?rev=366125&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/0_93/adb/adb-codegen-integration.html (added)
+++ webservices/site/trunk/targets/axis2/0_93/adb/adb-codegen-integration.html Thu Jan  5 00:55:38 2006
@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title> - Axis 2.0</title><style type="text/css" media="all">
+          @import url("../style/maven-base.css");
+          
+          @import url("../style/maven-theme.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis 2.0" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">Last published: 20 December 2005
+                <span class="separator">|</span> Doc for  0.94-dev
+                </div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis_2_0"><h5>Axis 2.0</h5><ul><li class="none"><a href="../index.html">Home</a></li><li class="expanded"><a href="../">Download Axis2</a><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="expanded"><a href="../">Getting Started with Axis2</a><ul><li class="none"><a href="../installationguide.html">Installation Guide</a></li><li class="none"><a href="../userguide.html">User Guide</a></li><li class="none"><a href="../webadminguide.html">Web Administration Guide</a></li></ul></li><li class="expanded"><a href="../docs.html">Additional Reference</a><ul><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2" class="externalLink" tit
 le="External Link">Axis2 Wiki</a></li><li class="none"><a href="../Axis2ArchitectureGuide.html">Architecture Guide</a></li><li class="none"><a href="../OMTutorial.html">AXIOM Tutorial</a></li><li class="none"><a href="../CodegenToolReference.html">Code Generation Tutorial</a></li><li class="none"><a href="../rest-ws.html">REST Support</a></li><li class="none"><a href="../mtom-guide.html">Handling Binary Data with Axis2</a></li><li class="none"><a href="../axis2config.html">Axis2 Configuration Guide</a></li><li class="none"><a href="../migration.html">Migrating from Axis 1.x</a></li><li class="none"><a href="../api.html">Online Java Docs</a></li><li class="none"><a href="../adb/adb-howto.html">ADB How-to</a></li><li class="none"><a href="../security-module.html">WS-Security How-to</a></li><li class="none"><a href="../otherTutorials.html">Other Tutorials</a></li></ul></li><li class="expanded"><a href="../overview.html">Get Invloved</a><ul><li class="none"><a href="../svn.html"
 >Checkout the Source</a></li><li class="none"><a href="../siteHowTo.html">Build the Site</a></li><li class="none"><a href="../guidelines.html">Developer Guidelines</a></li><li class="none"><a href="../refLib.html">Reference Library</a></li><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../faq.html">FAQ</a></li><li class="none"><a href="../thanks.html">Thanks</a></li></ul></li><li class="expanded"><a href="../">Project Information</a><ul><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="../issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><div id="legend"><h5>Legend</h5><ul><li class="externalLink">External Link</li><li class="newWindow">Opens in a new window</li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../images/logos/maven-button-1.
 png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="ADB_Integration_With_Axis2"></a><h2>ADB Integration With Axis2</h2><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>ADB Integration with Axis2 is simple and straightforward. Given the
+extension mechanism of the Axis2 code generator, the obvious choice for the
+integrator is to write an extension. The extension that is added to support
+ADB is the SimpleDBExtension and can be found in the extensions list of the
+codegen-config.properties file</p></div><div class="subsection"><a name="Things_to_Remember"></a><h3>Things to Remember</h3><ol>
+  <li>The SimpleDBExtension adds a prefix to the ADB packaging. This prefix
+    is curently adb, hence all the ADB generated code will be inside the
+    adb.* package. This prefix is used by the ant build file template and any
+    change done to this prefix needs to be carefully handled in order to keep
+    the ant build intact.</li>
+  <li>SimpleDBExtension is made to process requests only when the databinding
+    framework is specified as ADB (using the switch -d adb )</li>
+</ol></div></div><div class="section"></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2005, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file

Added: webservices/site/trunk/targets/axis2/0_93/adb/adb-howto.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/0_93/adb/adb-howto.html?rev=366125&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/0_93/adb/adb-howto.html (added)
+++ webservices/site/trunk/targets/axis2/0_93/adb/adb-howto.html Thu Jan  5 00:55:38 2006
@@ -0,0 +1,186 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>ADB  - Howto - Axis 2.0</title><style type="text/css" media="all">
+          @import url("../style/maven-base.css");
+          
+          @import url("../style/maven-theme.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis 2.0" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">Last published: 20 December 2005
+                <span class="separator">|</span> Doc for  0.94-dev
+                </div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis_2_0"><h5>Axis 2.0</h5><ul><li class="none"><a href="../index.html">Home</a></li><li class="expanded"><a href="../">Download Axis2</a><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="expanded"><a href="../">Getting Started with Axis2</a><ul><li class="none"><a href="../installationguide.html">Installation Guide</a></li><li class="none"><a href="../userguide.html">User Guide</a></li><li class="none"><a href="../webadminguide.html">Web Administration Guide</a></li></ul></li><li class="expanded"><a href="../docs.html">Additional Reference</a><ul><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2" class="externalLink" tit
 le="External Link">Axis2 Wiki</a></li><li class="none"><a href="../Axis2ArchitectureGuide.html">Architecture Guide</a></li><li class="none"><a href="../OMTutorial.html">AXIOM Tutorial</a></li><li class="none"><a href="../CodegenToolReference.html">Code Generation Tutorial</a></li><li class="none"><a href="../rest-ws.html">REST Support</a></li><li class="none"><a href="../mtom-guide.html">Handling Binary Data with Axis2</a></li><li class="none"><a href="../axis2config.html">Axis2 Configuration Guide</a></li><li class="none"><a href="../migration.html">Migrating from Axis 1.x</a></li><li class="none"><a href="../api.html">Online Java Docs</a></li><li class="none"><a href="../adb/adb-howto.html">ADB How-to</a></li><li class="none"><a href="../security-module.html">WS-Security How-to</a></li><li class="none"><a href="../otherTutorials.html">Other Tutorials</a></li></ul></li><li class="expanded"><a href="../overview.html">Get Invloved</a><ul><li class="none"><a href="../svn.html"
 >Checkout the Source</a></li><li class="none"><a href="../siteHowTo.html">Build the Site</a></li><li class="none"><a href="../guidelines.html">Developer Guidelines</a></li><li class="none"><a href="../refLib.html">Reference Library</a></li><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../faq.html">FAQ</a></li><li class="none"><a href="../thanks.html">Thanks</a></li></ul></li><li class="expanded"><a href="../">Project Information</a><ul><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="../issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><div id="legend"><h5>Legend</h5><ul><li class="externalLink">External Link</li><li class="newWindow">Opens in a new window</li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../images/logos/maven-button-1.
 png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="Axis2_Databinding_Framework"></a><h2>Axis2 Databinding Framework</h2><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>The objective of the Axis2Databinding framework is to provide a
+lightweight and simple schema compiler/ Java bean generator for Axis2. By no
+means it's to be a fully functional schema compiler like XMLBeans. This
+document aims to provide the architectural overview of the Axis2 Databinding
+Framework (referred to as ADB from here onwards) and be a guide to anyone who
+wants to use and modify ADB. Note that ADB is written in a fashion that
+allows it to be used as a standalone schema compiler and also to be extended
+to generate code for other languages.</p></div><div class="subsection"><a name="Architectural_Overview"></a><h3>Architectural Overview</h3><p>ADB is built on a modular architecture that allows it to utilize a pre
+configured writer depending on the configuration.The 'big block diagram' for
+the code generator architecture is depicted below</p><p><img src="images/ADB.jpg" alt=""></img></p><p>ADB utilizes the WS-commons XmlSchema library for reading the Schema. The
+object model for the schema comes in the form of a XmlSchema object. The
+schema compiler keeps an instance of the writer (in the default case it's the
+JavaBeanWriter) which actually writes the classes. The writers may use
+whatever the technique they prefer, as in the case of the JavaBeanWriter,
+they use an XSLT template. The SchemaCompiler also uses a typemapper object
+that tells it what classnames to be used for the QNames that it encounters.
+This type mapper is also part of the configuration and the users can override
+the default type mapper by overriding the property setting.</p></div><div class="subsection"><a name="Code_and_Dependencies"></a><h3>Code and Dependencies</h3><p>As explained in the previous section, the schema compiler depends on the
+WS-Commons XmlSchema library. The XSLT transformations are dependent on the
+JVM's DOMimplementation (either crimson or xerces) which means that the
+underlying JVM should be 1.4 or higher. Apart from that ADB has no special
+dependencies on any other special jar files. The code for the schema compiler
+is completely in the <strong>org.apache.axis2.schema.*</strong>
+package. This package resides in the codegen module of the Axis2 source
+tree.</p><p>Following are the important classes and files</p><ol>
+  <li>SchemaCompiler - The work horse that really compiles the schema into
+    classes.</li>
+  <li>BeanWriter - BeanWriter represents the kind of interface the
+    SchemaCompiler accepts as a writer. The writer needs to handle the actual
+    writing of the clasess</li>
+  <li>JavaBeanWriter - The default implementation of the BeanWriter
+  interface.</li>
+  <li>TypeMap - represents the interface that the schema compiler looks
+    towards to find classes</li>
+  <li>JavaTypeMap - the default implementation of the TypeMap</li>
+  <li>BeanTemplate.xsl - the XSLtemplate the JavaBeanWriter uses.</li>
+  <li>Schema-compile.properties - The property file for the schema
+  compiler</li>
+</ol><p>The easiest way to obtain the ADB binaries is to run the maven build for
+the codegen module. This will generate the codegen-{$version}.jar inside the
+target folder which is directly usable when the ADB schema compiler is
+required.</p></div><div class="subsection"><a name="Invoking_the_ADB_Code_Generator"></a><h3>Invoking the ADB Code Generator</h3></div><div class="subsection"><a name="As_a_standalone_schema_compiler"></a><h3>As a standalone schema compiler</h3><p>ADB comes with a mainclass XSD2Java that allows the schemas to be compiled
+just by giving the schema file reference.This main class is pretty much
+primitive and does not provide much control over the code generation process.
+This is bound to improve in the near future.</p><p>Code generator accepts the follwing parameters</p><ol>
+  <li>The Schema file name - This should be a complete file name pointing to
+    the local file system</li>
+  <li>The output folder name - This should be the name of a folder within the
+    local fileSystem</li>
+</ol><p>Since the main class has no validations built in, the compiler is likely
+to cough up an unexpected error message if these parameters are not supplied
+properly.</p></div><div class="subsection"><a name="Through_the_API"></a><h3>Through the API</h3><p>This is the only way to harness the full potential of the schema compiler.
+The current Axis2 integration of ADB happens through this API. The most
+important classes and methods of the Schema compiler are as follows.</p><ul>
+  <li>SchemaCompiler - Constructor
+    <p>The constructor of the schema compiler expects a CompilerOptions
+    object. This compilerOptions object is more of a holder for the
+    parameters that are passed to the SchemaCompiler. The only mandatory
+    parameter in the CompilerOptions is the output directory</p>
+  </li>
+  <li>SchemaCompiler - Compile(XMLSchema schema)
+    <p>The compile method to call for a single schema. The expected object is
+    a XMLSchema which is part of the XmlSchema library.</p>
+  </li>
+  <li>SchemaCompiler - Compile(List schemaList)
+    <p>Similar to the previous method but accepts a list of schemas instead
+    of one.</p>
+  </li>
+</ul><p>For a comprehensive code sample in invoking the schema compiler throught
+the API, the following classes would be helpful</p><ul>
+  <li><strong>org.apache.axis2.schema.XSD2Java</strong></li>
+  <li><strong>org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension</strong></li>
+</ul></div><div class="subsection"><a name="Deep_into_the_Generated_Code"></a><h3>Deep into the Generated Code</h3><p>When the schema compiler is invoked (oneway or another) it generates code
+depending on the following rules</p><ol>
+  <li>All named complex types become bean classes. Any attribute or element
+    encapsulated in this complex type will become a field in the generated
+    class. Note that the support for constructs other than the sequence and
+    all is not yet implemented.</li>
+  <li>All top level elements become classes. This is rather a questioning
+    feature but unless classes are generated for the top level elements the
+    handling of elements become difficult and messy!</li>
+  <li>SimpleType restrictions are handled by replacing the relevant type with
+    the basetype</li>
+</ol><p>Once the code is generated according to the rules it looks like the
+following. Consider the follwing piece of schema</p>
+    <div class="source"><pre>&lt;schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xmlns:tns="http://soapinterop.org/types" targetNamespace="http://soapinterop.org/types"&gt;
+&lt;import namespace="http://schemas.xmlsoap.org/soap/encoding/"/&gt;
+ &lt;complexType name="SOAPStruct"&gt;
+  &lt;sequence&gt;
+   &lt;element name="varString" type="xsd:string"/&gt;
+   &lt;element name="varInt" type="xsd:int"/&gt;
+   &lt;element name="varFloat" type="xsd:float"/&gt;
+  &lt;/sequence&gt;
+ &lt;/complexType&gt;
+&lt;element name="myElement" type="tns:SOAPStruct"/&gt;
+&lt;/schema&gt;
+
+</pre></div>
+  <p>This particular schema generates the following two classes in the
+designated package. This package is derived from the target Namespace of the
+schema.</p><ol>
+  <li>myElement.java</li>
+  <li>SOAPStruct.java</li>
+</ol><p>As explained earlier, SOAPStruct refers to the complexType. MyElement is
+the class that refers to the element.Just as expected, the SOAPStruct bean
+has getters and Setters for varString,varInt and varFloat which are a
+String,an int and a float respectively.myElement on the other hand has a
+single field representing the SOAPStruct object that it encapsulates.</p><p>The most important aspect of the generated code is that it encapsulates
+two methods for creation and serializing the beans.Note that to make this
+work, the generated beans implement the
+<strong>org.apache.axis2.databinding.ADBBean</strong> interface</p><p>The creator and reader methods look like the following</p><ul>
+  <li><pre>public javax.xml.stream.XMLStreamReader
+    getPullParser(javax.xml.namespace.QName qName)</pre>
+    <p>This method returns a pull parser that throws the right events for
+    this particular object. However there is a subtle difference between
+    element based classes and complexType based classes</p>
+    <ol>
+      <li>An element based bean class (like myElement.java in the example)
+        will ignore the passed in QName. instead of using the passed in QName
+        it'll utilize it's own QName which is embedded in the class under the
+        constant MY_QNAME,during the code generation.</li>
+      <li>A ComplexType based bean class(like SOAPStruct.java in the example)
+        will use the passed on QName to return an instance of the
+        ADBpullparser. This will effectively wrap the elements inside with an
+        element having the passed QName</li>
+    </ol>
+  </li>
+  <li><pre> public static [Object] 
+             parse(javax.xml.stream.XMLStreamReader reader) 
+             throws java.lang.Exception </pre>
+    <p>This method returns a populated instance of the class in
+    question.(Note that</p>
+    <pre>[Object]</pre>
+    will be replaced by the actual class that contains this method. Say for
+    SOAPStruct the method looks like
+    <pre>public static SOAPStruct 
+                parse(javax.xml.stream.XMLStreamReader reader) 
+                throws java.lang.Exception </pre>
+  </li>
+</ul></div><div class="subsection"><a name="An_Example_"></a><h3>An Example!</h3><p>Consider the follwing XML fragment</p>
+    <div class="source"><pre>&lt;myElement&gt;
+  &lt;varInt&gt;5&lt;/varInt&gt;
+  &lt;varString&gt;Hello&lt;/varString&gt;
+  &lt;varFloat&gt;3.3&lt;/varFloat&gt;
+&lt;/myElement&gt;
+
+</pre></div>
+  <p>Enthusiastic readers might already have figured out that this piece of XML
+complies to the Schema mentioned above. The following piece of code shows how
+to build a populated instance of myElement with this fragment of XML</p><p></p>
+    <div class="source"><pre>XMLStreamReader reader = XMLInputFactory.newInstance().
+                                createXMLStreamReader(
+                                        new ByteArrayInputStream(xmlString.getBytes()));
+myElement elt = myElement.parse(reader);
+
+</pre></div>
+  <p>Although this example takes on the tedious effort of creating a reader out
+of the String, inside the Axis2 environment an XMLStreamReader can be
+direclty asked from the OMElement! Hence the parse method becomes a hugh
+advantage for hassle free object creation.</p><p>Similarly the reader obtained from the object can also be utilized as
+needed. The following code fragment shows how to utilize the getPullParser
+method to create an OMElement</p><p></p>
+    <div class="source"><pre>XMLStreamReader reader = elt.getPullParser(null);
+OMElement omElt =  new StAXOMBuilder(reader).getDocumentElement();
+
+</pre></div>
+  <p>That's all to it! If you are interested in learning more on ADB the
+following documents may also be helpful</p><p></p><ul>
+  <li><a href="adb-tweaking.html">Tweaking the ADB code generator</a></li>
+  <li><a href="adb-codegen-integration.html">ADB and Axis2
+  Integration</a></li>
+</ul></div><div class="subsection"><a name="Known_Limitations"></a><h3>Known Limitations</h3><p>
+ADB is meant to be a 'Simple' databinding framework and was not meant to
+compile all types of schemas. The following limitations are the most
+highlighted.
+<ol>
+  <li>Complex Extensions and Restrictions are not supported.</li>
+  <li>Choice (Particle) is not supported</li>
+  <li>SimpleType Unions are not supported</li>
+</ol></p></div></div><div class="section"></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2005, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file

Added: webservices/site/trunk/targets/axis2/0_93/adb/adb-tweaking.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/0_93/adb/adb-tweaking.html?rev=366125&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/0_93/adb/adb-tweaking.html (added)
+++ webservices/site/trunk/targets/axis2/0_93/adb/adb-tweaking.html Thu Jan  5 00:55:38 2006
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title> - Axis 2.0</title><style type="text/css" media="all">
+          @import url("../style/maven-base.css");
+          
+          @import url("../style/maven-theme.css");</style><link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis 2.0" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">Last published: 20 December 2005
+                <span class="separator">|</span> Doc for  0.94-dev
+                </div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis_2_0"><h5>Axis 2.0</h5><ul><li class="none"><a href="../index.html">Home</a></li><li class="expanded"><a href="../">Download Axis2</a><ul><li class="none"><a href="../download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="expanded"><a href="../">Getting Started with Axis2</a><ul><li class="none"><a href="../installationguide.html">Installation Guide</a></li><li class="none"><a href="../userguide.html">User Guide</a></li><li class="none"><a href="../webadminguide.html">Web Administration Guide</a></li></ul></li><li class="expanded"><a href="../docs.html">Additional Reference</a><ul><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2" class="externalLink" tit
 le="External Link">Axis2 Wiki</a></li><li class="none"><a href="../Axis2ArchitectureGuide.html">Architecture Guide</a></li><li class="none"><a href="../OMTutorial.html">AXIOM Tutorial</a></li><li class="none"><a href="../CodegenToolReference.html">Code Generation Tutorial</a></li><li class="none"><a href="../rest-ws.html">REST Support</a></li><li class="none"><a href="../mtom-guide.html">Handling Binary Data with Axis2</a></li><li class="none"><a href="../axis2config.html">Axis2 Configuration Guide</a></li><li class="none"><a href="../migration.html">Migrating from Axis 1.x</a></li><li class="none"><a href="../api.html">Online Java Docs</a></li><li class="none"><a href="../adb/adb-howto.html">ADB How-to</a></li><li class="none"><a href="../security-module.html">WS-Security How-to</a></li><li class="none"><a href="../otherTutorials.html">Other Tutorials</a></li></ul></li><li class="expanded"><a href="../overview.html">Get Invloved</a><ul><li class="none"><a href="../svn.html"
 >Checkout the Source</a></li><li class="none"><a href="../siteHowTo.html">Build the Site</a></li><li class="none"><a href="../guidelines.html">Developer Guidelines</a></li><li class="none"><a href="../refLib.html">Reference Library</a></li><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../faq.html">FAQ</a></li><li class="none"><a href="../thanks.html">Thanks</a></li></ul></li><li class="expanded"><a href="../">Project Information</a><ul><li class="none"><a href="../mail-lists.html">Mailing Lists</a></li><li class="none"><a href="../team-list.html">Project Team</a></li><li class="none"><a href="../issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><div id="legend"><h5>Legend</h5><ul><li class="externalLink">External Link</li><li class="newWindow">Opens in a new window</li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="../images/logos/maven-button-1.
 png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="ADB_Tweaking_Guide"></a><h2>ADB Tweaking Guide</h2><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>ADB is written with future extensions in mind, with a clear and flexible
+way to extend or modify it's functionality. This document explains available
+mechanisms to extend ADB and possibly adopt it to compile schemas to support
+other languages.</p></div><div class="subsection"><a name="Know_the_Configuration"></a><h3>Know the Configuration</h3><p>The configuration for the ADB framework is in the
+<strong>schema-compile.properties</strong> file found in the
+<strong>org.apache.axis2.databinding.schema</strong> package. This properties
+file has the following important properties</p><ul>
+  <li>schema.bean.writer.class
+    <p>This is the writer class. This is used by the schema compiler to write
+    the beans and should implement the
+    <strong>org.apache.axis2.schema.writer.BeanWriter</strong>
+    inteface. The schema compiler delegates the bean writing task to the
+    specified instance of the BeanWriter.</p>
+  </li>
+  <li>schema.bean.writer.template
+    <p>This specifies the template to be used in the BeanWriter. The
+    beanWriter author is free to use any mechanism to write the classes but
+    the default mechanism is to use a xsl template. This property may be left
+    blank if the BeanWriter implementation does not require a template.</p>
+  </li>
+  <li>schema.bean.typemap
+    <p>This is the type map to be used by the schema compiler. it should be
+    an implementation of the
+    <strong>org.apache.axis2.schema.typemap</strong> interface.
+    The default typemap implementation encapsulates a hashmap with type QName
+    to Class name string mapping.</p>
+  </li>
+</ul></div><div class="subsection"><a name="The_First_Tweak_-_Generate_Plain_Java_Beans"></a><h3>The First Tweak - Generate Plain Java Beans</h3><p>The first, most simple tweak for the code generator could be to switch to
+plain bean generation. The default behavior of the ADB framework is to
+generate ADBBeans, but most users, if they want to use ADB as a standalone
+compiler, would love to have plain java beans. This can infact be done by
+simply changing the template used.</p><p>The template for plain java beans is already available in the
+<strong>org.apache.axis2.schema.template </strong>package. To
+make this work replace the
+<strong>/org/apache/axis2/databinding/schema/template/ADBBeanTemplate.xsl
+</strong>with the
+<strong>/org/apache/axis2/databinding/schema/template/PlainBeanTemplate.xsl
+</strong>in the schema-compile.properties<strong>.</strong> Congratualtions!
+You just tweaked ADB to generate plain java beans.</p><p>To generate custom formats, the templates need to be modified. The schema
+for the xml generated by the JavaBeanWriter is availble in the source tree
+under the Other directory in the codegen module. Advanced users with
+knowledge of XSLT can easily modify the templates to generate code in their
+own formats.</p></div><div class="subsection"><a name="A_More_Advanced_Tweak_-_Generate_Code_for_Another_Language"></a><h3>A More Advanced Tweak - Generate Code for Another Language</h3><p>To generate code for another language, there are two main components are
+to be written.</p><ul>
+  <li>The BeanWriter
+    <p>Implement the BeanWriter interface for this class. A nice example is
+    the
+    <strong>org.apache.axis2.schema.writer.JavaBeanWriter</strong>
+    which has a lot of reusable code. Infact if the language is OOP based
+    (such as C# or even C++), one would even be able to extend the
+    JavaBeanWriter itself.</p>
+  </li>
+  <li>The TypeMap
+    <p>Implement the TypeMap interface for this class. The
+    <strong>org.apache.axis2.schema.typemap.JavaTypeMap</strong>
+    class is a simple implementation for the typemap where the QName to class
+    name strings are kept inside a hashmap instance. This technique is fairly
+    sufficient and only the type names would need to change to support
+    another language.</p>
+  </li>
+</ul><p>Surprisngly this is enough to have other language support for ADB. Change
+the configuration and you are ready to generate code for other lanuages!</p></div></div><div class="section"></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2005, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file

Added: webservices/site/trunk/targets/axis2/0_93/adb/images/ADB.jpg
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/0_93/adb/images/ADB.jpg?rev=366125&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/site/trunk/targets/axis2/0_93/adb/images/ADB.jpg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/site/trunk/targets/axis2/0_93/axis2config.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/0_93/axis2config.html?rev=366125&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/0_93/axis2config.html (added)
+++ webservices/site/trunk/targets/axis2/0_93/axis2config.html Thu Jan  5 00:55:38 2006
@@ -0,0 +1,333 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Axis2 Configuration Documents - Axis 2.0</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis 2.0" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">Last published: 20 December 2005
+                <span class="separator">|</span> Doc for  0.94-dev
+                </div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis_2_0"><h5>Axis 2.0</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="">Download Axis2</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="expanded"><a href="">Getting Started with Axis2</a><ul><li class="none"><a href="installationguide.html">Installation Guide</a></li><li class="none"><a href="userguide.html">User Guide</a></li><li class="none"><a href="webadminguide.html">Web Administration Guide</a></li></ul></li><li class="expanded"><a href="docs.html">Additional Reference</a><ul><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2" class="externalLink" title="External Link">Axis2
  Wiki</a></li><li class="none"><a href="Axis2ArchitectureGuide.html">Architecture Guide</a></li><li class="none"><a href="OMTutorial.html">AXIOM Tutorial</a></li><li class="none"><a href="CodegenToolReference.html">Code Generation Tutorial</a></li><li class="none"><a href="rest-ws.html">REST Support</a></li><li class="none"><a href="mtom-guide.html">Handling Binary Data with Axis2</a></li><li class="none"><a href="axis2config.html">Axis2 Configuration Guide</a></li><li class="none"><a href="migration.html">Migrating from Axis 1.x</a></li><li class="none"><a href="api.html">Online Java Docs</a></li><li class="none"><a href="adb/adb-howto.html">ADB How-to</a></li><li class="none"><a href="security-module.html">WS-Security How-to</a></li><li class="none"><a href="otherTutorials.html">Other Tutorials</a></li></ul></li><li class="expanded"><a href="overview.html">Get Invloved</a><ul><li class="none"><a href="svn.html">Checkout the Source</a></li><li class="none"><a href="siteHowT
 o.html">Build the Site</a></li><li class="none"><a href="guidelines.html">Developer Guidelines</a></li><li class="none"><a href="refLib.html">Reference Library</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="thanks.html">Thanks</a></li></ul></li><li class="expanded"><a href="">Project Information</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><div id="legend"><h5>Legend</h5><ul><li class="externalLink">External Link</li><li class="newWindow">Opens in a new window</li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="./images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><
 p>In Axis2 there are three kinds of configuration files to configure the system. 
+First one configuration file is to configure whole system, second one is to 
+configure a service and the third one is to configure a module. 
+<ul>
+<li><a href="#global">Global Configuration (axis2.xml)</a></li>
+<li><a href="#service">Service Configuration (services.xml)</a></li>
+<li><a href="#module">Module Configuration (module.xml)</a></li>
+</ul>
+</p><br></br><font color="blue"><b>Global Configuration </b></font><li><a name="global"></a>Writing axis2.xml</li><p>
+  All the configuration that requires starting axis2 is obtained from axis2.xml. 
+	The way of specifying them is very simple and easy. The document is all about 
+	the proper way of specifying the configurations in axis2.xml.
+	There are six top level elements that can be seen in the configuration 
+	file and those can be listed as follows;
+</p><ul>
+<li>Parameter</li>
+<li>Transport Receiver</li>
+<li>Transport Sender</li>
+<li>Phase Order</li>
+<li>Module References</li>
+<li>Listeners (Observers)</li>
+</ul><p><b>Parameter </b>
+<br></br>
+In axis2 a parameter is nothing but name value pair, each and every top level 
+parameter available in the axis2.xml (direct sub elements of root element) will 
+be transformed into properties in AxisConfiguration. Therefore the top level 
+parameters in configuration document can be accessed via AxisConfiguration in 
+the running system. The correct way of defining a parameter looks like what is shown below;
+
+    <div class="source"><pre><pre> 
+  &lt;parameter name="name of the parameter" &gt;parameter value &lt;/parameter&gt;
+</pre></pre></div>
+  
+</p><p>
+<b>Transport Receiver</b><br></br>
+Depending on the underline transport that axis going to be run , 
+need to have different transport receivers so the way of adding 
+them to the system can be done as follows;
+
+    <div class="source"><pre><pre> 
+&lt;transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer"&gt;
+        &lt;parameter name="port" &gt;6060&lt;/parameter&gt;
+ &lt;/transportReceiver&gt; 
+ </pre></pre></div>
+  
+
+The above elements shows the way of defining transport receivers in axis2.xml , 
+here name attribute of the 'transportReceiver' element is the name of transport
+it can be http, tcp , smtp , commonshttp stc , and when the system starts up or 
+when setting transport at the client side one can use these transport names to
+ load the appropriate transport. Class attribute is to specify actual java 
+ class which implements required interfaces for the transport. Any transport 
+ can have zero or more parameters, and if there are any, then those parameters 
+ can be accessed via the corresponding transport receiver. 
+</p><p>
+<b>Transport Senders</b><br></br>
+As same as transport receivers it is possible to register transport senders in the 
+system, and latter at the run time those senders can be used to send the messages. 
+As an example consider Axis2 running under tomcat, then axis can use TCP transport 
+senders to send message rather than HTTP. The way of specifying transport senders is as follows:
+
+    <div class="source"><pre><pre> 
+&lt;transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"&gt;
+        &lt;parameter name="PROTOCOL" locked="xsd:false"&gt;HTTP/1.0&lt;/parameter&gt;
+ &lt;/transportSender&gt; 
+ </pre></pre></div>
+  
+name: Name of the transport (it is possible to have http and http1 as transport name)
+Class: Implementation class of the corresponding transport. 
+
+As same as transport receivers, transport senders can have zero or more parameters, 
+and if there is any then it can be accessed via corresponding transport sender. 
+</p><p>
+<b>Phase Order</b><br></br> 
+The specifying order of phases in execution chain has to be done using phase 
+order element and it will be look like below;
+
+    <div class="source"><pre><pre>
+&lt;phaseOrder type="inflow"&gt;
+         &lt;phase name="TransportIn"/&gt;
+         ?????????????
+         ??????????????.
+&lt;/phaseOrder&gt;   
+</pre></pre></div>
+  
+
+The most interesting thing is that you can add handlers here as well , if you want to add a handler which should go in to that phase you can directly do that by adding a handler element into it . In addition to that there is no any hard coding stuffs for handler  chain in anywhere in Axis2 (at any Axis*) , so all theose configuration are alos done here in phase order element. The complete configuration will look like as follows;
+
+
+    <div class="source"><pre><pre>
+&lt;phaseOrder type="inflow""&gt;
+        &lt;!--  System pre defined phases       --"&gt;
+        &lt;phase name="TransportIn"/"&gt;
+        &lt;phase name="PreDispatch"/"&gt;
+        &lt;phase name="Dispatch""&gt;
+            &lt;handler name="AddressingBasedDispatcher"
+                     class="org.apache.axis2.engine.AddressingBasedDispatcher""&gt;
+                &lt;order phase="Dispatch"/"&gt;
+            &lt;/handler"&gt;
+             &lt;handler name="RequestURIBasedDispatcher"
+                     class="org.apache.axis2.engine.RequestURIBasedDispatcher""&gt;
+                &lt;order phase="Dispatch"/"&gt;
+            &lt;/handler"&gt;
+             &lt;handler name="SOAPActionBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPActionBasedDispatcher""&gt;
+                &lt;order phase="Dispatch"/"&gt;
+            &lt;/handler"&gt;
+             &lt;handler name="SOAPMessageBodyBasedDispatcher"
+                     class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher""&gt;
+                &lt;order phase="Dispatch"/"&gt;
+            &lt;/handler"&gt;
+        &lt;/phase"&gt;
+        &lt;phase name="PostDispatch""&gt;
+             &lt;handler name="DispatchPostConditionsEvaluator"
+                     class="org.apache.axis2.engine.DispatchingChecker""&gt;
+                &lt;order phase="PostDispatch"/"&gt;
+            &lt;/handler"&gt;
+            &lt;handler name="InstanceDispatcher"
+                     class="org.apache.axis2.engine.InstanceDispatcher""&gt;
+                &lt;order phase="PostDispatch"/"&gt;
+            &lt;/handler"&gt;
+            &lt;handler name="SOAPProcessingModelChecker"
+                     class="org.apache.axis2.engine.SOAPProcessingModelChecker""&gt;
+                &lt;order phase="PostDispatch"/"&gt;
+            &lt;/handler"&gt;
+        &lt;/phase"&gt;
+        &lt;!--  System pre defined phases       --"&gt;
+        &lt;!--   After Postdispatch phase module author or or service author can add any phase he want      --"&gt;
+        &lt;phase name="userphase1"/"&gt;
+    &lt;/phaseOrder"&gt;
+    &lt;phaseOrder type="outflow""&gt;
+        &lt;!--      user can add his own phases to this area  --"&gt;
+        &lt;phase name="userphase1"/"&gt;
+        &lt;!--system predefined phase--"&gt;
+        &lt;!--these phase will run irrespective of the service--"&gt;
+        &lt;phase name="PolicyDetermination"/"&gt;
+        &lt;phase name="MessageOut"/"&gt;
+    &lt;/phaseOrder"&gt;
+    &lt;phaseOrder type="INfaultflow""&gt;
+        &lt;!--      user can add his own phases to this area  --"&gt;
+        &lt;phase name="userphase1"/"&gt;
+    &lt;/phaseOrder"&gt;
+    &lt;phaseOrder type="Outfaultflow""&gt;
+        &lt;!--      user can add his own phases to this area  --"&gt;
+        &lt;phase name="userphase1"/"&gt;
+        &lt;phase name="PolicyDetermination"/"&gt;
+        &lt;phase name="MessageOut"/"&gt;
+    &lt;/phaseOrder"&gt;
+</pre></pre></div>
+  
+
+type: the attribute represent type of the flow and which can only be one of the following
+</p><ul>
+<li>inflow</li>
+<li>outflow</li>
+<li>INfaultflow</li>
+<li>Outfaultflow</li>
+</ul><p>In addition to that only child element allowed inside pahseOrder is phase 
+element, which represents available phases in the execution chain.  
+The way of specifying phase inside phaseOrder has to be done as follows;
+
+    <div class="source"><pre><pre>
+ &lt;phase name="TransportIn"/&gt;
+</pre></pre></div>
+  
+name: Name of the phase.
+<br></br>
+There are number of things that one has to keep in mind when changing pahseOrder, 
+<ul>
+<ol>there are phases called system pre-defined phases in all four flows;</ol>
+<ol>You are not allowed change those  , and you can add new phase after system pre-defined phase</ol>If you closely look at the default axis2.xml can clearly identify that.  
+</ul>
+</p><p>
+<b>Module References</b><br></br>
+If you want to engage a module system wide you can do it by adding top 
+level module element in axis2.xml.  It should be look like following:
+
+    <div class="source"><pre><pre>
+&lt;module ref="addressing"/&gt;  
+</pre></pre></div>
+  
+ref: the module name which is going to be engage, system wide.
+
+Listeners (Observers)
+In Axis2 AxisConfiguration is observable so that one can register observers into 
+that, and they will be automatically informed whenever a change occurs in 
+AxisConfiuration. In the current implementation the observers are informed of the following events
+
+<ul>
+<li>Deploying a Service</li>
+<li>Removing a service</li>
+<li>Changing a service</li> 
+</ul>
+Registering Observers is very useful for additional features such as RSS feed 
+generation which will provide service information to subscribers. The correct
+ way of registering observers should be like below;
+
+    <div class="source"><pre><pre>
+&lt;listener class="org.apache.axis2.ObserverIMPL"&gt;
+    &lt;parameter name="RSS_URL" &gt;http://127.0.0.1/rss&lt;/parameter&gt;
+  &lt;/listener&gt;
+</pre></pre></div>
+  
+class: Represent an Implementation class of observer, and it should be note
+ that the implementation class should implement AxisObserver interface,
+  and the class has to be available in the classpath. 
+</p><br></br><font color="blue"><b>Service Configuration</b></font><li><a name="service"></a>Writing service.xml</li><p>
+The description of service is specified using services.xml, each service archive 
+file need to have services.xml in order to be a valid service. And which has to be 
+available in META-INF directory of the archive file. 
+<br></br>
+A very simple services.xml is shown below:
+
+    <div class="source"><pre><pre>
+&lt;service &gt;
+    &lt;description&gt; The description of the service  &lt;/description&gt;
+
+    &lt;parameter name="ServiceClass"     locked="xsd:false"&gt;org.apache.axis2.sample.echo.EchoImpl&lt;/parameter&gt;
+    
+    &lt;operation name="echoString"&gt;
+        &lt;module ref=" a module name "/&gt;
+        &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
+    &lt;/operation&gt;
+  &lt;/service&gt;
+</pre></pre></div>
+  
+
+service name: the service name will be the name of the archive file.
+<br></br>
+description: This is an optional element if you want to display any description 
+about the service via Axis2 web-admin module then the description can be specified here. 
+</p><p>
+<b>Parameter:</b><br></br>
+service.xml can have any number of top level parameters and all the specified 
+parameters will be transformed into service properties in corresponding ServiceDescrption. 
+There is a compulsory parameter in a service.xml called ServiceClass which specify the 
+java class which really does the job and the class will be loaded by MessageReceiver.
+</p><p>
+<b>Handler</b><br></br>
+Handler element consists of compulsory and optional attribute and the way of defining a handler will be look like follows;
+
+    <div class="source"><pre><pre>
+&lt;handler name="handler1" class="handlerClass "&gt;
+            &lt;order phase="userphase1" /&gt;
+ &lt;/handler&gt;
+</pre></pre></div>
+  
+
+<b><i>Compulsory attributes</i></b> <br></br>
+name: name of the handler<br></br>
+nlass: handler implementation class<br></br>
+phase: name of the phase that the handler should stay in the execution chain
+<br></br><br></br>
+<i><b>Optional attributes :</b></i><br></br>
+phaseLast: to indicate the handler is last handler of the phase<br></br>
+phaseFirst: to indicate the handler is first handler of the phase.<br></br>
+before : the handler should be invoked before the handler specified by before handler<br></br>
+after:  the handler should be invoked after the handler specified by after handler<br></br>
+</p><p>
+<b>Operations</b><br></br>
+All the operations you are going to exposeby the service has to be indicated in the service.xml and the correct way of specifying that should be as follows:
+ 
+    <div class="source"><pre><pre>
+    &lt;operation name="echoString"&gt;
+        &lt;module ref=" a module name "/&gt;
+        &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
+    &lt;/operation&gt;
+</pre></pre></div>
+  
+Only compulsory attribute here is name, which represent the operation name that is going to be exposed. Any operation can contains module references, any number of parameters. The most interesting is that one can register custom message receiver per operation, then the registered message receiver will be the message receiver for the corresponding operation. If one does not specify the message receiver then the default message receiver will do the job. 
+</p><br></br><font color="blue"><b>Module Configuration</b></font><li><a name="module"></a>Writing module.xml</li><p>
+The description of module is specified using module.xml, each module archive file need to have module.xml in order to be a valid module. And which has to be available in META-INF directory of the archive file. 
+<br></br>
+A very simple module.xml is shown below:
+
+    <div class="source"><pre><pre>
+&lt;module name="module1" class="org.apache.module.Module1Impl"&gt;
+    &lt;inflow&gt;
+        ????????.
+    &lt;/inflow&gt;
+    &lt;outflow&gt;
+       ?????????
+    &lt;/outflow&gt;
+
+    &lt;Outfaultflow&gt;
+       ?????????..
+    &lt;/Outfaultflow&gt;
+
+    &lt;INfaultflow&gt;
+      ??????????.
+    &lt;/INfaultflow&gt;
+
+    &lt;operation name="creatSeq" mep="MEP_URI_IN_OUT"&gt;
+        &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
+        &lt;parameter name="para1" locked="xsd:true"&gt;10&lt;/parameter&gt;
+    &lt;/operation&gt;
+&lt;/module&gt;
+</pre></pre></div>
+  
+
+name: This is a compulsory attribute and which indicates the name of the module
+<br></br>
+class: This is an optional attribute which indicate module implementation class, a module may or may not contain module implementation class since the module can also be a collection of handlers. If a module contains an implementation class which implements the org.apache.axis2.modules.Module inteface where at the deployment time its init(); method will be called. 
+</p><p>
+<b>parameter:</b>
+Module can contains any number of parameters and all the listed parameters in the module.xml will be transformed into corresponding ModuleDescription of the module. 
+</p><b>Flow :</b><br></br><p>
+It is possible to add handlers into a flow directly form service.xml rather than 
+engaging a modules and the way of doing that is through flow elements. 
+It is possible to add any number of handlers into a flow and those handlers 
+will be available in corresponding operations flows in the service 
+(inflow consist of two parts, one part is up to post dispatch phase and other 
+part is consisting of operation handlers)  
+</p><br></br><p>
+There are four types of valid flows that can be available in service.xml,
+ and the adding the handles into them can be done by following the above procedure. 
+</p><br></br><p>
+Valid flows:
+<ul>
+<li>Inflow</li>
+<li>outflow</li>
+<li>INfaultflow</li>
+<li>Outfaultflow</li>
+</ul></p><p>
+<b>operations</b>
+If a module wants to add an operation when it is engaged into a service it can be done by adding operation tag in module.xml and the way of specifying the operation is same as operation in service.xml.  
+
+</p><br></br></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2005, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file

Added: webservices/site/trunk/targets/axis2/0_93/axis2tools.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/0_93/axis2tools.html?rev=366125&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/0_93/axis2tools.html (added)
+++ webservices/site/trunk/targets/axis2/0_93/axis2tools.html Thu Jan  5 00:55:38 2006
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Axis2 tools - Axis 2.0</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis 2.0" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">Last published: 20 December 2005
+                <span class="separator">|</span> Doc for  0.94-dev
+                </div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis_2_0"><h5>Axis 2.0</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="">Download Axis2</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="expanded"><a href="">Getting Started with Axis2</a><ul><li class="none"><a href="installationguide.html">Installation Guide</a></li><li class="none"><a href="userguide.html">User Guide</a></li><li class="none"><a href="webadminguide.html">Web Administration Guide</a></li></ul></li><li class="expanded"><a href="docs.html">Additional Reference</a><ul><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2" class="externalLink" title="External Link">Axis2
  Wiki</a></li><li class="none"><a href="Axis2ArchitectureGuide.html">Architecture Guide</a></li><li class="none"><a href="OMTutorial.html">AXIOM Tutorial</a></li><li class="none"><a href="CodegenToolReference.html">Code Generation Tutorial</a></li><li class="none"><a href="rest-ws.html">REST Support</a></li><li class="none"><a href="mtom-guide.html">Handling Binary Data with Axis2</a></li><li class="none"><a href="axis2config.html">Axis2 Configuration Guide</a></li><li class="none"><a href="migration.html">Migrating from Axis 1.x</a></li><li class="none"><a href="api.html">Online Java Docs</a></li><li class="none"><a href="adb/adb-howto.html">ADB How-to</a></li><li class="none"><a href="security-module.html">WS-Security How-to</a></li><li class="none"><a href="otherTutorials.html">Other Tutorials</a></li></ul></li><li class="expanded"><a href="overview.html">Get Invloved</a><ul><li class="none"><a href="svn.html">Checkout the Source</a></li><li class="none"><a href="siteHowT
 o.html">Build the Site</a></li><li class="none"><a href="guidelines.html">Developer Guidelines</a></li><li class="none"><a href="refLib.html">Reference Library</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="thanks.html">Thanks</a></li></ul></li><li class="expanded"><a href="">Project Information</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><div id="legend"><h5>Legend</h5><ul><li class="externalLink">External Link</li><li class="newWindow">Opens in a new window</li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="./images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><
 a name="Axis2_Tools"></a><h2>Axis2 Tools</h2><div class="subsection"><a name="Code_Generation"></a><h3>Code Generation</h3><ul>
+  <li>Axis2 Code Generation Reference [<a href="CodegenToolReference.html">html</a>] [<a href="CodegenToolReference.pdf">pdf</a>]</li>
+</ul><p>
+Note - The Eclipse plug-ins are not distributed with this release
+
+</p><p>
+</p></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2005, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file

Added: webservices/site/trunk/targets/axis2/0_93/http-transport.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/0_93/http-transport.html?rev=366125&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/0_93/http-transport.html (added)
+++ webservices/site/trunk/targets/axis2/0_93/http-transport.html Thu Jan  5 00:55:38 2006
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>HTTP transports - Axis 2.0</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis 2.0" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">Last published: 20 December 2005
+                <span class="separator">|</span> Doc for  0.94-dev
+                </div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis_2_0"><h5>Axis 2.0</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="">Download Axis2</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="expanded"><a href="">Getting Started with Axis2</a><ul><li class="none"><a href="installationguide.html">Installation Guide</a></li><li class="none"><a href="userguide.html">User Guide</a></li><li class="none"><a href="webadminguide.html">Web Administration Guide</a></li></ul></li><li class="expanded"><a href="docs.html">Additional Reference</a><ul><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2" class="externalLink" title="External Link">Axis2
  Wiki</a></li><li class="none"><a href="Axis2ArchitectureGuide.html">Architecture Guide</a></li><li class="none"><a href="OMTutorial.html">AXIOM Tutorial</a></li><li class="none"><a href="CodegenToolReference.html">Code Generation Tutorial</a></li><li class="none"><a href="rest-ws.html">REST Support</a></li><li class="none"><a href="mtom-guide.html">Handling Binary Data with Axis2</a></li><li class="none"><a href="axis2config.html">Axis2 Configuration Guide</a></li><li class="none"><a href="migration.html">Migrating from Axis 1.x</a></li><li class="none"><a href="api.html">Online Java Docs</a></li><li class="none"><a href="adb/adb-howto.html">ADB How-to</a></li><li class="none"><a href="security-module.html">WS-Security How-to</a></li><li class="none"><a href="otherTutorials.html">Other Tutorials</a></li></ul></li><li class="expanded"><a href="overview.html">Get Invloved</a><ul><li class="none"><a href="svn.html">Checkout the Source</a></li><li class="none"><a href="siteHowT
 o.html">Build the Site</a></li><li class="none"><a href="guidelines.html">Developer Guidelines</a></li><li class="none"><a href="refLib.html">Reference Library</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="thanks.html">Thanks</a></li></ul></li><li class="expanded"><a href="">Project Information</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><div id="legend"><h5>Legend</h5><ul><li class="externalLink">External Link</li><li class="newWindow">Opens in a new window</li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="./images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><
 a name="HTTP_transports"></a><h2>HTTP transports</h2><div class="subsection"><a name="CommonsHTTPTransportSender"></a><h3>CommonsHTTPTransportSender</h3><p>This is the default transport sender that is used in Server API as well as
+Client API and as the name implies its based on commons-httpclient-3.0-rc3.
+In order to acquire the maximum flexibility, this sender has implemented POST
+interface and GET interface. GET interface is provided to help axis2 in
+supporting REST</p><p>Chunking support and KeepAlive support also integrated via the facilities
+provided by commons-httpclient along with HTTP 1.1 support.</p><p>&lt;transportSender/&gt; element is used to define transport senders in
+the axis2.xml as follows:</p>
+    <div class="source"><pre>
+
+</pre></div>
+  <p>Above code snippet shows the complete configuration of the transport
+sender. &lt;parameter/&gt; element introduces the additional parameters that
+should be compliant with the sender. HTTP PROTOCOL version sets as HTTP/1.0
+or HTTP/1.1. Default version is HTTP/1.1. It should be noted that chunking
+support is available only for HTTP/1.1. Thus, the user should be careful in
+setting the "chunked" property, to use it only with version 1.1. KeepAlive
+property is default in version 1.1.</p><p>These are the only parameters that are available from deployment. Other
+parameters such as character encoding style (UTF-8, UTF-16 etc) etc, are
+provided via MessageContext.</p></div><div class="subsection"><a name="HTTPS_support"></a><h3>HTTPS support</h3><p>
+It should be noted that CommonsHTTPTransportSender can be used to communicate
+over https. <code></code>
+    <div class="source"><pre>&lt;transportSender name="" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"&gt;        &lt;parameter name="PROTOCOL" locked="false"&gt;HTTP/1.1&lt;/parameter&gt;        &lt;parameter name="Transfer-Encoding"&gt;chunked&lt;/parameter&gt;&lt;/transportSender&gt;</pre></div>
+  
+Please note that https works only when the server does not expect to
+authenticate the clients where the server has the clients' public keys in the
+its trust store.
+
+</p></div><div class="subsection"><a name="Timeout_Configuraiton"></a><h3>Timeout Configuraiton</h3><p>There are two timeout exist in transport level. They are called, Socket
+timeout and Connection timeout. This can be configured in deployment time or
+in run time. In depoyment time, user has to add the following lines in
+axis2.xml.</p><p>For Socket timoeout:</p>
+    <div class="source"><pre>&lt;parameter name="SO_TIMEOUT" locked="false"&gt;some_int_value&lt;/parameter&gt;
+
+For Connection timeout: 
+
+&lt;parameter name="CONNECTION_TIMEOUT" locked="false"&gt;some_int_value&lt;/parameter&gt;
+
+In runtime it's set as follows in the Stub.
+</pre></div>
+  
+    <div class="source"><pre><pre>...
+Options options = new Options();
+options.setProperty(HTTPConstants.SO_TIMEOUT,new Integer(some_int_value));
+options.setProperty(HTTPConstants.CONNECTION_TIMEOUT,new Integer(some_int_value));
+...</pre>
+</pre></div>
+  <p></p></div><div class="subsection"><a name="Proxy_and_NTLM_Authentication"></a><h3>Proxy and NTLM Authentication</h3><p>HttpClient support "Basic, Digest and NTLM" authentication schemes. These
+are used to authenticate with http servers and proxies.</p><p>Axis2 uses deployment time and runtime mechanisms to authenticate proxies.
+In deployment time, user has to change the Axis2.xml as follows. This
+authentication will be available in http and https.</p>
+    <div class="source"><pre>&lt;transportSender name="" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"&gt;
+        &lt;parameter name="PROTOCOL" locked="false"&gt;HTTP/1.1&lt;/parameter&gt;
+        &lt;parameter name="PROXY" proxy_host="proxy_host_name" proxy_port="proxy_host_port" locked="true&gt;userName:domain:passWord&lt;/parameter&gt;
+&lt;/transportSender&gt;
+
+</pre></div>
+  <p>For a particular proxy, if authentication is not available fill
+"userName:domain:passWord"as "anonymous:anonymous:anonymous".</p><p>At runtime user can override the PROXY settings with an Object of
+HttpTransportProperties.ProxyProperties. On the stub initiate an object of
+prior and and set it to the MessageContext's property bag via
+HttpConstants.PROXY. On the stub, it depicts as follows,</p>
+    <div class="source"><pre>...
+Options options = new Options();
+....
+
+HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties();
+proxyProperties.setProxyHostName(....);
+proxyProperties.setProxyPort(...);
+...
+options.setProperty(HttpConstants.PROXY, proxyProperties);
+....
+
+</pre></div>
+  <p>The above code would eventually override the deployment proxy
+configuration settings.</p><p>NTLM is the most complex of the authentication protocols supported by
+HttpClient. It requires an instance of NTCredentials be available for the
+domain name of the server or the default credentials. Note that since NTLM
+does not use the notion of realms HttpClient uses the domain name of the
+server as the name of the realm. Also note that the username provided to the
+NTCredentials should not be prefixed with the domain - ie: "axis2" is correct
+whereas "DOMAIN\axis2" is not correct.</p><p>There are some significant differences in the way that NTLM works compared
+with basic and digest authentication. These differences are generally handled
+by HttpClient, however having an understanding of these differences can help
+avoid problems when using NTLM authentication.</p><ol>
+  <li>NTLM authentication works almost exactly the same as any other form of
+    authentication in terms of the HttpClient API.  The only difference is
+    that you need to supply 'NTCredentials' instead of
+    'UsernamePasswordCredentials' (NTCredentials actually extends
+    UsernamePasswordCredentials so you can use NTCredentials right throughout
+    your application if need be).</li>
+  <li>The realm for NTLM authentication is the domain name of the computer
+    being connected to, this can be troublesome as servers often have
+    multiple domain names that refer to them.  Only the domain name that
+    HttpClient connects to (as specified by the HostConfiguration) is used to
+    look up the credentials. It is generally advised that while initially
+    testing NTLM authentication, you pass the realm in as null which is used
+    as the default.</li>
+  <li>NTLM authenticates a connection and not a request, so you need to
+    authenticate every time a new connection is made and keeping the
+    connection open during authentication is vital.  Due to this, NTLM cannot
+    be used to authenticate with both a proxy and the server, nor can NTLM be
+    used with HTTP 1.0 connections or servers that do not support HTTP
+    keep-alives.</li>
+</ol></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2005, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file

Added: webservices/site/trunk/targets/axis2/0_93/installationguide.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/0_93/installationguide.html?rev=366125&view=auto
==============================================================================
--- webservices/site/trunk/targets/axis2/0_93/installationguide.html (added)
+++ webservices/site/trunk/targets/axis2/0_93/installationguide.html Thu Jan  5 00:55:38 2006
@@ -0,0 +1,140 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Axis2 Installation Guide - Axis 2.0</title><style type="text/css" media="all">
+          @import url("./style/maven-base.css");
+          
+          @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta></head><body class="composite"><div id="banner"><a href="http://www.apache.org/" id="organizationLogo"><img alt="Apache Software Foundation" src="http://www.apache.org/images/asf-logo.gif"></img></a><a href="http://ws.apache.org/axis2/" id="projectLogo"><img alt="Apache Axis 2.0" src="http://ws.apache.org/axis2/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">Last published: 20 December 2005
+                <span class="separator">|</span> Doc for  0.94-dev
+                </div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuAxis_2_0"><h5>Axis 2.0</h5><ul><li class="none"><a href="index.html">Home</a></li><li class="expanded"><a href="">Download Axis2</a><ul><li class="none"><a href="download.cgi">Releases</a></li><li class="none"><a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">Source Code</a></li></ul></li><li class="expanded"><a href="">Getting Started with Axis2</a><ul><li class="none"><a href="installationguide.html">Installation Guide</a></li><li class="none"><a href="userguide.html">User Guide</a></li><li class="none"><a href="webadminguide.html">Web Administration Guide</a></li></ul></li><li class="expanded"><a href="docs.html">Additional Reference</a><ul><li class="none"><a href="http://wiki.apache.org/ws/FrontPage/Axis2" class="externalLink" title="External Link">Axis2
  Wiki</a></li><li class="none"><a href="Axis2ArchitectureGuide.html">Architecture Guide</a></li><li class="none"><a href="OMTutorial.html">AXIOM Tutorial</a></li><li class="none"><a href="CodegenToolReference.html">Code Generation Tutorial</a></li><li class="none"><a href="rest-ws.html">REST Support</a></li><li class="none"><a href="mtom-guide.html">Handling Binary Data with Axis2</a></li><li class="none"><a href="axis2config.html">Axis2 Configuration Guide</a></li><li class="none"><a href="migration.html">Migrating from Axis 1.x</a></li><li class="none"><a href="api.html">Online Java Docs</a></li><li class="none"><a href="adb/adb-howto.html">ADB How-to</a></li><li class="none"><a href="security-module.html">WS-Security How-to</a></li><li class="none"><a href="otherTutorials.html">Other Tutorials</a></li></ul></li><li class="expanded"><a href="overview.html">Get Invloved</a><ul><li class="none"><a href="svn.html">Checkout the Source</a></li><li class="none"><a href="siteHowT
 o.html">Build the Site</a></li><li class="none"><a href="guidelines.html">Developer Guidelines</a></li><li class="none"><a href="refLib.html">Reference Library</a></li><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="faq.html">FAQ</a></li><li class="none"><a href="thanks.html">Thanks</a></li></ul></li><li class="expanded"><a href="">Project Information</a><ul><li class="none"><a href="mail-lists.html">Mailing Lists</a></li><li class="none"><a href="team-list.html">Project Team</a></li><li class="none"><a href="issue-tracking.html">Issue Tracking</a></li></ul></li></ul></div><div id="legend"><h5>Legend</h5><ul><li class="externalLink">External Link</li><li class="newWindow">Opens in a new window</li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="./images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><
 a name="Download_Axis2"></a><h2>Download Axis2</h2><p>Axis2 is distributed in several formats and can be installed either as a
+standalone server or as part of a J2EE compliant servlet container. Axis2 is
+distributed under the Apache License, version 2.0</p><p>You can <a href="http://ws.apache.org/axis2/download.cgi" class="externalLink" title="External Link">download</a>
+Axis2 as a zipped binary, WAR or the <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink" title="External Link">source</a>
+depending on your requirements.</p><p>Latest release Axis2 version 0.93</p><p></p></div><div class="section"><a name="System_Requirements"></a><h2>System Requirements</h2><table class="bodyTable">
+  <caption></caption>
+  <tbody>
+    <tr class="b">
+      <td>Java Runtime
+
+        <p>Environment</p>
+      </td>
+      <td>1.4 (It has not been fully tested on the latest JRE 1.5)
+
+        <p>For instructions on setting up the JRE in different operating
+        systems, visit <a href="http://java.sun.com/" class="externalLink" title="External Link">http://java.sun.com</a></p>
+      </td>
+    </tr>
+    <tr class="a">
+      <td>Maven</td>
+      <td>1.0.2 or higher (<a href="http://maven.apache.org/" class="externalLink" title="External Link">download</a>)
+
+        <p>Required only for building Axis2 from source distribution</p>
+      </td>
+    </tr>
+    <tr class="b">
+      <td>Memory</td>
+      <td>No minimum requirement</td>
+    </tr>
+    <tr class="a">
+      <td>Disk</td>
+      <td>No minimum requirement.
+
+        <p>Approximately 20 MB will be used for war distribution</p>
+      </td>
+    </tr>
+    <tr class="b">
+      <td>Operating system</td>
+      <td>Tested on Windows XP, Mac OS X, Fedora core, Ubuntu</td>
+    </tr>
+  </tbody>
+</table><p></p><p>All the required jars are shipped with the binary distribution.</p><p>Running the Maven build will automatically download the required jars when
+using source distribution.</p><p></p></div><div class="section"><a name="Setting_up_the_Environment_and_tools"></a><h2>Setting up the Environment and tools</h2><div class="subsection"><a name="Maven"></a><h3>Maven</h3><p>The Axis2 build is based on <a href="http://maven.apache.org/" class="externalLink" title="External Link">Maven </a>.
+Hence the only prerequisite to build Axis2 from source distribution is to
+have Maven installed. Extensive instruction guides are available at the Maven
+site.This guide however contains the easiest path for quick environment
+setting. Advanced users who wish to know more about Maven can visit <a href="http://maven.apache.org/start/index.html" class="externalLink" title="External Link">here </a>.</p><p>- Windows</p><ol>
+  <li>Download and run the Windows installer package</li>
+  <li>Set the 'Environment Variables' ( create system variable MAVEN_HOME and
+    edit path. eg: "C:\Program Files\Apache Software Foundation\maven-2.0.1";
+    path %MAVEN_HOME%\bin)</li>
+  <li>Make sure that system variable JAVA_HOME is set to the location of your
+    JDK, eg. C:\Program Files\Java\jdk1.5.0_02</li>
+  <li>Run maven --version to verify that it is correctly installed.</li>
+</ol><p>.</p><p align="center"><img alt="clip_image002 (15K)" src="images/clip_image002.jpg" height="211" width="477"></img></p><p>  - Unix based OS (Linux etc)</p><p>The tar ball or the zip archive is the best option. Once the archive is
+downloaded expand it to a directory of choice and set the environment
+variable MAVEN_HOME and add MAVEN_HOME/bin to the path as well. More
+instructions for installing Maven in Unix based operating systems can be
+found <a href="http://maven.apache.org/start/install.html" class="externalLink" title="External Link">here </a>.</p><p></p><p>Once maven is properly installed you can start building Axis2.</p></div><div class="subsection"><a name="The_Axis2_source_distribution"></a><h3>The Axis2 source distribution</h3><p>The <a href="releases.html">source distribution </a> is available as a
+zipped archive. All the necessary build scripts are included with the source
+distribution. Once the source archive is expanded into a directory of choice,
+moving to the particular directory and running maven command will build the
+Axis2 jar file.</p><p align="center"><img alt="clip_image004 (43K)" src="images/maven.jpg" height="248" width="668"></img></p><p>Once the command completes, the binaries (jar files in this case) can be
+found at a newly created "target" directory.</p><p><strong>Note: For the first Maven build (if the maven repository is not
+built first) it will take a while since required jars need to be downloaded.
+However this is a once only process and will not affect any successive
+builds.</strong></p><p><strong></strong>The default maven build will however build only the Axis2
+jar file. To obtain a WAR (Web Archive), "maven war" command should be
+issued. This will create a complete WAR with the name axis2.war inside the
+target directory.</p><p>Once this build step is complete, the binaries are ready to be
+deployed.</p><p></p></div></div><div class="section"><a name="Installing_Axis2_in_a_Servlet_container"></a><h2>Installing Axis2 in a Servlet container</h2><ol>
+  <li>Download Axis2 war file</li>
+  <li>Drop the war in the webapps folder. Most servlet containers will
+    automatically install war. (some servlet containers may require a restart
+    in order to capture the new web application. Refer your servlet container
+    documentation for more information about this.)</li>
+  <li>Once the WAR is successfully installed, test it by pointing the web
+    browser to the <strong>http:// &lt;host :port&gt;/ axis2. </strong>It
+    should produce the following page.</li>
+
+  <p align="center"><strong><img src="images/clip_image006.jpg" alt=""></img></strong></p>
+
+  <p></p>
+  <li>Use validate link to ensure that everything is fine and smooth. If the
+    validation fails then the war has failed to install properly or some
+    essential jars are missing. At such a situation the documentation of the
+    particular servlet container should be consulted to find the problem. The
+    following page is a successful validation. Note the statement core Axis2
+    libraries are present.
+    <p></p>
+  </li>
+
+  <p align="center"><strong><img src="images/happyaxis.jpg" alt=""></img></strong></p>
+</ol><p></p><div class="subsection"><a name="Uploading_services"></a><h3>Uploading services</h3><ol>
+  <p>The Axis2 web application also provides an interface to upload services.
+  Once a service is created according to the service specification as
+  described in userguide that jar file can be uploaded using the upload
+  page.</p>
+
+  <p align="center"><strong><img src="images/clip_image010.jpg" alt=""></img></strong></p>
+
+  <p>The uploaded jar files will be stored in the default service directory.
+  For Axis2 this will be the &lt;webapps&gt;/axis2/WEB-INF/services
+  directory. Once a service is uploaded it will be installed instantly.</p>
+
+  <p>Since Axis2 supports hot deployment one can drop the service jar
+  directly through the file system to the above mentioned services
+  directory.It will also cause the service to be automatically installed
+  without the container being restarted.</p>
+
+  <p>Use the <em>available services link</em>to check the successful
+  installation of a service. The services and the operations of successfully
+  installed services will be displayed in the available services page.</p>
+
+  <p align="center"><strong><img src="images/clip_image012.jpg" alt=""></img></strong></p>
+
+  <p></p>
+
+  <p>If the service has deployment time error it will list out those services
+  as faulty services. If you click on the link it will show your deployment
+  fault.</p>
+
+  <p align="center"><strong><img src="images/faultservice.jpg" alt=""></img></strong></p>
+
+  <p>Deployment time error message</p>
+
+  <p align="center"><strong><img src="images/faultmsg.jpg" alt=""></img></strong></p>
+
+  <p>  </p>
+
+  <p>  </p>
+
+  <p>Axis2 Administration is all about configuring Axis2 at the run time and
+  the configuration will be transient. More descriptions are available in <a href="webadminguide.html">Axis2 admin web guide</a></p>
+</ol></div></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004-2005, Apache Software Foundation</div><div class="clear"><hr></hr></div></div></body></html>
\ No newline at end of file