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 2005/12/02 15:01:09 UTC

svn commit: r351729 [1/12] - in /webservices/site/trunk/targets/axis2: ./ images/ images/archi-guide/ images/userguide/ multiproject/axis2-Samples/ multiproject/axis2-Samples/amazonSearch/ multiproject/axis2-Tools/ multiproject/axis2-addressing/ multip...

Author: chinthaka
Date: Fri Dec  2 05:57:44 2005
New Revision: 351729

URL: http://svn.apache.org/viewcvs?rev=351729&view=rev
Log:
Updating site for 0.93 release.

Modified:
    webservices/site/trunk/targets/axis2/Axis2ArchitectureGuide.html
    webservices/site/trunk/targets/axis2/CodegenToolReference.html
    webservices/site/trunk/targets/axis2/OMTutorial.html
    webservices/site/trunk/targets/axis2/ServiceArchiveToolReference.html
    webservices/site/trunk/targets/axis2/axis2config.html
    webservices/site/trunk/targets/axis2/axis2tools.html
    webservices/site/trunk/targets/axis2/cvs-usage.html
    webservices/site/trunk/targets/axis2/dependencies.html
    webservices/site/trunk/targets/axis2/docs.html
    webservices/site/trunk/targets/axis2/download.html
    webservices/site/trunk/targets/axis2/downloads.html
    webservices/site/trunk/targets/axis2/faq.html
    webservices/site/trunk/targets/axis2/guidelines.html
    webservices/site/trunk/targets/axis2/http-transport.html
    webservices/site/trunk/targets/axis2/images/admin.jpg
    webservices/site/trunk/targets/axis2/images/adminmain.jpg
    webservices/site/trunk/targets/axis2/images/archi-guide/contexts.png
    webservices/site/trunk/targets/axis2/images/archi-guide/soap.gif
    webservices/site/trunk/targets/axis2/images/clip_image006.jpg
    webservices/site/trunk/targets/axis2/images/clip_image010.jpg
    webservices/site/trunk/targets/axis2/images/clip_image012.jpg
    webservices/site/trunk/targets/axis2/images/editserviecpara.jpg
    webservices/site/trunk/targets/axis2/images/globalchain.jpg
    webservices/site/trunk/targets/axis2/images/maven.jpg
    webservices/site/trunk/targets/axis2/images/moduleengage.jpg
    webservices/site/trunk/targets/axis2/images/modules.jpg
    webservices/site/trunk/targets/axis2/images/removeservice.jpg
    webservices/site/trunk/targets/axis2/images/serviceHandlers.jpg
    webservices/site/trunk/targets/axis2/images/userguide/http-get-ws.png
    webservices/site/trunk/targets/axis2/images/viewphases.JPG
    webservices/site/trunk/targets/axis2/index.html
    webservices/site/trunk/targets/axis2/installationguide.html
    webservices/site/trunk/targets/axis2/intro.html
    webservices/site/trunk/targets/axis2/issue-tracking.html
    webservices/site/trunk/targets/axis2/m1.html
    webservices/site/trunk/targets/axis2/mail-configuration.html
    webservices/site/trunk/targets/axis2/mail-lists.html
    webservices/site/trunk/targets/axis2/mail-transport.html
    webservices/site/trunk/targets/axis2/maven-help.html
    webservices/site/trunk/targets/axis2/maven-reports.html
    webservices/site/trunk/targets/axis2/migration.html
    webservices/site/trunk/targets/axis2/mtom-guide.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/amazonSearch/AmazonSearch.htm
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Samples/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-Tools/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-addressing/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-common/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-core/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-integration/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-saaj/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-security/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-wsdl/team-list.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/cvs-usage.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/dependencies.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/downloads.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/index.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/issue-tracking.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/junit-report.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/mail-lists.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/maven-reports.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/project-info.html
    webservices/site/trunk/targets/axis2/multiproject/axis2-xml/team-list.html
    webservices/site/trunk/targets/axis2/otherTutorials.html
    webservices/site/trunk/targets/axis2/overview.html
    webservices/site/trunk/targets/axis2/project-info.html
    webservices/site/trunk/targets/axis2/projects-overview.html
    webservices/site/trunk/targets/axis2/refLib.html
    webservices/site/trunk/targets/axis2/rest-ws.html
    webservices/site/trunk/targets/axis2/siteHowTo.html
    webservices/site/trunk/targets/axis2/svn.html
    webservices/site/trunk/targets/axis2/tcp-transport.html
    webservices/site/trunk/targets/axis2/team-list.html
    webservices/site/trunk/targets/axis2/userguide.html
    webservices/site/trunk/targets/axis2/webadminguide.html

Modified: webservices/site/trunk/targets/axis2/Axis2ArchitectureGuide.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/Axis2ArchitectureGuide.html?rev=351729&r1=351728&r2=351729&view=diff
==============================================================================
--- webservices/site/trunk/targets/axis2/Axis2ArchitectureGuide.html (original)
+++ webservices/site/trunk/targets/axis2/Axis2ArchitectureGuide.html Fri Dec  2 05:57:44 2005
@@ -2,8 +2,8 @@
           @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/axis/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
-                	Last published: 26 September 2005
-                  | Doc for 0.92</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/index.html">Online Java Docs</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></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><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_Architecture_Guide"></a><h2>Axis2 Architecture Guide</h2><div class="subsection"><a name="Contents"></a><h3>Contents</h3><ul>
+                	Last published: 02 December 2005
+                  | Doc for 0.93</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="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></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><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_Architecture_Guide"></a><h2>Axis2 Architecture Guide</h2><div class="subsection"><a name="Contents"></a><h3>Contents</h3><ul>
   <li><p><a href="#bmBP">The Big Picture</a></p>
   </li>
   <li><p><a href="#bmInfoMod">Information Model</a></p>
@@ -25,192 +25,183 @@
 </ul><p><br></br>
 <br></br>
 </p></div><div class="subsection"><a name="The_Big_Picture"></a><h3>The Big Picture</h3><p>Any architecture is a result of what that architecture should yield, the
-success of an architecture should be evaluated bases on the requirements the
-architecture should meet. Let us start our journey in to Axis2 looking at the
+success of an architecture should be evaluated based on the requirements the
+architecture should meet. Let us start our journey into Axis2 looking at the
 requirements that are expected from Axis2.</p></div><div class="subsection"><a name="Requirement_of_Axis2"></a><h3>Requirement of Axis2</h3><p>In the SOAP terminology, a participant who is taking part in a Web Service
 interaction is known as a SOAP Node. Delivery of a single SOAP Message is
 defined based on two participants, SOAP Sender and SOAP Receiver. Each SOAP
 Message is sent by SOAP Sender and received by SOAP Receiver, and single SOAP
 delivery is the most basic unit that builds the Web Service interactions.</p><p>Each SOAP Node may be written in specific programming language, may it be
 Java, C++, .NET or Perl, the Web Services allow them to inter operate. This
-is possible because at the wire each Web Service interaction is done via
-SOAP, which is common to every SOAP Node.</p><p><img src="images/archi-guide/soap.gif" name="Graphic1" align="bottom" width="691" height="319" border="0" alt=""></img></p><p>Web Service middleware handles the complexity SOAP messaging and let the
-users to work with the programming language they are accustomed to. Axis2
-allows the java users to invoke the Web Services using java representations
-and handles the SOAP messaging behind the curtain.</p><p>Axis2 handles SOAP processing, along with numerous other functionalities
-that make the life of the Web Service developer convenient. Following are the
+is possible because on the wire each Web Service interaction is done via
+SOAP, which is common to every SOAP Node.</p><p><img src="images/archi-guide/soap.gif" name="Graphic1" align="bottom" width="691" height="319" border="0" alt=""></img></p><p>Web Service middleware handles the complexity in SOAP messaging and lets the
+users work with the programming language they are accustomed to. Axis2
+allows java users to invoke Web Services using java representations,
+and handles the SOAP messaging behind the curtain.</p><p>Axis2 handles SOAP processing along with numerous other tasks,
+this makes the life of the Web Service developer a whole lot easier. Following are the
 identified requirements:</p><ol>
-  <li><p style="margin-bottom: 0in">Provide a framework to process the SOAP
-    messages, the framework should be extensible and the users should be able
-    to extend the SOAP processing per service or operation basis. Furthermore
-    it should be able to model different Message Exchange Patterns using the
+  <li>
+    <p style="margin-bottom: 0in">Provide a framework to process the SOAP
+    messages. The framework should be extensible and the users should be able
+    to extend the SOAP processing per service or per operation basis. Furthermore
+    it should be able to model different Message Exchange Patterns (MEP) using the
     processing framework.</p>
   </li>
-  <li><p style="margin-bottom: 0in">Ability to deploy the Web Services (with
-    or without WSDL)</p>
-  </li>
-  <li><p style="margin-bottom: 0in">Provide a Client API that can be used to
-    invoke Web Services, the API should supports both the Synchronous and
-    Asynchronous programming models.</p>
-  </li>
-  <li><p style="margin-bottom: 0in">Ability to configure Axis2 and it's
-    components via the deployment</p>
-  </li>
-  <li><p>Ability to send and receive SOAP messages with different
-    transports</p>
-  </li>
-</ol><p>Apart from the above functionalities, performance, both in the terms of
-memory and speed, is a major consideration for Axis2. Axis2 Core Architecture
+  <li>Ability to deploy a Web Services (with
+  or without WSDL)</li>
+  <li>Provide a Client API that can be used to
+    invoke Web Services. This API should support both the Synchronous and
+  Asynchronous programming models.</li>
+  <li>Ability to configure Axis2 and it's
+  components via deployment.</li>
+  <li>Ability to send and receive SOAP messages with different
+  transports.</li>
+</ol><p>Apart from the above functionalities, performance in terms of
+memory and speed is a major consideration for Axis2. Axis2 Core Architecture
 is built on three specifications, WSDL, SOAP and WS-Addressing. Other
 specifications like JAX-RPC and SAAJ are layered on top of the Core
 Architecture. The WS-Policy might join the core specifications in the near
-future.</p></div><div class="subsection"><a name="Axis2__the_Architecture"></a><h3>Axis2, the Architecture</h3><p>Now having look at the requirements of the Axis2 we can direct our
-attention to the Architecture.</p><p>Axis2 architecture lay out few Principals to preserve the uniformity of
-the architecture, they are as follows.</p><ul>
-  <li><p style="margin-bottom: 0in">Axis2 Architecture separates the logic
-    and the states, the code that process the logic is usually stateless.
+future.</p></div><div class="subsection"><a name="Axis2__the_Architecture"></a><h3>Axis2, the Architecture</h3><p>Now that we have looked at the requirements of the Axis2 we can direct our
+attention to the Architecture.</p><p>Axis2 architecture lays out some principals to preserve the uniformity of
+the architecture. They are as follows.</p><ul>
+  <li><p style="margin-bottom: 0in">Axis2 architecture separates the logic
+    and the states. The code that does the processing is stateless inside Axis2.
     This allows the code to be executed freely by parallel threads.</p>
   </li>
-  <li><p>All the information is kept in a one Information model, this allows
-    the system to be stored and resumed</p>
-  </li>
-</ul><p>Axis2 architecture is modular, the architecture broke the Axis2 in to
-Seven modules.</p><ol>
+  <li>All the information is kept in one information model, this allows
+  the system to be suspended and resumed.</li>
+</ul><p>Axis2 architecture is modular and is broken down into
+seven modules.</p><ol>
   <li><p style="margin-bottom: 0in">Information Model</p>
   </li>
-  <li><p style="margin-bottom: 0in">XML processing Model</p>
-  </li>
-  <li><p style="margin-bottom: 0in">SOAP Processing Model</p>
-  </li>
-  <li><p style="margin-bottom: 0in">Deployment</p>
-  </li>
-  <li><p style="margin-bottom: 0in">WSDL and Code Generation</p>
-  </li>
-  <li><p style="margin-bottom: 0in">Client API</p>
-  </li>
-  <li><p>Transports</p>
-  </li>
-</ol><p><img src="images/archi-guide/all.png" name="Graphic2" align="bottom" width="426" height="189" border="0" alt=""></img></p><p>Let us look in to the rationale for each Module, and what each does?</p><p>Axis2 defines a model to handle the information and all the states are
+  <li>XML processing Model</li>
+  <li>SOAP Processing Model</li>
+  <li>Deployment</li>
+  <li>WSDL and Code Generation</li>
+  <li>Client API</li>
+  <li>Transports</li>
+</ol><p><img src="images/archi-guide/all.png" name="Graphic2" width="426" height="189" border="0" align="bottom" usemap="#Graphic2Map" alt=""></img>
+  <map name="Graphic2Map">
+    <area shape="rect" coords="123,31,222,97" href="#bmInfoMod"></area>
+    <area shape="rect" coords="239,62,319,134" href="#bmXML"></area>
+    <area shape="rect" coords="127,112,218,177" href="#bmSOAPPM"></area>
+    <area shape="rect" coords="12,39,89,95" href="#bmDeployment"></area>
+    <area shape="rect" coords="0,108,94,156" href="#bmWSDL"></area>
+    <area shape="rect" coords="350,31,426,86" href="#bmClientAPI"></area>
+    <area shape="rect" coords="350,114,421,164" href="#bmTransports"></area>
+  </map>
+</p><p>Let us look in to the rationale behind each Module, and what each does.</p><p>Axis2 defines a model to handle the information and all the states are
 kept in this model. The model has a hierarchy for the information and the
 system manages the life cycle of the objects in this hierarchy.</p><p>Handling the SOAP Message is the most important and the most complex task,
 the efficiency of this is the single most important factor that decides the
-performance. It make sense to delegate this task to a separate module, and
-that module, AXIOM provide a simple API for SOAP and XML info-set and while
-hiding the complexities of the efficient XML processing with in the
-implementation.</p><p>SOAP Processing Model controls the execution of the processing, the Model
-defines different phases the execution would walk though, and the user can
-extend the Processing Model at some specific places.</p><p>Axis2 define a transport framework that enables user to use different
-transports, the transports match in to the specific places in the SOAP
-processing model. The implementation provide few common transports and user
-may write new ones if he wishes.</p><p>Axis2 deployment model allows the user to deploy services, configure the
+performance. It makes sense to delegate this task to a separate module, and
+that module(AXIOM) provides a simple API for SOAP and XML info-set  while
+hiding the complexities of the efficient XML processing within the
+implementation.</p><p>SOAP Processing Model controls the execution of the processing, the model
+defines different phases the execution would walk through, and the user can
+extend the Processing Model at some specific places.</p><p>Axis2 define a transport framework that enables the user to use different
+transports. The transports fit into specific places in the SOAP
+processing model. The implementation provides a few common transports and the user
+may write new ones if and when it is needed.</p><p>Axis2 deployment model allows the user to deploy services, configure the
 transports, extend the SOAP Processing model per system basis, per service
 basis, and per operation basis.</p><p>Finally Axis2 provides a code generation tool that will generate server
-side and client side code along a test case. The generated code would
+side and client side code along with a test case. The generated code would
 simplify the service deployment and the service invocation. This would make
 the Axis2 easier to use.</p></div><div class="subsection"><a name="Information_Model"></a><h3>Information Model</h3><p>Information Model has two main hierarchies, the Contexts and
 Descriptions.</p><p><img src="images/archi-guide/contexts.png" name="Graphic3" align="bottom" width="400" height="443" border="0" alt=""></img></p><p>This uses UML notations ( A ----&lt;&gt; B means B has 1 or more objects
 of A. A------&gt;B means the given relationship holds between A and B.)</p><p>The two hierarchies are connected as shown in the above figure. The
-Description hierarchy represents data that exists throughout the lifetime of
+Description hierarchy represents the static data. This data may be loaded from
+a configuration file that exists throughout the lifetime of
 Axis2. Examples for such data would be deployed Web Services, operations,
 etc. On the other hand, the context hierarchy holds more dynamic information
-about things that has more than one instances (e.g.Message Context).</p><p>These two hierarchies created a model that provides the ability to search
-for key value pairs, when the values are searched at a given level, they are
-searched while moving up in the level until a match is found. In the
+about the things that have more than one instances (e.g.Message Context).</p><p>These two hierarchies creates a model that provides the ability to search
+for key value pairs. When the values are searched at a given level, they are
+searched while moving up the hierarchy until a match is found. In the
 resulting model the lower levels overrides the values in the upper levels.
-For and example when a value is looked up at the Message Context and it is
+For an example when a value is looked up at the Message Context and it is
 not found, it would be looked up at the Operation Context etc, up the
 hierarchy. The Search is first done up the hierarchy, and if starting point
-is a Context then it is search in the Description hierarchy as well.</p><p>This allows user to declare and override values, and result in very
+is a Context then it is search in the Description hierarchy as well.</p><p>This allows the user to declare and override values, result being a very
 flexible configuration model. The flexibility could be the Achilles heel for
 the system, as the search, specially for something that does not exist is
 expensive, yet in the final analysis developers believe that the flexibility
-would serve better in this instants and opt for the flexibility.</p><table class="bodyTable"><col width="112"></col><col width="371"></col><col width="103"></col><col width="336"></col><tbody>
-    <tr class="a"><td width="112"><p>Configuration Context</p>
+would serve better in this instant.</p><table class="bodyTable"><col width="112"></col><col width="371"></col><col width="103"></col><col width="336"></col><tbody>
+    <tr class="b"><td width="112"><p>Configuration Context</p>
       </td><td width="371"><p>Holds the current state of execution. A deep copy of
         this would essentially make a copy of Axis2.</p>
       </td><td width="103"><p>Axis Configuration</p>
       </td><td width="336"><p>Holds all global configurations. Transports, global
         modules, parameters and Services.</p>
       </td></tr>
-    <tr class="b"><td width="112"><p>Service Group Context</p>
-      </td><td width="371"><p>Holds information about a perticular usage of the
-        respective service group. The life of a Service Group Context start
-        when a user start to interact with a service that belong to this
-        service group. This can be used to share information between service
-        usages in a single interaction, for services that belong to the same
-        group.</p>
+    <tr class="a"><td width="112"><p>Service Group Context</p>
+      </td><td width="371"><p>Holds information about a particular usage of the
+        respective service group. The life of a Service Group Context starts
+        when a user starts interacting with a service that belong to this
+        service group. This can be used to share information between services(in
+        the same service group) in a single interaction.</p>
       </td><td width="103"><p>ServiceGroup Description</p>
-      </td><td width="336"><p>Holds deployment time information about a perticular
+      </td><td width="336"><p>Holds deployment time information about a particular
         service group.</p>
       </td></tr>
-    <tr class="a"><td width="112"><p>Service Context</p>
-      </td><td width="371"><p>This context is avaliable throughout a usage of the
+    <tr class="b"><td width="112"><p>Service Context</p>
+      </td><td width="371"><p>This context is available throughout the usage of the
         respective service. This can be used to share information between
-        several MAPs that belong to the same service, within a single
+        several MEPs that belong to the same service, within a single
         interaction.</p>
       </td><td width="103"><p>Service Description</p>
       </td><td width="336"><p>Hold the Operations and the service level
         configurations</p>
       </td></tr>
-    <tr class="b"><td width="112"><p>Operation Context</p>
+    <tr class="a"><td width="112"><p>Operation Context</p>
       </td><td width="371"><p>Holds the information about the current MEP
         instance, maintain the Messages in the current MEP etc.</p>
       </td><td width="103"><p>Operation Description</p>
       </td><td width="336"><p>Holds the operation level configurations</p>
       </td></tr>
-    <tr class="a"><td width="112"><p><a name="messageContext"></a>Message Context</p>
+    <tr class="b"><td width="112"><p><a name="messageContext"></a>Message Context</p>
       </td><td width="371"><p>Holds all the information about the Message
         currently being executed.</p>
       </td><td width="103"><p>Message Description</p>
       </td><td width="336"><p>Do not hold any information as yet, but can be used
-        as future extension point.</p>
+        as a future extension point.</p>
       </td></tr>
-  </tbody></table><p><br></br>
-<br></br>
-</p><p>All context classes implement readObject, writeObject methods that allows
-to serialize and de-serialize them correctly. Serializing the current
-Configuration Context object would essentially serialize the whole context
-hierarchy. To restore it, the user has to fist perform the de-serialization
-of the ConfigurationContext object. He can restore the description hierarchy
-by calling the init (axisConfiguration) method of the de-serialized
-ConfigurationContext object.</p></div><div class="subsection"><a name="XML_Processing_Model"></a><h3>XML Processing Model</h3><p>Please refer to the <a href="OMTutorial.html">OM Tutorial</a></p></div><div class="subsection"><a name="SOAP_Processing_Model"></a><h3>SOAP Processing Model</h3><p><img src="images/archi-guide/soap-processing.gif" name="Graphic4" align="bottom" width="755" height="348" border="0" alt=""></img></p><p>The architecture identified two basic actions a SOAP processor should
+  </tbody></table></div><div class="subsection"><a name="XML_Processing_Model"></a><h3>XML Processing Model</h3><p>Please refer to the <a href="OMTutorial.html">OM Tutorial</a></p></div><div class="subsection"><a name="SOAP_Processing_Model"></a><h3>SOAP Processing Model</h3><p><img src="images/archi-guide/soap-processing.gif" name="Graphic4" align="bottom" width="755" height="348" border="0" alt=""></img></p><p>The architecture identified two basic actions a SOAP processor should
 perform, sending and receiving SOAP messages. The architecture provides two
 Pipes (also named 'Flows'), to perform these two basic actions. Axis Engine
 or the driver of Axis2 defines two methods send() and receive() to implement
 these two Pipes. The two pipes are named <i>In Pipe</i> and <i>Out Pipe</i>,
-the complex Message Exchange Patterns are constructed by combining these two
-pipes.</p><p>Extensibility of the SOAP processing model is provided through the
+and the complex Message Exchange Patterns are constructed by combining these two
+pipes.</p><p>Extensibility of the SOAP processing model is provided through 
 Handlers. When a SOAP message is being processed the Handlers that are
 registered would be executed. The Handlers can be registered in global,
 service, or operation scopes and the final handler chain is calculated
-combining the Handlers from all the scopes.</p><p>The Handlers act as interceptors and they process the parts of the SOAP
+combining the Handlers from all the scopes.</p><p>The Handlers act as interceptors and they process parts of the SOAP
 message and provide add on services. Usually Handlers work on the SOAP
-Headers yet they may access or change the SOAP Body as well.</p><p>When a SOAP message is send from the Client API, a <i>Out Pipe</i> would
-begin, the <i>Out Pipe</i> invokes the Handlers and ends with a Transport
+headers yet they may access or change the SOAP Body as well.</p><p>When a SOAP message is being sent through the Client API, an <i>Out Pipe</i> would
+begin, the <i>Out Pipe</i> invokes the Handlers and end with a Transport
 Sender that sends the SOAP message to the target endpoint. The SOAP message
 is received by a Transport Receiver at the target endpoint, which reads the
-SOAP message and starts the <i>In Pipe</i>. The In Pipe consists of Handlers
-and ends with a <a href="#mr">Message Receiver</a>, which consumes the SOAP
+SOAP message and starts the <i>In Pipe</i>. The In Pipe consists of handlers and 
+ends with the <a href="#mr">Message Receiver</a>, which consumes the SOAP
 message.</p><p>Above explained processing happens for each and every SOAP message
-exchanged. Processing that follows may decide to give birth for the other
-SOAP messages, in which case the more complex patterns emerge. But Axis2
-always view the SOAP message in terms of processing of a single message where
-as the combination of the messages are layered on top of that basic
-framework.</p><p>The two pipes does not differentiate between the Server and the Client,
+exchanged. After processing one message Axis2 may decide to create other
+SOAP messages, in which case more complex message patterns emerge. However Axis2
+always view the SOAP message in terms of processing of a single message. 
+The combination of the messages are layered on top of that basic framework.</p><p>The two pipes does not differentiate between the Server and the Client,
 the SOAP Processing Model handles the complexity and provides two abstract
-pipes to the user. Each pipe is a set of Handlers, the different areas of the
+pipes to the user. The different areas or the stages of the
 pipes are given names, and according to the Axis2 slang those are named
 'Phases'. A Handler always runs inside a Phase, and the Phase provides a
-mechanism to specify the ordering of Handlers. Both Pipes has built in
+mechanism to specify the ordering of Handlers. Both Pipes have built in
 Phases, and both define the areas for 'User Phases' which can be defined by
-the user.</p><p>Following figure shows the two pipes with their pre-defined Phases, the
-user defined Phases would be fit in to the User Phases.</p><p><img src="images/archi-guide/phases.png" name="Graphic5" align="bottom" width="525" height="226" border="0" alt=""></img></p></div><div class="subsection"><a name="Axis2_Default_Processing_Model"></a><h3>Axis2 Default Processing Model</h3><p>Axis2 has the, some inbuilt Handlers that run in inbuilt Phases and they
+the user.</p><p>Following figure shows the two pipes with their predefined Phases, the
+user defined Phases would fit in to the User Phases.</p><p><img src="images/archi-guide/phases.png" name="Graphic5" align="bottom" width="525" height="226" border="0" alt=""></img></p></div><div class="subsection"><a name="Axis2_Default_Processing_Model"></a><h3>Axis2 Default Processing Model</h3><p>Axis2 has the, some inbuilt Handlers that run in inbuilt Phases and they
 create the default configuration for the Axis2, we will be looking more in to
 how to extend the default processing Model in the next section.</p><p>There are four special handlers defined in Axis2.</p><ol>
-  <li><p style="margin-bottom: 0in">Dispatchers - Find the Service the SOAP
+  <li>
+    <p style="margin-bottom: 0in">Dispatchers - Finds the service and the operation the SOAP
     message is directed to, always run on the In-Pipe and inside the Dispatch
-    Phase. There is a inbuilt Dispatcher, that run in any case and user may
-    override it by placing the dispatchers before the inbuilt Dispatcher.</p>
+    Phase. The in-built dispatchers dispatches to a particular operation depending on various conditions like WS-Addressing information, URI information, SOAP action information, etc., </p>
   </li>
   <li><p style="margin-bottom: 0in"><a name="mr"></a>Message Receiver -
     Consume the SOAP Message and run on the Message Processing Phase in the
@@ -395,12 +386,12 @@
 the Client API, the implementation is based on a class called
 <code>MEPClient</code> and there are extensions for each Message Exchange
 Pattern that Axis2 Client API supports.</p></div><div class="subsection"><a name="One_Way_Messaging_Support"></a><h3>One Way Messaging Support</h3><p>The One-Way support is provided by the <code>InOnlyMEPClient</code> and
-Axis2 provides a class called <code>Call</code> that provides a much simpler
+Axis2 provides a class called <code>MessageSender</code> that provides a much simpler
 interface for the user. The Axis2 supports HTTP/SMTP and TCP transports, in
 the case of the HTTP transport the return channel is not used and the HTTP
 202 OK is returned in the return Channel.</p></div><div class="subsection"><a name="Request_Response_Messaging_Support"></a><h3>Request Response Messaging Support</h3><p>The Request-Response support is provided by the
 <code>InOutMEPClient</code> and Axis2 provides a class called
-<code>MessageSender</code> that provides a much simpler interface for the
+<code>Call</code> that provides a much simpler interface for the
 user. The Client API has four ways to configure a given Message Exchange</p><ol>
   <li><p style="margin-bottom: 0in">Blocking or Non-Blocking nature - this
     can be decided by using <code>invokeBlocking()</code> or

Modified: webservices/site/trunk/targets/axis2/CodegenToolReference.html
URL: http://svn.apache.org/viewcvs/webservices/site/trunk/targets/axis2/CodegenToolReference.html?rev=351729&r1=351728&r2=351729&view=diff
==============================================================================
--- webservices/site/trunk/targets/axis2/CodegenToolReference.html (original)
+++ webservices/site/trunk/targets/axis2/CodegenToolReference.html Fri Dec  2 05:57:44 2005
@@ -2,84 +2,95 @@
           @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/axis/images/axis.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft">
-                	Last published: 26 September 2005
-                  | Doc for 0.92</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/index.html">Online Java Docs</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></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><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="Code_Generator_Wizard_-_Eclipse_Plug-in"></a><h2>Code Generator Wizard - Eclipse Plug-in</h2><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>The Axis2 code generator comes built-in with an
-<a href="http://www.eclipse.org" class="externalLink" title="External Link">Eclipse</a> plug-in. This document explains the 
-installation and usage of the Axis2 code generator plug-in.</p></div><div class="subsection"><a name="Installation"></a><h3>Installation</h3><p>The easiest way to obtain the plug-in would be the binary distribution. The 
-full Axis binary distribution contains the compiled version of this plug-in 
-under the tools directory. </p><p>If one needs to build the plugin from source it is not as trivial as running 
-the Maven build. The reason is that the plug-in depends heavily on the Eclipse 
-classes, which are only available in an Eclipse environment. The recommended 
-procedure is to run the create-project.xml (in the "modules\tool" directory of the source distribution) build file which will create two 
-folders (the other one for the Service Archiver tool) and copy the necessary 
-files to relevant folders. Then Eclipse should be configured to open the 
-contents in a PDE project. Please go through the Eclipse documentation to learn 
-how to open projects in the PDE format.</p><p>Once you've obtained the plug-in just unzip the content of the plug-in 
-archive to the eclipse plug-in directory (if it is the zipped-binary version) or 
-copy the necessary folders to the eclipse plug-in directory and restart Eclipse.</p><p><i>Note - This plug-in works on Eclipse version 3.0 and upwards</i></p></div><div class="subsection"><a name="Operation"></a><h3>Operation</h3><p>If the plug-in is properly installed you should see a new wizard under the 
-"New" section.(use the File -&gt; New -&gt; Other or Ctrl + N ) </p><p>
-<img border="0" src="images/tools/wsdl/wizardSelectionPage.jpg" width="500" height="500" alt=""></img></p><p>Selecting the wizard and pressing the next button will start the code 
-generator wizard. Following is the first wizard page.</p><p>
-<img border="0" src="images/tools/wsdl/toolSelectionpage.jpg" width="557" height="501" alt=""></img></p><p>Selecting the generate code from WSDL option leads to the next page. Note 
-that the Java-to-WSDL tool is disabled.</p><p>
-<img border="0" src="images/tools/wsdl/WSDLSelectionPage.jpg" width="518" height="500" alt=""></img></p><p>To move on to the next page the WSDL file location must be given. The browse 
-button can be used to easily browse for a file rather than typing the whole 
-path.</p><p>Once the WSDL file is selected, codegen options are to be selected. By far 
-this is the most important page in this wizard, which determines the 
-characteristics of the code being generated. Novices need not worry about these 
-options since the most common options are defaulted, But advanced users will 
-find it very easy to "turn the knobs" using these options.</p><p><img border="0" src="images/tools/wsdl/OptionsPage.jpg" width="518" height="500" alt=""></img></p><p>Once the options are taken care of, only the final step of the code 
-generation is left. it is the selection of the output file location.</p><p><img border="0" src="images/tools/wsdl/OutputPage.jpg" width="518" height="500" alt=""></img></p><p>When the output file location is selected, the Finish button will be enabled. 
-Pressing the finish button will generate the code and a message box will pop up 
-acknowledging the success. Well Done! Now you are ready for Axis2 Code generation.</p></div></div><div class="section"><a name="Code_Generator_Wizard_-_Command_Line_Tool"></a><h2>Code Generator Wizard - Command Line Tool</h2><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>Just as old times there will be users who wish to use the command line 
-version of the tool. This basic tool is implemented by the WSDL2Code class and 
-just for the convenience in the java case (which would be the majority) there is 
-another WSDL2Java class. One can choose to run the main classes directly or use 
-one of the scripts to run the WSDL2Code and WSDL2Java appropriately. (the 
-scripts are found in the bin directory of the binary distribution)</p></div><div class="subsection"><a name="Option_Reference"></a><h3>Option Reference</h3><table class="bodyTable"><tr class="a"><td width="50%">-uri &lt;Location of WSDL&gt;</td><td width="50%">WSDL file location. This should point to a WSDL file in the 
-    local file system</td></tr><tr class="b"><td width="50%">-o &lt;output Location&gt; : </td><td width="50%">output file location. This is where the files would be 
-    copied once the code generation is done. If this option is omitted the 
-    generated files would be copied to the working directory. </td></tr><tr class="a"><td width="50%">-l &lt;language&gt;</td><td width="50%">Output language. Currently the code generator can generate 
-    code in Java and CSharp. (CSharp support is limited) When omitted defaults 
-    to Java.<p>Allowed options are</p>
-    <ul>
-      <li>java</li>
-      <li>cs</li>
-    </ul>
-    </td></tr><tr class="b"><td width="50%">-p &lt;package name&gt; </td><td width="50%">The target package name. If omitted, a default package 
-    (formed using the target  namespace of the WSDL) will be used.</td></tr><tr class="a"><td width="50%">-a</td><td width="50%">Generate code only for async style . when this option is 
-    used the generated stubs will have only the asynchronous invocation methods. 
-    Switched off by default.</td></tr><tr class="b"><td width="50%">-s</td><td width="50%">Generate code only for sync style . When this option is 
-    used the generated stubs will have only the  synchronous invocation methods. 
-    Switched off by default. When used with the -a option, this takes 
-    precedence.</td></tr><tr class="a"><td width="50%">-t</td><td width="50%">Generates a test case. In the case of Java it would be a 
-    junit test case. This test case will generate a dummy implementation of the service and a relevant service.xml and will deploy this particular service in a SimpleHttpServer. Then looking at the WSDL it will generate test methods that will do web service invocation both synchronously and asynchronously and test the deployed service.</td></tr><tr class="b"><td width="50%">-ss</td><td width="50%">Generates server side code (i.e. skeletons). Default is off</td></tr><tr class="a"><td width="50%">-sd</td><td width="50%">Generates the service descriptor (i.e. server.xml). Default is off. 
-    only valid with -ss</td></tr></table></div></div><div class="section"><a name="Code_Generator_Wizard_-_Ant_Task"></a><h2>Code Generator Wizard - Ant Task</h2><p>The code generator also comes bundled with an Ant task. The ant task is 
-implemented by the org.apache.axis2.tool.ant.AntCodegenTask class. Following are
-the ant task attributes.</p><div class="subsection"><a name="Ant_Task_Reference"></a><h3>Ant Task Reference</h3><table class="bodyTable"><tr class="b"><td width="50%" height="19">wsdlfilename</td><td width="50%" height="19">WSDL file location. Maps to the uri option of 
-    the command line tool</td></tr><tr class="a"><td width="50%" height="76">output</td><td width="50%" height="76">output file location. This is where the files would be 
-    copied once the code generation is done. If this option is omitted the 
-    generated files would be copied to the working directory. . Maps to the -o 
-    option of the command line tool</td></tr><tr class="b"><td width="50%" height="171">language</td><td width="50%" height="171">Output language. Currently the code generator can generate 
-    code in Java and CSharp. (CSharp support is limited) When omitted defaults 
-    to Java.<p>Allowed options are</p>
-    <ul>
-      <li>java</li>
-      <li>cs</li>
-    </ul>
-    <p>Maps to the -l option of the command line tool</p></td></tr><tr class="a"><td width="50%" height="57">packagename</td><td width="50%" height="57">The target package name. If omitted, a default package 
-    (formed using the target  namespace of the WSDL) will be used.  
-    Maps to the -p option of the command line tool.</td></tr><tr class="b"><td width="50%" height="75">asynconly</td><td width="50%" height="75">Generate code only for async style . when this option is 
-    used the generated stubs will have only the asynchronous invocation methods. 
-    Defaults to false if omitted Only true and false are applicable as values. 
-    Maps to the -a option of the command line tool.</td></tr><tr class="a"><td width="50%" height="16">testcase</td><td width="50%" height="16">Generates a test case </td></tr><tr class="b"><td width="50%" height="19">synconly</td><td width="50%" height="19">Generate code only for sync style . when this option is 
-    used the generated stubs will have only the  synchronous invocation methods. 
-    Defaults to false if omitted. Only true and false are applicable as values. 
-    Maps to the -s option of the command line tool.</td></tr><tr class="a"><td width="50%" height="19">serverside</td><td width="50%" height="19">Generates server side code (i.e. skeletons). 
-    Only true and false are applicable as values. Default is false. Maps to the 
-    -ss option of the command line tool</td></tr><tr class="b"><td width="50%" height="18">generateserverxml</td><td width="50%" height="18">Generates server side code (i.e. skeletons). 
-    Only true and false are applicable as values. Default is false. Maps to the 
-    -sd option of the command line tool.</td></tr></table></div><div class="subsection"><a name="Example_build_file_using_the_custom_Ant_task"></a><h3>Example build file using the custom Ant task</h3><p>Following is an example ant build file that uses the custom Ant task.</p><p><pre>&lt;?xml version="1.0"?&gt;
+                	Last published: 02 December 2005
+                  | Doc for 0.93</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="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></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><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="Code_Generator_Wizard_-_Command_Line_Tool"></a><h2>Code Generator Wizard - Command Line Tool</h2><div class="subsection"><a name="Introduction"></a><h3>Introduction</h3><p>Just as old times there will be users who wish to use the command line
+version of the tool. This basic tool is implemented by the WSDL2Code class
+and just for the convenience in the java case (which would be the majority)
+there is another WSDL2Java class. One can choose to run the main classes
+directly or use one of the scripts to run the WSDL2Code and WSDL2Java
+appropriately. (the scripts are found in the bin directory of the binary
+distribution)</p></div><div class="subsection"><a name="Option_Reference"></a><h3>Option Reference</h3><table class="bodyTable"><tbody>
+    <tr class="a"><td width="50%">-uri &lt;Location of WSDL&gt;</td><td width="50%">WSDL file location. This should point to a WSDL file in
+        the local file system</td></tr>
+    <tr class="b"><td width="50%">-o &lt;output Location&gt; :</td><td width="50%">output file location. This is where the files would be
+        copied once the code generation is done. If this option is omitted
+        the generated files would be copied to the working directory.</td></tr>
+    <tr class="a"><td width="50%">-l &lt;language&gt;</td><td width="50%">Output language. Currently the code generator can
+        generate code in Java and CSharp. (CSharp support is limited) When
+        omitted defaults to Java.
+
+        <p>Allowed options are</p>
+        <ul>
+          <li>java</li>
+          <li>cs</li>
+        </ul>
+      </td></tr>
+    <tr class="b"><td width="50%">-p &lt;package name&gt;</td><td width="50%">The target package name. If omitted, a default package
+        (formed using the target  namespace of the WSDL) will be used.</td></tr>
+    <tr class="a"><td width="50%">-a</td><td width="50%">Generate code only for async style . when this option
+        is used the generated stubs will have only the asynchronous
+        invocation methods. Switched off by default.</td></tr>
+    <tr class="b"><td width="50%">-s</td><td width="50%">Generate code only for sync style . When this option is
+        used the generated stubs will have only the  synchronous invocation
+        methods. Switched off by default. When used with the -a option, this
+        takes precedence.</td></tr>
+    <tr class="a"><td width="50%">-t</td><td width="50%">Generates a test case. In the case of Java it would be
+        a junit test case. This test case will generate a dummy
+        implementation of the service and a relevant service.xml and will
+        deploy this particular service in a SimpleHttpServer. Then looking at
+        the WSDL it will generate test methods that will do web service
+        invocation both synchronously and asynchronously and test the
+        deployed service.</td></tr>
+    <tr class="b"><td width="50%">-ss</td><td width="50%">Generates server side code (i.e. skeletons). Default is
+        off</td></tr>
+    <tr class="a"><td width="50%">-sd</td><td width="50%">Generates the service descriptor (i.e. server.xml).
+        Default is off. only valid with -ss</td></tr>
+  <tr class="b"><td width="50%">-d</td><td width="50%">Specifies the Databinding framwork. valid values are xmlbeans,adb and none.
+      Default is xmlbeans.
+</td></tr>
+  </tbody></table></div></div><div class="section"><a name="Code_Generator_Wizard_-_Ant_Task"></a><h2>Code Generator Wizard - Ant Task</h2><p>The code generator also comes bundled with an Ant task. The ant task is
+implemented by the org.apache.axis2.tool.ant.AntCodegenTask class. Following
+are the ant task attributes.</p><div class="subsection"><a name="Ant_Task_Reference"></a><h3>Ant Task Reference</h3><table class="bodyTable"><tbody>
+    <tr class="a"><td width="50%" height="19">wsdlfilename</td><td width="50%" height="19">WSDL file location. Maps to the uri option
+        of the command line tool</td></tr>
+    <tr class="b"><td width="50%" height="76">output</td><td width="50%" height="76">output file location. This is where the
+        files would be copied once the code generation is done. If this
+        option is omitted the generated files would be copied to the working
+        directory. . Maps to the -o option of the command line tool</td></tr>
+    <tr class="a"><td width="50%" height="171">language</td><td width="50%" height="171">Output language. Currently the code
+        generator can generate code in Java and CSharp. (CSharp support is
+        limited) When omitted defaults to Java.
+
+        <p>Allowed options are</p>
+        <ul>
+          <li>java</li>
+          <li>cs</li>
+        </ul>
+
+        <p>Maps to the -l option of the command line tool</p>
+      </td></tr>
+    <tr class="b"><td width="50%" height="57">packagename</td><td width="50%" height="57">The target package name. If omitted, a
+        default package (formed using the target  namespace of the WSDL) will
+        be used.  Maps to the -p option of the command line tool.</td></tr>
+    <tr class="a"><td width="50%" height="75">asynconly</td><td width="50%" height="75">Generate code only for async style . when
+        this option is used the generated stubs will have only the
+        asynchronous invocation methods. Defaults to false if omitted Only
+        true and false are applicable as values. Maps to the -a option of the
+        command line tool.</td></tr>
+    <tr class="b"><td width="50%" height="16">testcase</td><td width="50%" height="16">Generates a test case</td></tr>
+    <tr class="a"><td width="50%" height="19">synconly</td><td width="50%" height="19">Generate code only for sync style . when
+        this option is used the generated stubs will have only the
+        synchronous invocation methods. Defaults to false if omitted. Only
+        true and false are applicable as values. Maps to the -s option of the
+        command line tool.</td></tr>
+    <tr class="b"><td width="50%" height="19">serverside</td><td width="50%" height="19">Generates server side code (i.e.
+        skeletons). Only true and false are applicable as values. Default is
+        false. Maps to the -ss option of the command line tool</td></tr>
+    <tr class="a"><td width="50%" height="18">generateserverxml</td><td width="50%" height="18">Generates server side code (i.e.
+        skeletons). Only true and false are applicable as values. Default is
+        false. Maps to the -sd option of the command line tool.</td></tr>
+  </tbody></table></div><div class="subsection"><a name="Example_build_file_using_the_custom_Ant_task"></a><h3>Example build file using the custom Ant task</h3><p>Following is an example ant build file that uses the custom Ant task.</p><p></p>
+    <div class="source"><pre>&lt;?xml version="1.0"?&gt;
 &lt;project name="CodegenExample" default="main" basedir="."&gt;
 &lt;target name="declare" &gt;
 &lt;taskdef name="codegen"
@@ -94,19 +105,436 @@
     generateserverxml="true"
 /&gt;
 &lt;/target&gt;
-&lt;/project&gt;</pre></p><p>Notice the main target that uses the "codegen" task which will use the org.apache.axis2.tool.ant.AntCodegenTask class and run the code generation tool internally while passing the relevant arguments and do the proper generation. If a user types</p><p>&gt;ant or &gt;ant main</p><p>it will generate the serverside code and service.xml for the given WSDL file(C:\test\wsdl\CombinedService.wsdl) and the generated code will be written to C:\ directory.</p><p>For this Ant task to work the following jars need to be in the class path.</p><ul>
+&lt;/project&gt;
+
+</pre></div>
+  <p>Notice the main target that uses the "codegen" task which will use the
+org.apache.axis2.tool.ant.AntCodegenTask class and run the code generation
+tool internally while passing the relevant arguments and do the proper
+generation. If a user types</p><p>&gt;ant or &gt;ant main</p><p>it will generate the serverside code and service.xml for the given WSDL
+file(C:\test\wsdl\CombinedService.wsdl) and the generated code will be
+written to C:\ directory.</p><p>For this Ant task to work the following jars need to be in the class
+path.</p><ul>
   <li>axis-M2.jar (from the Axis2 distribution)</li>
-  <li>axis-wsdl4j-1.2.jar (The WSDL4J implementation jar. Bundled with the Axis2 
-  distribution)</li>
-  <li>stax-api-1.0.jar (The StAX API's that contain the 
-  javax.xml.namespace.QName class. This jar may be replaced by any other jar 
-  that contains the javax.xml.namespace.QName implementation. However Axis2 uses 
-  this class from the stax-api-1.0.jar which comes bundled with the Axis2 
-  distribution)</li>
-</ul></div></div><div class="section"><a name="Appendix"></a><h2>Appendix</h2><ul>
+  <li>axis-wsdl4j-1.2.jar (The WSDL4J implementation jar. Bundled with the
+    Axis2 distribution)</li>
+  <li>stax-api-1.0.jar (The StAX API's that contain the
+    javax.xml.namespace.QName class. This jar may be replaced by any other
+    jar that contains the javax.xml.namespace.QName implementation. However
+    Axis2 uses this class from the stax-api-1.0.jar which comes bundled with
+    the Axis2 distribution)
+    <p></p>
+  </li>
+</ul></div></div><div class="section"><a name="Invoking_the_Code_Generator_from_Ant"></a><h2>Invoking the Code Generator from Ant</h2><p>Since the users may find altering their ant class path a bit daunting they
+can also follow an easier technique. The code generator main class can be
+invoked directly through the build file.</p><p>Below is an example of a full build.xml needed to run WSDL2Java and
+generate the Java source files, compile the sources, and build an AAR file
+ready for deployment:</p>
+    <div class="source"><pre>&lt;!DOCTYPE project&gt;
+
+&lt;project name="wsdl2java-example" default="usage" basedir="."&gt;
+
+  &lt;property name="project-name" value="wsdl2java-example"/&gt;
+  &lt;property file="build.properties"/&gt;
+  
+  &lt;property name="build" value="build"/&gt;
+
+  &lt;property name="src" value="src"/&gt;
+  &lt;property name="build.classes"      value="build/classes" /&gt;
+
+  &lt;path id="axis.classpath"&gt;
+     &lt;pathelement location="build/classes" /&gt;
+     &lt;fileset dir="${axis.home}/lib"&gt;
+       &lt;include name="**/*.jar" /&gt;
+
+     &lt;/fileset&gt;
+     &lt;pathelement location="${build.classes}" /&gt;
+  &lt;/path&gt;
+
+  &lt;target name="usage" description="Build file usage info (default task)"&gt;
+    &lt;echo message=" " /&gt;
+    &lt;echo message="${project-name} " /&gt;
+
+    &lt;echo message="-------------------------------------------------------" /&gt;
+    &lt;echo message=" " /&gt;
+    &lt;echo message="Available Targets:" /&gt;
+    &lt;echo message=" " /&gt;
+    &lt;echo message=" Compiling:" /&gt;
+    &lt;echo message="  compile           - Compiles the WSDL2Java source code" /&gt;
+
+    &lt;echo message=" " /&gt;
+    &lt;echo message=" Compiling client:" /&gt;
+    &lt;echo message="  compile_client           - Compiles the client source code" /&gt;
+    &lt;echo message=" " /&gt;
+    &lt;echo message=" Cleaning up:" /&gt;
+    &lt;echo message="  clean             - Delete class files" /&gt;
+
+    &lt;echo message=" " /&gt;
+    &lt;echo message=" WSDL:" /&gt;
+    &lt;echo message="  wsdl2java               - Generate source from WSDL" /&gt;
+    &lt;echo message=" " /&gt;
+    &lt;echo message=" AAR:" /&gt;
+    &lt;echo message="  aar               - Generate an .aar for deployment into WEB-INF/services" /&gt;
+
+    &lt;echo message=" " /&gt;
+    &lt;echo message=" Executing:" /&gt;
+    &lt;echo message="  runLogin               - Execute the runLogin client" /&gt;
+  &lt;/target&gt;
+
+  &lt;target name="prepare" &gt;
+    &lt;mkdir dir="${build.classes}" /&gt;
+
+  &lt;/target&gt;
+
+  &lt;target name="clean" &gt;
+     &lt;delete dir="${build}" /&gt;
+     &lt;delete dir="${dist}" /&gt;
+  &lt;/target&gt;
+
+  &lt;target name="compile"&gt;
+    &lt;echo message="Compiling wsdl2 files"/&gt;
+
+    &lt;javac
+     srcdir="output"
+     destdir="${build.classes}"
+     deprecation="true"
+     failonerror="true" debug="true"
+    &gt;
+
+     &lt;classpath refid="axis.classpath"/&gt; 
+    &lt;/javac&gt;
+
+  &lt;/target&gt;
+
+  &lt;target name="wsdl2java" depends="clean,prepare"&gt;
+      &lt;delete dir="output" /&gt;
+      &lt;java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"&gt;
+          &lt;classpath refid="axis.classpath"/&gt; 
+          &lt;arg value="-uri"/&gt;
+
+          &lt;arg file="wsdl/LoginEndpoint.wsdl"/&gt;
+          &lt;arg value="-ss"/&gt;
+          &lt;arg value="-sd"/&gt;
+          &lt;arg value="-o"/&gt;
+          &lt;arg file="output"/&gt;
+          &lt;arg value="-p"/&gt;
+
+          &lt;arg value="org.example.types"/&gt;
+      &lt;/java&gt;
+
+      &lt;!-- Move the schema folder to classpath--&gt;
+      &lt;move todir="${build.classes}"&gt;
+          &lt;fileset dir="output"&gt;
+              &lt;include name="**/*schema*/**/*.class"/&gt;
+
+              &lt;include name="**/*schema*/**/*.xsb"/&gt;
+          &lt;/fileset&gt;
+      &lt;/move&gt;
+
+  &lt;/target&gt;
+
+  &lt;target name="jar_wsdl" depends="compile"&gt;
+
+  &lt;jar jarfile="lib/axis2_example_wsdl.jar" &gt;
+  &lt;fileset dir="${build}/classes" /&gt;
+  &lt;/jar&gt;
+  &lt;/target&gt;
+  
+  &lt;!-- build an .aar file for axis2 web services --&gt;
+  &lt;target name="aar" depends="compile"&gt;
+
+     &lt;delete dir="${build.classes}/META-INF" /&gt;
+     &lt;mkdir dir="${build.classes}/META-INF" /&gt;
+     &lt;copy todir="${build.classes}/META-INF" &gt;
+       &lt;fileset dir="output/service_descriptors/LoginEndpoint" &gt;
+         &lt;!-- axis2 web services definitions file --&gt;
+         &lt;include name="services.xml"/&gt;
+
+       &lt;/fileset&gt;
+       &lt;fileset dir="wsdl" &gt;
+         &lt;include name="LoginEndpoint.wsdl"/&gt;
+       &lt;/fileset&gt;
+     &lt;/copy&gt;
+     &lt;jar jarfile="dist/LoginEndpoint.aar" &gt;
+
+       &lt;fileset dir="${build.classes}" /&gt;
+     &lt;/jar&gt;
+  &lt;/target&gt;
+
+  &lt;target name="compile_client"&gt;
+    &lt;echo message="Compiling client files"/&gt;
+
+    &lt;javac
+     srcdir="src"
+     destdir="${build.classes}"
+     deprecation="true"
+     failonerror="true" debug="true"
+    &gt;
+
+     &lt;classpath refid="axis.classpath"/&gt; 
+    &lt;/javac&gt;
+
+  &lt;/target&gt;
+
+  &lt;target name="runLogin" depends="compile_client" description="run webLogin client"&gt;
+
+     &lt;echo message="running the webLogin client" /&gt;
+     &lt;java classname="org.client.LoginClient" &gt;
+      &lt;classpath refid="axis.classpath"/&gt; 
+    &lt;/java&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+
+
+</pre></div>
+  <p>The above build.xml depends on a build.properties file which defines
+'axis.home', such as:</p><p>axis.home=/home/username/axis2-0.93-bin/</p><p>The above build.xml example also assumes three empty directories exist,
+'dist', 'lib', and 'src'.</p><p>Below is a validated WSDL Document following the Document/Literal Style.
+The name of this file matches the name used in the WSDL2Java ant task above,
+LoginEndpoint.wsdl</p>
+    <div class="source"><pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+
+&lt;definitions name="LoginService" targetNamespace="http://login" xmlns:tns="http://login" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://login/types"&gt;
+
+  &lt;types&gt;
+    &lt;schema targetNamespace="http://login/types" xmlns:tns="http://login/types" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema"&gt;
+      &lt;import namespace="http://schemas.xmlsoap.org/soap/encoding/"/&gt;
+      &lt;element name="returnWebLoginElement"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+
+            &lt;element ref="tns:soap_session_idElement"/&gt;
+            &lt;element ref="tns:web_user_nameElement"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      &lt;element name="webLoginElement"&gt;
+
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element ref="tns:user_nameElement"/&gt;
+            &lt;element ref="tns:user_passwordElement"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+
+      &lt;/element&gt;
+      &lt;element name="user_nameElement" type="xsd:string"/&gt;
+      &lt;element name="user_passwordElement" type="xsd:string"/&gt;
+      &lt;element name="soap_session_idElement" type="xsd:string"/&gt;
+      &lt;element name="web_user_nameElement" type="xsd:string"/&gt;
+&lt;/schema&gt;&lt;/types&gt;
+
+  &lt;message name="LoginEndpoint_webLogin"&gt;
+     &lt;part name="parameters" element="ns2:webLoginElement"/&gt;
+  &lt;/message&gt;
+  &lt;message name="LoginEndpoint_webLoginResponse"&gt;
+    &lt;part name="result" element="ns2:returnWebLoginElement"/&gt;
+  &lt;/message&gt;
+
+  &lt;portType name="LoginEndpoint"&gt;
+    &lt;operation name="webLogin"&gt;
+      &lt;input message="tns:LoginEndpoint_webLogin" name="LoginEndpoint_webLogin"/&gt;
+      &lt;output message="tns:LoginEndpoint_webLoginResponse" name="LoginEndpoint_webLoginResponse"/&gt;
+    &lt;/operation&gt;
+  &lt;/portType&gt;
+
+  &lt;binding name="LoginEndpointBinding" type="tns:LoginEndpoint"&gt;
+    &lt;soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/&gt;
+    &lt;operation name="webLogin"&gt;
+      &lt;soap:operation soapAction="webLogin"/&gt;
+      &lt;input name="LoginEndpoint_webLogin"&gt;
+        &lt;soap:body use="literal"/&gt;
+
+      &lt;/input&gt;
+      &lt;output name="LoginEndpoint_webLoginResponse"&gt; 
+        &lt;soap:body use="literal"/&gt;
+      &lt;/output&gt;
+    &lt;/operation&gt;
+  &lt;/binding&gt;
+
+  &lt;service name="LoginService"&gt;
+    &lt;port name="LoginEndpointPort" binding="tns:LoginEndpointBinding"&gt;
+      &lt;soap:address location="http://localhost:8080/axis2/services/LoginEndpoint"/&gt;&lt;/port&gt;&lt;/service&gt;&lt;/definitions&gt;
+
+</pre></div>
+  <p>Place the above file, named LoginEndpoint.wsdl, in the directory 'wsdl'
+below the build.xml file. Run the WSDL2Java command via the ant task defined
+above, and there will be a directory called 'output' created. This directory
+contains the WSDL2Java generated source. An important detail is that an
+XMLBean class file is also generated by WSDL2Java, TypeSystemHolder.class.
+That file is placed into build/classes by the above ant task and will be
+needed to compile the generated sources.</p><p>The next step is to modify the generated Skeleton Java Source file - the
+Web Service. This file as generated returns null and needs to be updated to
+contain the business logic.</p><p>After the WSDL2Java command runs the file LoginEndpoint.wsdl, edit the
+following file:</p><p>output/org/example/types/LoginEndpointSkeleton.java. You should see the
+following code:</p>
+    <div class="source"><pre>package org.example.types;
+    /**
+     *  Auto generated java skeleton for the service by the Axis code generator
+     */
+    public class LoginEndpointSkeleton {
+     
+ 
+        /**
+         * Auto generated method signature
+         
+          * @param param0
+         
+         */
+        public  org.example.types.databinding.login.ReturnWebLoginElementDocument webLogin
+                  (org.example.types.databinding.login.WebLoginElementDocument param0 ){
+                //Todo fill this with the necessary business logic
+                return null;
+        }
+     
+    }
+
+</pre></div>
+  <p>Replace the contents of this file with the following, which uses the
+complex types generated by WSDL2Java and the example wsdl file:</p>
+    <div class="source"><pre>package org.example.types;
+import org.example.types.databinding.login.ReturnWebLoginElementDocument;
+import org.example.types.databinding.login.WebLoginElementDocument.WebLoginElement;
+
+/**
+ *  Auto generated java skeleton for the service by the Axis code generator
+ */
+public class LoginEndpointSkeleton {
+ 
+    /**
+     * Auto generated method signature
+     
+      * @param webLoginElementDocument changed from param0
+     
+     */
+    public  org.example.types.databinding.login.ReturnWebLoginElementDocument webLogin
+              (org.example.types.databinding.login.WebLoginElementDocument webLoginElementDocument ){
+
+            //Todo fill this with the necessary business logic
+            System.out.println("LoginEndpointSkeleton.webLogin reached successfully!");
+
+            // Get parameters passed in 
+            WebLoginElement webLoginElement = webLoginElementDocument.getWebLoginElement();
+            String userName = webLoginElement.getUserNameElement();
+            String password = webLoginElement.getUserPasswordElement();
+            System.out.println("LoginEndpointSkeleton.webLogin userName: " + userName);
+            System.out.println("LoginEndpointSkeleton.webLogin password: " + password);
+     
+            // input paramaters would be used here 
+    
+            // prepare output
+            org.example.types.databinding.login.ReturnWebLoginElementDocument retDoc =
+                org.example.types.databinding.login.ReturnWebLoginElementDocument.Factory.newInstance();
+            
+            org.example.types.databinding.login.ReturnWebLoginElementDocument.ReturnWebLoginElement
+            retElement =
+             org.example.types.databinding.login.ReturnWebLoginElementDocument.ReturnWebLoginElement.Factory.newInstance();
+            
+            retElement.setWebUserNameElement("joe sixpack");
+            retElement.setSoapSessionIdElement("some_random_string");
+            System.out.println("validate retElement: " + retElement.validate());
+
+            retDoc.setReturnWebLoginElement(retElement);
+            System.out.println("validate retDoc: " + retDoc.validate());
+            
+            System.out.println("LoginEndpointSkeleton.webLogin returning...");
+    
+            return retDoc; 
+    
+
+    }
+ 
+}
+
+
+</pre></div>
+  <p>The next steps assume the axis2.war has been deployed and has expanded in
+a servlet container.</p><p>Run the 'jar_wsdl' ant task from the example build.xml, which generates a
+jar file lib/axis2_example_wsdl.jar in the 'lib' directory under the
+build.xml . This jar will be used to compile the client, and also will be
+placed in the servlet container. Next, run the 'aar' ant task from the
+example build.xml, which generates the deployable axis2 web service. Place
+dist/LoginEndpoint.aar into axis2/WEB-INF/services . Place
+lib/axis2_example_wsdl.jar into axis2/WEB-INF/lib . Verify the happy axis
+page loaded the services correctly - there should be the service
+'LoginEndpoint' with the available operation 'webLogin' displayed.</p><p>The last step is to create and run the client. In the src directory create
+the file org.client.LoginClient.java, with the contents below:</p>
+    <div class="source"><pre>package org.client;
+
+import org.apache.axis2.AxisFault;
+
+import org.example.types.LoginEndpointStub;
+import org.example.types.databinding.login.WebLoginElementDocument;
+import org.example.types.databinding.login.WebLoginElementDocument.WebLoginElement;
+import org.example.types.databinding.login.ReturnWebLoginElementDocument;
+import org.example.types.databinding.login.WebLoginElementDocument;
+import org.example.types.databinding.login.WebLoginElementDocument.WebLoginElement;
+
+/**
+ * Login.
+ *
+ */
+public class LoginClient {
+
+    public static void main(String[] args) {
+        try {
+
+            System.out.println("webLogin, firing...");
+            LoginEndpointStub stub = 
+                new LoginEndpointStub(null, 
+                    "http://localhost:8080/axis2/services/LoginEndpoint");
+                    
+            WebLoginElementDocument webLoginElementDocument 
+                = WebLoginElementDocument.Factory.newInstance();
+            WebLoginElement webLoginElement = 
+                WebLoginElement.Factory.newInstance();
+            webLoginElement.setUserNameElement("joe");
+            webLoginElement.setUserPasswordElement("sixpack");
+            
+            webLoginElementDocument.setWebLoginElement(webLoginElement);
+            
+            System.out.println("validate: " +  webLoginElement.validate());
+             stub.webLogin(webLoginElementDocument);
+ 
+            ReturnWebLoginElementDocument returnWebLoginElementDocument = 
+                stub.webLogin(webLoginElementDocument);
+
+            System.out.println("Client returned");
+
+            org.example.types.databinding.login.ReturnWebLoginElementDocument.ReturnWebLoginElement
+                retElement = returnWebLoginElementDocument.getReturnWebLoginElement();
+
+            System.out.println("WebUserName: " + retElement.getWebUserNameElement());
+            System.out.println("SOAPSessionId: " + retElement.getSoapSessionIdElement());
+            System.out.println("webLogin, completed!!!");
+
+        } catch (AxisFault axisFault) {
+            axisFault.printStackTrace();
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        }
+    }
+}
+
+
+
+</pre></div>
+  <p>Now run the ant task 'ant runLogin' . The following output should
+appear:</p>
+    <div class="source"><pre>runLogin:
+     [echo] running the webLogin client
+     [java] webLogin, firing...
+     [java] validate: true
+     [java] Client returned
+     [java] WebUserName: joe sixpack
+     [java] SOAPSessionId: some_random_string
+     [java] webLogin, completed!!!
+
+</pre></div>
+  <p></p></div><div class="section"><a name="Appendix"></a><h2>Appendix</h2><ul>
   <li>Eclipse reference - <a href="http://www.eclipse.org/" class="externalLink" title="External Link">
-  http://www.eclipse.org/</a></li>
-  <li>Custom Ant Tasks  -
-  <a href="http://ant.apache.org/manual/develop.html" class="externalLink" title="External Link">
-  http://ant.apache.org/manual/develop.html</a></li>
+    http://www.eclipse.org/</a></li>
+  <li>Custom Ant Tasks  - <a href="http://ant.apache.org/manual/develop.html" class="externalLink" title="External Link">
+    http://ant.apache.org/manual/develop.html</a></li>
 </ul><p> </p><p> </p><p> </p><p> </p><p> </p></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>