You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2006/03/09 06:23:33 UTC

svn commit: r384434 [2/3] - /webservices/axis2/trunk/java/xdocs/latest/

Modified: webservices/axis2/trunk/java/xdocs/latest/userguide.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/latest/userguide.html?rev=384434&r1=384433&r2=384434&view=diff
==============================================================================
--- webservices/axis2/trunk/java/xdocs/latest/userguide.html (original)
+++ webservices/axis2/trunk/java/xdocs/latest/userguide.html Wed Mar  8 21:23:30 2006
@@ -1,183 +1,183 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-  <meta http-equiv="content-type" content="">
-  <title>Axis2 User's Guide</title>
-</head>
-
-<body lang="en-US" dir="ltr">
-<h1 align="center"><a name="_Toc96697849" id="_Toc96697849"></a>Axis2 User's
-Guide</h1>
-
-<p><i>Version 0.94</i></p>
-
-<p align="right">Pages: <b>Content</b>, <a href="userguide1.html">1</a>, <a href="userguide2.html">2</a>, <a
-href="userguide3.html">3</a>, <a href="userguide4.html">4</a>, <a href="userguide5.html" >5</a></p>
-
-<h2>Content</h2>
-<ul>
-  <li><p><a href="userguide1.html#Axis2_User's_Guide">Introduction</a></p>
-    <ul>
-      <li><a href="userguide1.html#Attention">Attention</a></li>
-      <li><a href="userguide1.html#What_is_Axis2_">What is Axis2?</a></li>
-      <li><a href="userguide1.html#Axis2_Complete_Features_List">Axis2
-        Complete Features List</a>
-        <ul>
-          <li><a
-            href="userguide1.html#Experimental_Features_List">Experimental
-            Features List</a></li>
-          <li><a
-            href="userguide1.html#Major_Changes_Since_Last_Release">Major
-            Changes Since Last Release</a></li>
-        </ul>
-      </li>
-      <li><a href="userguide1.html#Tools_included_in this_Release">Tools
-        included in this Release</a></li>
-      <li><a href="userguide1.html#What's_still_to_do_">What's still to
-        do?</a></li>
-    </ul>
-  </li>
-  <li><p><a href="userguide2.html#Axis2_User's_Guide">Web Services Using
-    Axis2</a></p>
-    <ul>
-      <li><a
-        href="userguide2.html#Writing_Web_Services_Using Axis2's_Primary_APIs">Writing
-        Web Services using Axis2 APIs</a>
-        <ul>
-          <li><a
-            href="userguide2.html#Creating_Web_Service__MyService_">Creating
-            Web Service (MyService)</a></li>
-          <li><a href="userguide2.html#How_to_write_the_Web_Service_">How to
-            write the Web Service?</a>
-            <ul>
-              <li><a
-                href="userguide2.html#Step1_:Write_the_Implementation_Class">Step1
-                :Write the Implementation Class</a></li>
-              <li><a
-                href="userguide2.html#Step2_:Write_the_services_xml_file">Step2
-                :Write the services.xml file</a></li>
-              <li><a
-                href="userguide2.html#Step3_:Create_the_Web_Service_Archive">Step3
-                :Create the Web Service Archive</a></li>
-              <li><a
-                href="userguide2.html#Step4_:Deploy_the_Web_Service">Step4
-                :Deploy the Web Service</a></li>
-            </ul>
-          </li>
-        </ul>
-      </li>
-      <li><p><a
-        href="userguide2.html#Writing_Web_Services_by_Code_Generating_Skeleton">Writing
-        Web Services by Code Generating Skeleton</a></p>
-        <ul>
-          <li><a href="userguide2.html#WSDL2Java_Tool">WSDL2Java Tool</a></li>
-          <li><a
-            href="userguide2.html#Implement_the_Business_Logic">Implement the
-            Business Logic</a></li>
-          <li><a href="userguide2.html#echoString">echoString</a></li>
-          <li><a
-          href="userguide2.html#echoStringArray">echoStringArray</a></li>
-          <li><a href="userguide2.html#echoStruct">echoStruct</a></li>
-          <li><a href="userguide2.html#services_xml">services.xml</a></li>
-          <li><a href="userguide2.html#Packaging">Packaging</a></li>
-        </ul>
-      </li>
-    </ul>
-  </li>
-</ul>
-<ul>
-  <li><p><a href="userguide3.html#Axis2_User's_Guide">Web Service Clients
-    Using Axis2</a></p>
-    <ul>
-      <li><a
-        href="userguide3.html#Writing_Web_Service_Clients_using_Axis2's_Primary_APIs">Writing
-        Web Service Clients using Axis2's Primary APIs</a>
-        <ul>
-          <li><a
-            href="userguide3.html#EchoBlockingClient">EchoBlockingClient</a></li>
-          <li><a href="userguide3.html#PingClient">PingClient</a></li>
-          <li><a
-            href="userguide3.html#EchoNonBlockingClient">EchoNonBlockingClient</a></li>
-          <li><a
-            href="userguide3.html#EchoNonBlockingDualClient">EchoNonBlockingDualClient</a></li>
-          <li><a
-            href="userguide3.html#EchoBlockingDualClient">EchoBlockingDualClient</a></li>
-        </ul>
-      </li>
-      <li><p><a
-        href="userguide3.html#Writing_Web_Service_Clients_using_Code_Generation_with_Data_Binding_Support">Writing
-        Web Service Clients using Code Generation with Data Binding
-        Support</a></p>
-        <ul>
-          <li><a href="userguide3.html#Client_for_echoVoid_Operation">Client
-            for echoVoid Operation</a></li>
-          <li><a
-            href="userguide3.html#Client_for_echoString_Operation">Client for
-            echoString Operation</a></li>
-          <li><a href="userguide3.html#Client_for_echoStringArray_Operation">Cient for
-            echoStringArray Operation</a></li>
-          <li><a
-            href="userguide3.html#Client_for_echoStruct_Operation">Client for
-            echoStruct Operation</a></li>
-        </ul>
-      </li>
-    </ul>
-  </li>
-  <li><p><a href="userguide4.html#Axis2_User's_Guide">Modules</a></p>
-    <ul>
-      <li><a href="userguide4.html#MyService_with_a_Logging_Module">MyService
-        with a Logging Module</a>
-        <ul>
-          <li><a href="userguide4.html#Step1_:_LoggingModule_Class">Step1 :
-            LoggingModule Class</a></li>
-          <li><a href="userguide4.html#Step2_:_LogHandler">Step2 :
-            LogHandler</a></li>
-          <li><a href="userguide4.html#Step3_:_module_xml">Step3 :
-            module.xml</a></li>
-          <li><a
-            href="userguide4.html#Step_4:_Modify_the_&quot;axis2_xml&quot;">Step
-            4: Modify the "axis2.xml"</a></li>
-          <li><a
-            href="userguide4.html#Step5_:_Modify_the_&quot;services_xml&quot;">Step5
-            : Modify the "services.xml"</a></li>
-          <li><a href="userguide4.html#Step6_:_Packaging">Step6 :
-            Packaging</a></li>
-          <li><a
-            href="userguide4.html#Step7_:_Deploy_the_Module_in_Axis2">Step7 :
-            Deploy the Module in Axis2</a></li>
-        </ul>
-      </li>
-    </ul>
-  </li>
-  <li><p><a href="userguide5.html#Axis2_User's_Guide">Other Samples</a></p>
-    <ul>
-      <li><a href="userguide5.html#Google_Spell_Checker_Sample">Google Spell
-        Checker Sample</a></li>
-      <li><a href="userguide5.html#Google_Search_Sample">Google Search
-        Sample</a></li>
-      <li><a href="userguide5.html#Amazon_Queuing_Service">Amazon Queuing
-        Service</a></li>
-    </ul>
-  </li>
-  <li><p>Advanced Topics</p>
-    <ul>
-      <li><a href="rest-ws.html" target="_blank">RESTful Web Services</a></li>
-      <li><a href="tcp-transport.html" target="_blank">TCP transport</a></li>
-      <li><a href="mail-transport.html" target="_blank">Mail
-      Transport</a></li>
-      <li><a href="http-transport.html" target="_blank">HTTP
-      Transports</a></li>
-      <li><a href="mtom-guide.html" target="_blank">MTOM with Axis2</a></li>
-      <li><a href="security-module.html" target="_blank">Securing SOAP
-        Messages with WSS4J</a></li>
-    </ul>
-  </li>
-</ul>
-
-<p align="right"><a href="userguide1.html">Next Page <img
-src="images/arrow_right.gif"></a></p>
-
-<p>Pages: <b>Content</b>, <a href="userguide1.html">1</a>, <a href="userguide2.html">2</a>, <a href="userguide3.html">3</a>, <a href="userguide4.html">4</a>, <a
-href="userguide5.html">5</a></p>
-</body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+  <meta http-equiv="content-type" content="">
+  <title>Axis2 User's Guide</title>
+</head>
+
+<body lang="en-US" dir="ltr">
+<h1 align="center"><a name="_Toc96697849" id="_Toc96697849"></a>Axis2 User's
+Guide</h1>
+
+<p><i>Version 0.95</i></p>
+
+<p align="right">Pages: <b>Content</b>, <a href="userguide1.html">1</a>, <a href="userguide2.html">2</a>, <a
+href="userguide3.html">3</a>, <a href="userguide4.html">4</a>, <a href="userguide5.html" >5</a></p>
+
+<h2>Content</h2>
+<ul>
+  <li><p><a href="userguide1.html#Axis2_User's_Guide">Introduction</a></p>
+    <ul>
+      <li><a href="userguide1.html#Attention">Attention</a></li>
+      <li><a href="userguide1.html#What_is_Axis2_">What is Axis2?</a></li>
+      <li><a href="userguide1.html#Axis2_Complete_Features_List">Axis2
+        Complete Features List</a>
+        <ul>
+          <li><a
+            href="userguide1.html#Experimental_Features_List">Experimental
+            Features List</a></li>
+          <li><a
+            href="userguide1.html#Major_Changes_Since_Last_Release">Major
+            Changes Since Last Release</a></li>
+        </ul>
+      </li>
+      <li><a href="userguide1.html#Tools_included_in this_Release">Tools
+        included in this Release</a></li>
+      <li><a href="userguide1.html#What's_still_to_do_">What's still to
+        do?</a></li>
+    </ul>
+  </li>
+  <li><p><a href="userguide2.html#Axis2_User's_Guide">Web Services Using
+    Axis2</a></p>
+    <ul>
+      <li><a
+        href="userguide2.html#Writing_Web_Services_Using Axis2's_Primary_APIs">Writing
+        Web Services using Axis2 APIs</a>
+        <ul>
+          <li><a
+            href="userguide2.html#Creating_Web_Service__MyService_">Creating
+            Web Service (MyService)</a></li>
+          <li><a href="userguide2.html#How_to_write_the_Web_Service_">How to
+            write the Web Service?</a>
+            <ul>
+              <li><a
+                href="userguide2.html#Step1_:Write_the_Implementation_Class">Step1
+                :Write the Implementation Class</a></li>
+              <li><a
+                href="userguide2.html#Step2_:Write_the_services_xml_file">Step2
+                :Write the services.xml file</a></li>
+              <li><a
+                href="userguide2.html#Step3_:Create_the_Web_Service_Archive">Step3
+                :Create the Web Service Archive</a></li>
+              <li><a
+                href="userguide2.html#Step4_:Deploy_the_Web_Service">Step4
+                :Deploy the Web Service</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+      <li><p><a
+        href="userguide2.html#Writing_Web_Services_by_Code_Generating_Skeleton">Writing
+        Web Services by Code Generating Skeleton</a></p>
+        <ul>
+          <li><a href="userguide2.html#WSDL2Java_Tool">WSDL2Java Tool</a></li>
+          <li><a
+            href="userguide2.html#Implement_the_Business_Logic">Implement the
+            Business Logic</a></li>
+          <li><a href="userguide2.html#echoString">echoString</a></li>
+          <li><a
+          href="userguide2.html#echoStringArray">echoStringArray</a></li>
+          <li><a href="userguide2.html#echoStruct">echoStruct</a></li>
+          <li><a href="userguide2.html#services_xml">services.xml</a></li>
+          <li><a href="userguide2.html#Packaging">Packaging</a></li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+</ul>
+<ul>
+  <li><p><a href="userguide3.html#Axis2_User's_Guide">Web Service Clients
+    Using Axis2</a></p>
+    <ul>
+      <li><a
+        href="userguide3.html#Writing_Web_Service_Clients_using_Axis2's_Primary_APIs">Writing
+        Web Service Clients using Axis2's Primary APIs</a>
+        <ul>
+          <li><a
+            href="userguide3.html#EchoBlockingClient">EchoBlockingClient</a></li>
+          <li><a href="userguide3.html#PingClient">PingClient</a></li>
+          <li><a
+            href="userguide3.html#EchoNonBlockingClient">EchoNonBlockingClient</a></li>
+          <li><a
+            href="userguide3.html#EchoNonBlockingDualClient">EchoNonBlockingDualClient</a></li>
+          <li><a
+            href="userguide3.html#EchoBlockingDualClient">EchoBlockingDualClient</a></li>
+        </ul>
+      </li>
+      <li><p><a
+        href="userguide3.html#Writing_Web_Service_Clients_using_Code_Generation_with_Data_Binding_Support">Writing
+        Web Service Clients using Code Generation with Data Binding
+        Support</a></p>
+        <ul>
+          <li><a href="userguide3.html#Client_for_echoVoid_Operation">Client
+            for echoVoid Operation</a></li>
+          <li><a
+            href="userguide3.html#Client_for_echoString_Operation">Client for
+            echoString Operation</a></li>
+          <li><a href="userguide3.html#Client_for_echoStringArray_Operation">Cient for
+            echoStringArray Operation</a></li>
+          <li><a
+            href="userguide3.html#Client_for_echoStruct_Operation">Client for
+            echoStruct Operation</a></li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li><p><a href="userguide4.html#Axis2_User's_Guide">Modules</a></p>
+    <ul>
+      <li><a href="userguide4.html#MyService_with_a_Logging_Module">MyService
+        with a Logging Module</a>
+        <ul>
+          <li><a href="userguide4.html#Step1_:_LoggingModule_Class">Step1 :
+            LoggingModule Class</a></li>
+          <li><a href="userguide4.html#Step2_:_LogHandler">Step2 :
+            LogHandler</a></li>
+          <li><a href="userguide4.html#Step3_:_module_xml">Step3 :
+            module.xml</a></li>
+          <li><a
+            href="userguide4.html#Step_4:_Modify_the_&quot;axis2_xml&quot;">Step
+            4: Modify the "axis2.xml"</a></li>
+          <li><a
+            href="userguide4.html#Step5_:_Modify_the_&quot;services_xml&quot;">Step5
+            : Modify the "services.xml"</a></li>
+          <li><a href="userguide4.html#Step6_:_Packaging">Step6 :
+            Packaging</a></li>
+          <li><a
+            href="userguide4.html#Step7_:_Deploy_the_Module_in_Axis2">Step7 :
+            Deploy the Module in Axis2</a></li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+  <li><p><a href="userguide5.html#Axis2_User's_Guide">Other Samples</a></p>
+    <ul>
+      <li><a href="userguide5.html#Google_Spell_Checker_Sample">Google Spell
+        Checker Sample</a></li>
+      <li><a href="userguide5.html#Google_Search_Sample">Google Search
+        Sample</a></li>
+      <li><a href="userguide5.html#Amazon_Queuing_Service">Amazon Queuing
+        Service</a></li>
+    </ul>
+  </li>
+  <li><p>Advanced Topics</p>
+    <ul>
+      <li><a href="rest-ws.html" target="_blank">RESTful Web Services</a></li>
+      <li><a href="tcp-transport.html" target="_blank">TCP transport</a></li>
+      <li><a href="mail-transport.html" target="_blank">Mail
+      Transport</a></li>
+      <li><a href="http-transport.html" target="_blank">HTTP
+      Transports</a></li>
+      <li><a href="mtom-guide.html" target="_blank">MTOM with Axis2</a></li>
+      <li><a href="security-module.html" target="_blank">Securing SOAP
+        Messages with WSS4J</a></li>
+    </ul>
+  </li>
+</ul>
+
+<p align="right"><a href="userguide1.html">Next Page <img
+src="images/arrow_right.gif"></a></p>
+
+<p>Pages: <b>Content</b>, <a href="userguide1.html">1</a>, <a href="userguide2.html">2</a>, <a href="userguide3.html">3</a>, <a href="userguide4.html">4</a>, <a
+href="userguide5.html">5</a></p>
+</body>
+</html>

Modified: webservices/axis2/trunk/java/xdocs/latest/userguide1.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/latest/userguide1.html?rev=384434&r1=384433&r2=384434&view=diff
==============================================================================
--- webservices/axis2/trunk/java/xdocs/latest/userguide1.html (original)
+++ webservices/axis2/trunk/java/xdocs/latest/userguide1.html Wed Mar  8 21:23:30 2006
@@ -1,227 +1,227 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-  <meta http-equiv="content-type" content="">
-  <title>Axis2 User's Guide</title>
-</head>
-
-<body lang="en-US" dir="ltr">
-<h4><a name="Axis2_User's_Guide">Axis2 User's Guide</a></h4>
-
-<p><i>Version 0.94</i></p>
-<i>User Feedback: <a
-href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></i>
-
-<p align="right">Pages: <a href="userguide.html">Content</a>, <b>1</b>, <a href="userguide2.html">2</a>, <a href="userguide3.html">3</a>, <a
-href="userguide4.html">4</a>, <a href="userguide5.html">5</a></p>
-
-<h2><a name="Introduction">Introduction</a></h2>
-
-<p>Welcome to Axis2, the next generation of Apache Axis!!! This User's Guide
-will help you to understand what Axis2 has to offer and how to get started
-with it. We hope you will benefit from the power of Axis2.</p>
-
-<h3><a name="Attention">Attention</a></h3>
-<ul>
-  <li><p style="margin-bottom: 0in">This User's Guide is written based on
-    Axis2 standard binary distribution. (The standard binary distribution can
-    be created from the source distribution using the maven goal <code>$maven
-    dist-std-bin</code>). Please refer the <a
-    href="installationguide.html#Download_Axis2">installation guide</a> for further
-    information on the downloadables available in this release.</p>
-  </li>
-  <li><p>If you are new to Axis, it's highly recommended that you read <a
-    href="http://ws.apache.org/axis/java/user-guide.html" target="_blank">Axis 1.x User's
-    Guide</a> before you go any further in this guide.</p>
-  </li>
-</ul>
-
-<h3><a name="What_is_Axis2_">What is Axis2?</a></h3>
-
-<p>Axis2 is the next generation of Apache Axis. In late August 2004, during
-the Axis2 Summit held in Colombo, Sri Lanka, a new architecture for Axis was
-introduced which was much more flexible, efficient and configurable. Although
-the architecture is new, some of the well established concepts from Axis 1.x
-like handlers are preserved in Axis2. Axis2 comes with many new features,
-enhancements and industry specification implementations.</p>
-
-<p>After months of continued discussion and coding in this direction, Axis2
-now delivers the following key features:</p>
-<ul>
-  <li><p style="margin-bottom: 0in"><strong>Speed</strong> - Axis2 uses its
-    own object model and StAX (Streaming API for XML) parsing to achieve
-    significantly greater speed than earlier versions of Apache Axis.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>Low memory foot print</strong>-
-    Axis2 was designed ground-up keeping low memory foot print in mind.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>AXIOM</strong> - Axis2 comes with
-    its own light-weight object model, AXIOM, for message processing which is
-    extensible, high performance and developer convenient</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong><a name="Hot_Deployment">Hot
-    Deployment</a></strong> - Axis2 is equipped with the capability of
-    deploying web service &amp; handlers while system is up and running. In
-    other words, new services can be added to the system without having to
-    shut down server.Drop the required Web service archive into the services
-    directory in the repository and deployment model will automatically
-    deploy the service and make it available for use.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>Asynchronous Web
-    Services</strong> - Axis2 now supports asynchronous web services &amp;
-    asynchronous web services invocation using non-blocking clients and
-    transports .</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>MEP Support</strong> - Axis2 now
-    comes handy with the flexibility to support Message Exchange Patterns
-    (MEPs) with in-built support for basic MEPs defined in WSDL 2.0.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>Flexibility</strong> - The Axis2
-    architecture gives the developer complete freedom to insert extensions
-    into the engine for custom header processing, system management, or
-    <em>anything else you can imagine</em>.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>Stability</strong> - Axis2
-    defines a set of published interfaces which change relatively slowly
-    compared to the rest of Axis.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>Component-oriented
-    Deployment</strong> - You can easily define reusable networks of Handlers
-    to implement common patterns of processing for your applications, or to
-    distribute to partners.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>Transport Framework</strong> - We
-    have a clean and simple abstraction for integrating and using Transports
-    (i.e., senders and listeners for SOAP over various protocols such as
-    SMTP, FTP, message-oriented middleware, etc), and the core of the engine
-    is completely transport-independent.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>WSDL support</strong> - Axis2
-    supports the <a href="http://www.w3.org/TR/wsdl" target="_blank">Web Service Description
-    Language</a>, version 1.1 and 2.0, which allows you to easily build stubs
-    to access remote services, and also to automatically export
-    machine-readable descriptions of your deployed services from Axis2.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>Add-ons</strong> Several web
-    services specifications have been incorporated including <a
-    href="http://ws.apache.org/wss4j/" target="_blank">WSS4J</a> for security, <a
-    href="http://ws.apache.org/sandesha/" target="_blank">Sandesha</a> for reliable
-    messaging, <a href="http://ws.apache.org/kandula/" target="_blank">Kandula</a> which is
-    an encapsulation of WS-Coordination, WS-AtomicTransaction and
-    WS-BusinessActivity.</p>
-  </li>
-  <li><p style="margin-bottom: 0in"><strong>Composition and
-    Extensibility</strong> - modules and phases improve support for
-    composability and extensibility. Modules supports composability and is
-    able to add support for new WS-* specifications in a simple and clean
-    manner. They are however not <a href="#Hot_Deployment">hot deployable</a>
-    as they change the overall behavior of the system.</p>
-  </li>
-</ul>
-
-<p>We hope you enjoy using Axis2. Please note that this is an open-source
-effort. If you feel the code could use some new features or fixes, please get
-involved and lend us a hand! The Axis developer community welcomes your
-participation.</p>
-
-<p>Let us know what you think!</p>
-
-<p>Please send your feedback on Axis2 to "<a
-href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a>" and make
-sure to prefix the subject of the mail with [Axis2].</p>
-
-<h3><a name="Axis2_Complete_Features_List">Axis2 Complete Features
-List</a></h3>
-<ol type="1">
-  <li>AXIOM, an XML object model working on StAX (Streaming API for XML)
-    parsing optimized for SOAP 1.1/1.2 Messages. This has complete XML
-    infoset support.</li>
-  <li>Support for One-Way Messaging (In-Only) and Request Response Messaging
-    (In-Out)</li>
-  <li>Module Architecture, mechanism to extend the SOAP Processing Model</li>
-  <li>Module version support , can have multiple versions of the same module
-    and use them depending on the requirement.</li>
-  <li>Content hierarchy</li>
-  <li>Archive based deployment Model and Directory based deployment model</li>
-  <li>JWS like deployment (making Java class into Web service)</li>
-  <li>WSDL Code Generation Tool for Stub and skeletons</li>
-  <li>WS-Addressing, both the submission (2004/08) and final (2005/08)
-    versions</li>
-  <li>WSS4J module for security</li>
-  <li>Improved and user friendly Client API</li>
-  <li>WSDL2Java</li>
-  <li>REST (REpresentational State Transfer) Support</li>
-  <li>Transports supports: HTTP, SMTP, TCP, JMS</li>
-  <li>Raw XML providers</li>
-  <li>Support for MTOM/ MIME/ SwA</li>
-  <li>SAAJ implementation</li>
-  <li>DOOM - New Feature</li>
-  <li>Pack/Unpack capability for the generated code- New Feature</li>
-  <li>Axis Data Binding - ADB (Framework and Schema Compiler)</li>
-  <li>Numerous bug fixes since last release</li>
-</ol>
-
-<h4><a name="Experimental_Features_List">Experimental Features List</a></h4>
-<ol type="1">
-  <li>Sessions scoping for Application, SOAP, Transport and Request
-  levels</li>
-  <li><a href="WS_policy.html" target="_blank">Server side Web Service Policy
-    support</a></li>
-  <li>?wsdl and ?xsd support</li>
-  <li>Java2WSDL</li>
-  <li>Generating ServiceClient for a given WSDL and invoke the corresponding
-    service using generated client.</li>
-</ol>
-
-<h4><a name="Major_Changes_Since_Last_Release">Major Changes Since Last
-Release</a></h4>
-<ol type="1">
-  <li>Fixing of memory leaks</li>
-  <li>Client API changes , Introducing ServiceClient instead of MEPClient,
-    InOnlyMEPClient, InOutMEPClient, Call. (Please note that the above
-    classes will be deprecated in this release.)</li>
-  <li>Module versioning support , can have multiple versions of the same
-    module and use them depending on the requirement.</li>
-  <li>Code generator improved to process multi-port WSDL's properly</li>
-  <li>Packing and unpacking options for the code generated classes</li>
-</ol>
-
-<h3><a name="Tools_included_in this_Release">Tools Included In This
-Release</a></h3>
-<ol type="1">
-  <li>Axis2 Web Application (Web App)</li>
-  <li>WSDL2WS- <a href="CodegenTools-EclipsePlugin.html" target="_blank">Eclipse
-    plugin</a><a>/</a><a href="CodegenToolReference.html" target="_blank">Command line
-    version</a><a>/</a><a
-    href="tools\idea\Idea_plug-in_userguide.html#WSDL2Java_Code_Generation" target="_blank">IntelliJ
-    IDEA plugin</a></li>
-  <li>Service Archive Wizard- <a
-    href="ServiceArchiveToolReference.html" target="_blank">Eclipse plugin</a>/ <a
-    href="tools\idea\Idea_plug-in_userguide.html#Create_Service_Archive" target="_blank">IntelliJ
-    IDEA plugin</a></li>
-</ol>
-<a href="http://ws.apache.org/axis2/download.cgi" target="_blank">Download</a> above plugins
-
-<h3><a name="What's_still_to_do_">What's Still To Do?</a></h3>
-
-<p>See list of what we think needs to be done, and consider helping out if
-you're interested &amp; able!</p>
-<ol type="1">
-  <li>JAX-RPC 1.1 and/or JAX-WS compliance</li>
-  <li>SOAP Encoding</li>
-  <li>Binary serialization and de-serialization support</li>
-  <li>Management Interface for Axis2</li>
-  <li>Implementation of other Transports.</li>
-  <li>Resource framework implementation (WS-RF) and Enterprise web services
-    such as JSR 109 support</li>
-  <li>Completion of interop tests</li>
-</ol>
-
-<p align="right"><a href="userguide.html"><img
-src="images/arrow_left.gif"> Previous</a> | <a href="userguide2.html">Next <img src="images/arrow_right.gif"></a></p>
-
-Pages: <a href="userguide.html">Content</a>,
-<b>1</b>, <a href="userguide2.html">2</a>, <a href="userguide3.html"
->3</a>, <a href="userguide4.html">4</a>, <a
-href="userguide5.html">5</a></body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+  <meta http-equiv="content-type" content="">
+  <title>Axis2 User's Guide</title>
+</head>
+
+<body lang="en-US" dir="ltr">
+<h4><a name="Axis2_User's_Guide">Axis2 User's Guide</a></h4>
+
+<p><i>Version 0.95</i></p>
+<i>User Feedback: <a
+href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></i>
+
+<p align="right">Pages: <a href="userguide.html">Content</a>, <b>1</b>, <a href="userguide2.html">2</a>, <a href="userguide3.html">3</a>, <a
+href="userguide4.html">4</a>, <a href="userguide5.html">5</a></p>
+
+<h2><a name="Introduction">Introduction</a></h2>
+
+<p>Welcome to Axis2, the next generation of Apache Axis!!! This User's Guide
+will help you to understand what Axis2 has to offer and how to get started
+with it. We hope you will benefit from the power of Axis2.</p>
+
+<h3><a name="Attention">Attention</a></h3>
+<ul>
+  <li><p style="margin-bottom: 0in">This User's Guide is written based on
+    Axis2 standard binary distribution. (The standard binary distribution can
+    be created from the source distribution using the maven goal <code>$maven
+    dist-std-bin</code>). Please refer the <a
+    href="installationguide.html#Download_Axis2">installation guide</a> for further
+    information on the downloadables available in this release.</p>
+  </li>
+  <li><p>If you are new to Axis, it's highly recommended that you read <a
+    href="http://ws.apache.org/axis/java/user-guide.html" target="_blank">Axis 1.x User's
+    Guide</a> before you go any further in this guide.</p>
+  </li>
+</ul>
+
+<h3><a name="What_is_Axis2_">What is Axis2?</a></h3>
+
+<p>Axis2 is the next generation of Apache Axis. In late August 2004, during
+the Axis2 Summit held in Colombo, Sri Lanka, a new architecture for Axis was
+introduced which was much more flexible, efficient and configurable. Although
+the architecture is new, some of the well established concepts from Axis 1.x
+like handlers are preserved in Axis2. Axis2 comes with many new features,
+enhancements and industry specification implementations.</p>
+
+<p>After months of continued discussion and coding in this direction, Axis2
+now delivers the following key features:</p>
+<ul>
+  <li><p style="margin-bottom: 0in"><strong>Speed</strong> - Axis2 uses its
+    own object model and StAX (Streaming API for XML) parsing to achieve
+    significantly greater speed than earlier versions of Apache Axis.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>Low memory foot print</strong>-
+    Axis2 was designed ground-up keeping low memory foot print in mind.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>AXIOM</strong> - Axis2 comes with
+    its own light-weight object model, AXIOM, for message processing which is
+    extensible, high performance and developer convenient</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong><a name="Hot_Deployment">Hot
+    Deployment</a></strong> - Axis2 is equipped with the capability of
+    deploying web service &amp; handlers while system is up and running. In
+    other words, new services can be added to the system without having to
+    shut down server.Drop the required Web service archive into the services
+    directory in the repository and deployment model will automatically
+    deploy the service and make it available for use.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>Asynchronous Web
+    Services</strong> - Axis2 now supports asynchronous web services &amp;
+    asynchronous web services invocation using non-blocking clients and
+    transports .</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>MEP Support</strong> - Axis2 now
+    comes handy with the flexibility to support Message Exchange Patterns
+    (MEPs) with in-built support for basic MEPs defined in WSDL 2.0.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>Flexibility</strong> - The Axis2
+    architecture gives the developer complete freedom to insert extensions
+    into the engine for custom header processing, system management, or
+    <em>anything else you can imagine</em>.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>Stability</strong> - Axis2
+    defines a set of published interfaces which change relatively slowly
+    compared to the rest of Axis.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>Component-oriented
+    Deployment</strong> - You can easily define reusable networks of Handlers
+    to implement common patterns of processing for your applications, or to
+    distribute to partners.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>Transport Framework</strong> - We
+    have a clean and simple abstraction for integrating and using Transports
+    (i.e., senders and listeners for SOAP over various protocols such as
+    SMTP, FTP, message-oriented middleware, etc), and the core of the engine
+    is completely transport-independent.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>WSDL support</strong> - Axis2
+    supports the <a href="http://www.w3.org/TR/wsdl" target="_blank">Web Service Description
+    Language</a>, version 1.1 and 2.0, which allows you to easily build stubs
+    to access remote services, and also to automatically export
+    machine-readable descriptions of your deployed services from Axis2.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>Add-ons</strong> Several web
+    services specifications have been incorporated including <a
+    href="http://ws.apache.org/wss4j/" target="_blank">WSS4J</a> for security, <a
+    href="http://ws.apache.org/sandesha/" target="_blank">Sandesha</a> for reliable
+    messaging, <a href="http://ws.apache.org/kandula/" target="_blank">Kandula</a> which is
+    an encapsulation of WS-Coordination, WS-AtomicTransaction and
+    WS-BusinessActivity.</p>
+  </li>
+  <li><p style="margin-bottom: 0in"><strong>Composition and
+    Extensibility</strong> - modules and phases improve support for
+    composability and extensibility. Modules supports composability and is
+    able to add support for new WS-* specifications in a simple and clean
+    manner. They are however not <a href="#Hot_Deployment">hot deployable</a>
+    as they change the overall behavior of the system.</p>
+  </li>
+</ul>
+
+<p>We hope you enjoy using Axis2. Please note that this is an open-source
+effort. If you feel the code could use some new features or fixes, please get
+involved and lend us a hand! The Axis developer community welcomes your
+participation.</p>
+
+<p>Let us know what you think!</p>
+
+<p>Please send your feedback on Axis2 to "<a
+href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a>" and make
+sure to prefix the subject of the mail with [Axis2].</p>
+
+<h3><a name="Axis2_Complete_Features_List">Axis2 Complete Features
+List</a></h3>
+<ol type="1">
+  <li>AXIOM, an XML object model working on StAX (Streaming API for XML)
+    parsing optimized for SOAP 1.1/1.2 Messages. This has complete XML
+    infoset support.</li>
+  <li>Support for One-Way Messaging (In-Only) and Request Response Messaging
+    (In-Out)</li>
+  <li>Module Architecture, mechanism to extend the SOAP Processing Model</li>
+  <li>Module version support , can have multiple versions of the same module
+    and use them depending on the requirement.</li>
+  <li>Content hierarchy</li>
+  <li>Archive based deployment Model and Directory based deployment model</li>
+  <li>JWS like deployment (making Java class into Web service)</li>
+  <li>WSDL Code Generation Tool for Stub and skeletons</li>
+  <li>WS-Addressing, both the submission (2004/08) and final (2005/08)
+    versions</li>
+  <li>WSS4J module for security</li>
+  <li>Improved and user friendly Client API</li>
+  <li>WSDL2Java</li>
+  <li>REST (REpresentational State Transfer) Support</li>
+  <li>Transports supports: HTTP, SMTP, TCP, JMS</li>
+  <li>Raw XML providers</li>
+  <li>Support for MTOM/ MIME/ SwA</li>
+  <li>SAAJ implementation</li>
+  <li>DOOM - New Feature</li>
+  <li>Pack/Unpack capability for the generated code- New Feature</li>
+  <li>Axis Data Binding - ADB (Framework and Schema Compiler)</li>
+  <li>Numerous bug fixes since last release</li>
+</ol>
+
+<h4><a name="Experimental_Features_List">Experimental Features List</a></h4>
+<ol type="1">
+  <li>Sessions scoping for Application, SOAP, Transport and Request
+  levels</li>
+  <li><a href="WS_policy.html" target="_blank">Server side Web Service Policy
+    support</a></li>
+  <li>?wsdl and ?xsd support</li>
+  <li>Java2WSDL</li>
+  <li>Generating ServiceClient for a given WSDL and invoke the corresponding
+    service using generated client.</li>
+</ol>
+
+<h4><a name="Major_Changes_Since_Last_Release">Major Changes Since Last
+Release</a></h4>
+<ol type="1">
+  <li>Fixing of memory leaks</li>
+  <li>Client API changes , Introducing ServiceClient instead of MEPClient,
+    InOnlyMEPClient, InOutMEPClient, Call. (Please note that the above
+    classes will be deprecated in this release.)</li>
+  <li>Module versioning support , can have multiple versions of the same
+    module and use them depending on the requirement.</li>
+  <li>Code generator improved to process multi-port WSDL's properly</li>
+  <li>Packing and unpacking options for the code generated classes</li>
+</ol>
+
+<h3><a name="Tools_included_in this_Release">Tools Included In This
+Release</a></h3>
+<ol type="1">
+  <li>Axis2 Web Application (Web App)</li>
+  <li>WSDL2WS- <a href="CodegenTools-EclipsePlugin.html" target="_blank">Eclipse
+    plugin</a><a>/</a><a href="CodegenToolReference.html" target="_blank">Command line
+    version</a><a>/</a><a
+    href="tools\idea\Idea_plug-in_userguide.html#WSDL2Java_Code_Generation" target="_blank">IntelliJ
+    IDEA plugin</a></li>
+  <li>Service Archive Wizard- <a
+    href="ServiceArchiveToolReference.html" target="_blank">Eclipse plugin</a>/ <a
+    href="tools\idea\Idea_plug-in_userguide.html#Create_Service_Archive" target="_blank">IntelliJ
+    IDEA plugin</a></li>
+</ol>
+<a href="http://ws.apache.org/axis2/download.cgi" target="_blank">Download</a> above plugins
+
+<h3><a name="What's_still_to_do_">What's Still To Do?</a></h3>
+
+<p>See list of what we think needs to be done, and consider helping out if
+you're interested &amp; able!</p>
+<ol type="1">
+  <li>JAX-RPC 1.1 and/or JAX-WS compliance</li>
+  <li>SOAP Encoding</li>
+  <li>Binary serialization and de-serialization support</li>
+  <li>Management Interface for Axis2</li>
+  <li>Implementation of other Transports.</li>
+  <li>Resource framework implementation (WS-RF) and Enterprise web services
+    such as JSR 109 support</li>
+  <li>Completion of interop tests</li>
+</ol>
+
+<p align="right"><a href="userguide.html"><img
+src="images/arrow_left.gif"> Previous</a> | <a href="userguide2.html">Next <img src="images/arrow_right.gif"></a></p>
+
+Pages: <a href="userguide.html">Content</a>,
+<b>1</b>, <a href="userguide2.html">2</a>, <a href="userguide3.html"
+>3</a>, <a href="userguide4.html">4</a>, <a
+href="userguide5.html">5</a></body>
+</html>

Modified: webservices/axis2/trunk/java/xdocs/latest/userguide2.html
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/xdocs/latest/userguide2.html?rev=384434&r1=384433&r2=384434&view=diff
==============================================================================
--- webservices/axis2/trunk/java/xdocs/latest/userguide2.html (original)
+++ webservices/axis2/trunk/java/xdocs/latest/userguide2.html Wed Mar  8 21:23:30 2006
@@ -1,394 +1,394 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-      "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
-  <title>Axis2 User's Guide</title>
-  <meta name="generator" content="amaya 9.2.1, see http://www.w3.org/Amaya/">
-</head>
-
-<body lang="en-US" dir="ltr">
-<h4><a name="Axis2_User's_Guide">Axis2 User's Guide</a></h4>
-
-<p><i>Version 0.94</i></p>
-<i>User Feedback: <a
-href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></i>
-
-<p align="right">Pages: <a href="userguide.html">Content</a>, <a
-href="userguide1.html">1</a>, <b>2</b>, <a href="userguide3.html">3</a>, <a
-href="userguide4.html">4</a>, <a href="userguide5.html">5</a></p>
-
-<p><b><font size="4">Note (on samples):</font></b> In this page of the user's
-guide we will look at how to write and deploy Web Services using Axis2. All
-the user's guide samples are located in the <b>"samples/userguide/src"</b>
-directory of the binary distribution.</p>
-
-<h2><a name="Web_Services_Using_Axis2">Web Services Using Axis2</a></h2>
-
-<p>Before starting, please check whether you have deployed the "axis2.war" in
-your servlet container and it is working properly. (See <a
-href="installationguide.html" target="_blank">Installation Guide</a>). User
-can select any of the  following two ways of writing web services using
-Axis2. </p>
-<ol>
-  <li><a href="#Writing_Web_Services_Using Axis2's_Primary_APIs">Use Axis2's
-    primary interfaces (APIs) and implement the business logic.</a></li>
-  <li><p><a href="#Writing_Web_Services_by_Code_Generating_Skeleton">Start
-    from the WSDL -&gt;Code generate the Skeleton -&gt;Implement the Business
-    Logic.</a></p>
-  </li>
-</ol>
-
-<h3><a name="Writing_Web_Services_Using Axis2's_Primary_APIs">Writing Web
-Services Using Axis2's Primary APIs</a></h3>
-
-<h4><a name="Creating_Web_Service__MyService_">Creating Web Service
-(MyService)</a></h4>
-
-<p>First let's see how we can write a simple Web Service (MyService) using
-Axis2's primary interfaces and deploy it. For this purpose we will create a
-Web Service with two operations as follows.</p>
-<pre>public void ping(OMElement element){} //IN-ONLY operation, just accepts the OMElement and do some processing.
-public OMElement echo(OMElement element){}//IN-OUT operation, accepts an OMElement and 
-                                          //responds with another OMElement after processing.</pre>
-
-<p>Complete code for this example Web Service (MyService) can be found in the
-"Axis2Home/samples/userguide/src" directory under "userguide/example1"
-package. As you can see, the two operations are very simple and need no
-explanations on what they do. Now let's see how we can write the deployment
-descriptors for the service and deploy it.</p>
-
-<h4><a name="How_to_write_the_Web_Service_">How to write the Web
-Service?</a></h4>
-Writing a new Web Service with Axis2 involve four steps:
-<ol>
-  <li><p style="margin-bottom: 0in">Write the Implementation Class</p>
-  </li>
-  <li><p style="margin-bottom: 0in">Write a services.xml file to explain the
-    Web Service</p>
-  </li>
-  <li><p style="margin-bottom: 0in">create a *.aar archive (Axis Archive) for
-    the Web Service</p>
-  </li>
-  <li><p>Deploy the Web Service</p>
-  </li>
-</ol>
-
-<h4><a name="Step1_:Write_the_Implementation_Class">Step1 :Write the
-Implementation Class</a></h4>
-
-<p>Provides a implementation class that provide the business logic for the
-Web Service, it should have methods that match the operations in the Web
-Service. Unless you have data binding the signature of the methods can have
-one parameter of type OMElement.</p>
-<pre>public class MyService{
-    public void ping(OMElement element){
-     ......
-    }
-    public OMElement echo(OMElement element){
-     ......
-    }
-}</pre>
-
-<h4><a name="Step2_:Write_the_services_xml_file">Step2 :Write the
-services.xml file</a></h4>
-
-<p>Axis2 uses "services.xml" to keep configurations for a Web Service. Each
-Web Service deployed in Axis2 needs a "services.xml" containing the
-configurations. "services.xml" for MyService will be as follows.</p>
-<pre>&lt;service &gt;
-    &lt;description&gt;
-        This is a sample Web Service with two operations, echo and ping.
-    &lt;/description&gt;
-    &lt;parameter name="ServiceClass" locked="false"&gt;userguide.example1.MyService&lt;/parameter&gt;
-    &lt;operation name="echo"&gt;
-        &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
-    &lt;/operation&gt;
-     &lt;operation name="ping"&gt;
-        &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/&gt;
-    &lt;/operation&gt;
- &lt;/service&gt;</pre>
-
-<p><em>The above XML tags can be explained as follows:</em></p>
-
-<p>Name of the service will be the name of the archive file , if and only if
-the services.xml contains only one service element.</p>
-
-<p>Next comes the description and the service class.</p>
-
-<p>The next two xml tags describe the operations that are available in this
-service with respective message receivers. For the "echo" operation we have
-used a <strong>RawXMLINOutMessageReceiver</strong> since it is an IN-OUT
-operation. For IN-ONLY operation "ping", we have used
-<strong>RawXMLINOnlyMessageReceiver</strong> as the message receiver.</p>
-
-<p>You can write a services.xml file to include a group of services instead
-of a single service. This makes management and deployment of a set of related
-services very easy. At runtime you can share information between these
-services within a single interaction using the ServiceGroupContext. If you
-hope to use this functionality, the services.xml file should have following
-format.</p>
-<pre>&lt;serviceGroup&gt;
-  &lt;service name="Service1"&gt;
-    &lt;!-- details for Service1 --&gt;
-  &lt;/service&gt;
-  &lt;service name="Service2"&gt;
-    &lt;!-- details for Service2 --&gt;
-  &lt;/service&gt;
-  &lt;module ref="ModuleName" /&gt;
-  &lt;parameter name="serviceGroupParam1" locked="false"&gt;value 1&lt;/parameter&gt;
-&lt;/serviceGroup&gt;</pre>
-
-<p>Note : name of the service is a compulsory attribute</p>
-
-<h4><a name="Step3_:Create_the_Web_Service_Archive">Step3 :Create the Web
-Service Archive</a></h4>
-
-<p>Axis2 use ".aar" (Axis Archive) file as the deployment package for Web
-Services. Therefore, for MyService we will use "MyService.aar" with the
-"services.xml" packaged in the META-INF as shown in the following picture.</p>
-
-<p><img src="images/userguide/ServiceItems.jpg" name="Graphic1"
-align="bottom" width="176" height="91" border="0"></p>
-
-<p>To create "MyService.aar" user can first create a jar file containing all
-the files necessary for the service and then rename the "jar" to "aar" so
-that Axis2 understands it as a service archive. This has already been created
-in the "Axis2Home/samples/userguide" directory. Now let's use it...</p>
-
-<h4><a name="Step4_:Deploy_the_Web_Service">Step4 :Deploy the Web
-Service</a></h4>
-
-<p>Deploying the service  is just a matter of dropping the ".aar" in to
-"services" directory that can be found in the "\webapps\axis2\WEB-INF" of
-your servlet container, hence copy the "MyService.aar" into the
-"<b>services</b>" directory. Once these steps are completed, start the
-servlet container (if you have not already started) and check the link
-"Services" on the <a href="http://localhost:8080/axis2/index.jsp"
-target="_blank">Home Page of Axis2 Web Application</a>
-(http://localhost:8080/axis2/index.jsp) and see whether the MyService is
-deployed properly. If you can see the following output then you have
-successfully deployed MyService on Axis2.</p>
-
-<p align="center"><img src="images/userguide/MyServiceDeployed.jpg"
-name="Graphic2" align="bottom" border="0"></p>
-
-<p>Note: Axis2 provides an easy way to deploy Web Services using the "Upload
-Service" tool on Axis2 Web Application's Administration module. (See the <a
-href="webadminguide.html" target="_blank">Web Administration Guide</a> for
-more information on this)</p>
-
-<h3><a name="Writing_Web_Services_by_Code_Generating_Skeleton">Writing Web
-Services by Code Generating Skeleton</a></h3>
-
-<p>This is the second method of writing Web Services using Axis2. Let's see
-how we can generate the skeleton from a given WSDL and implement the business
-logic using Axis2. For this we use Axis2SampleDocLit.wsdl that can be found
-in the <b>wsdl</b> directory under samples.</p>
-
-<h4><a name="WSDL2Java_Tool">WSDL2Java Tool</a></h4>
-
-<p>To generate the skeleton and the required classes you can use the
-WSDL2Java tool provided in Axis2. This tool is located in the bin directory
-of the distribution and can be executed using the provided scripts (.bat or
-.sh). The tool's parameter list is as follows and user can specify these
-values depending on their requirements.</p>
-<pre>Usage WSDL2Code -uri &lt;Location of WSDL&gt; : WSDL file location
--o &lt;output Location&gt; : output file location
--a : Generate async style code only. Default is off
--s : Generate sync style code only. Default is off. takes precedence over -a
--p &lt;package name&gt; : set custom package name
--l &lt;language&gt; : valid languages are java and csharp. Default is java
--t : Generate TestCase to test the generated code
--ss : Generate server side code (i.e. skeletons). Default is off
--sd : Generate service descriptor (i.e. services.xml). Default is off. Valid with -ss
--d &lt;databinding&gt; : valid databinding(s) are adb, xmlbeans and jaxme. Default is adb
--g Generates all the classes. valid only with the -ss
--pn &lt;port_name&gt; : name of port in the presence of multiple ports
--sn &lt;service_name&gt; : name of service in the presence of multiple services
--u : unpacks the databinding classes
--r &lt;repository_path&gt; : path of the repository against which code is generated</pre>
-
-<p>We will use the tool with the following parameters and generate the
-skeleton and the other required classes.</p>
-
-<p>Windows users can use the following command in the console:</p>
-<pre style="margin-bottom: 0.2in">WSDL2Java -uri ..\samples\wsdl\Axis2SampleDocLit.wsdl -ss -sd -d xmlbeans -o ..\samples -p org.apache.axis2.userguide</pre>
-
-<p>Linux users should switch the file separator:</p>
-<pre style="margin-bottom: 0.2in">WSDL2Java -uri ../samples/wsdl/Axis2SampleDocLit.wsdl -ss -sd -d xmlbeans -o ../samples -p org.apache.axis2.userguide</pre>
-
-<p>This will generate the required classes in the <b>src</b> directory inside
-samples, and the schema classes in <strong>schemaorg_apache_xmlbeans</strong>
-directory which is inside resources directory also inside samples
-dir<strong></strong>. Note that these are not source files and should be
-available in the class path in order to compile the generated classes.</p>
-
-<h4><a name="Implement_the_Business_Logic">Implement the Business
-Logic</a></h4>
-
-<p>Locate the skeleton class that can be found under src/userguide directory
-with the name "Axis2SampleDocLitPortTypeSkeleton.java". This is the skeleton
-for our web service and we can now easily implement the business logic. The
-WSDL we have used has three operations:<!--<li><p style="margin-bottom: 0in">echoVoid   - Operation that does not
-accept any input parameters  and also provide no out put parameters. Just
-perform some task </p>
-</li>-->
-</p>
-<ul>
-  <li><p style="margin-bottom: 0in">echoString  - Operation that echoes a
-    String value </p>
-  </li>
-  <li><p style="margin-bottom: 0in">echoStringArray - Operation that accept
-    string array as the input and echoes them back</p>
-  </li>
-  <li><p>echoStruct - Operation that accept a Struct as the input and echoes
-    them back.</p>
-  </li>
-</ul>
-<!--<h4>echoVoid   </h4>
-
-<p>Locate the following code segment  in the
-"Axis2SampleDocLitPortTypeSkeleton.java"  and fill the business logic. For
-the explanation purpose we do not need anything to be implemented here.</p>
-<pre>public  void echoVoid(){
-//Todo fill this with the necessary business logic
-}</pre> -->
-
-<h4><a name="echoString">echoString</a></h4>
-
-<p>Locate the following code segment  in the
-"Axis2SampleDocLitPortTypeSkeleton.java"  and fill the business logic as
-shown below.</p>
-<pre> public org.apache.axis2.userguide.xsd.EchoStringReturnDocument echoString
-    (org.apache.axis2.userguide.xsd.EchoStringParamDocument param4) {
-    //To do fill this with the necessary business logic
-    return null;
- }</pre>
-
-<p>Once filled with the business logic it will be as follows. The code is
-simple and the explanations are given as comments.</p>
-<pre>public org.apache.axis2.userguide.xsd.EchoStringReturnDocument echoString
-   (org.apache.axis2.userguide.xsd.EchoStringParamDocument param4) throws Exception {
-   //Use the factory to create the output document.
-   EchoStringReturnDocument retDoc = EchoStringReturnDocument.Factory.newInstance();
-   //send the string back.
-   retDoc.setEchoStringReturn(param4.getEchoStringParam());
-   return retDoc;
- }</pre>
-
-<p>Similarly following code fragments shows how you can fill the business
-logic for our first web service.</p>
-
-<h4><a name="echoStringArray">echoStringArray</a></h4>
-<pre>public org.apache.axis2.userguide.xsd.EchoStringArrayReturnDocument echoStringArray
-   (org.apache.axis2.userguide.xsd.EchoStringArrayParamDocument param0) throws Exception {
-   //Use the factory to create the output document.
-   EchoStringArrayReturnDocument retDoc = EchoStringArrayReturnDocument.Factory.newInstance();
-   //Get the String array from the input parameters.
-   String[] inParams = param0.getEchoStringArrayParam().getStringArray();
-   ArrayOfstringLiteral retParams = ArrayOfstringLiteral.Factory.newInstance();
-   //Set the input parameters to the output parameters for echoing.
-     for (int i = 0; i &lt; inParams.length; i++) {
-        retParams.addString(inParams[i]);
-     }
-   //return the output document.
-   retDoc.setEchoStringArrayReturn(retParams);
-   return retDoc;
-}</pre>
-
-<h4><a name="echoStruct">echoStruct</a></h4>
-<pre>public org.apache.axis2.userguide.xsd.EchoStructReturnDocument echoStruct
-     (org.apache.axis2.userguide.xsd.EchoStructParamDocument param2) throws Exception {
-     //Use the factory to create the output document.
-     EchoStructReturnDocument retDoc = EchoStructReturnDocument.Factory.newInstance();
-
-     //Get the SOAPStrcut from the incoming parameters
-     SOAPStruct inStruct = param2.getEchoStructParam();
-
-     //Struct for the sending back
-     SOAPStruct outStruct = SOAPStruct.Factory.newInstance();
-
-     //Fill the outgoing struct
-     outStruct.setVarFloat(inStruct.getVarFloat());
-     outStruct.setVarInt(inStruct.getVarInt());
-     outStruct.setVarString(inStruct.getVarString());
-     //Set the outgoing document.
-     retDoc.setEchoStructReturn(outStruct);
-
-     return retDoc;
-}</pre>
-
-<h4><a name="services_xml">services.xml</a></h4>
-
-<p> Axis2 uses "services.xml" to hold the configurations for a particular web
-service deployed in the Axis2 engine. When we generate the skeleton using the
-WSDL2Java tool, it will also generate the required services.xml for this web
-service as well. This can be found in the same directory as the skeleton. The
-generated services.xml is as follows.</p>
-<pre>&lt;!-- This services.xml file was auto-generated from WSDL --&gt;
-&lt;!-- by the Apache Axis2 version: #axisVersion# #today# --&gt;
-&lt;serviceGroup&gt;
-   &lt;service name="Axis2SampleDocLitService"&gt;
-      &lt;messageReceivers&gt;
-      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.userguide.Axis2SampleDocLitPortTypeMessageReceiverInOut"/&gt;
-      &lt;/messageReceivers&gt;
-      &lt;parameter locked="false" name="ServiceClass"&gt;org.apache.axis2.userguide.Axis2SampleDocLitPortTypeSkeleton
-      &lt;/parameter&gt;
-    &lt;!--All public methods of the service class are exposed by default--&gt; 
-   &lt;/service&gt;
-&lt;/serviceGroup&gt;</pre>
-
-<p>First line of the "services.xml" gives the name of the Web Service. This
-is used in the URL to the service as the service name. Next comes the
-description and the service class. The next xml tags describe the operations
-that are available in this service with respective message receivers.</p>
-
-<h4><a name="Packaging">Packaging</a></h4>
-
-<p>Next step in the process is to package the classes in a .aar (axis2
-archive) and deploy it in Axis2. When the WSDL2Java tool generate the
-skeleton it will also generate the required data binding classes. These
-schema related classes are located in the
-<strong>schemaorg_apache_xmlbeans</strong> directory inside resources
-directory of the generated code. Copy this to your class path, compile the
-skeleton and the supporting classes. In order to create the .aar file, let's
-create the following directory structure with the required files and then
-simply use jar command to package it.</p>
-
-<p><img src="images/userguide/DirectoryStructure.jpg" align="bottom"
-border="0"></p>
-
-<p>Go to the top level directory where you can find the class files for the
-above service (i.e. one level up on the directory structure shown above),
-then type the following command in a command line.</p>
-<pre style="margin-bottom: 0.2in">jar -cf Axis2SampleDocLitPortType.aar .</pre>
-
-<p>Deploying the service  is just a matter of dropping the ".aar" in to
-"services" directory that can be found in the "\webapps\axis2\WEB-INF" of
-your servlet container, hence copy the "echo.aar" into the "<b>services</b>"
-directory. Once these steps are completed, please start the servlet container
-(if you have not already started) and check the link "Services" on the <a
-href="http://localhost:8080/axis2/index.jsp" target="_blank">Home Page of
-Axis2 Web Application</a> (http://localhost:8080/axis2/index.jsp) and see
-whether the Axis2SampleDocLitPortType is deployed properly. If you can see
-the following output then you have successfully deployed
-Axis2SampleDocLitPortType on Axis2.</p>
-
-<p align="center"><img src="images/userguide/ServiceDeployed.jpg"
-name="Graphic4" align="bottom" border="0"></p>
-
-<p>Note: Axis2 provides an easy way to deploy Web Services using the "Upload
-Service" tool on Axis2 Web Application's Administration module. (See the <a
-href="webadminguide.html" target="_blank">Web Administration Guide</a> for
-more information on this)</p>
-
-<p align="right"><a href="userguide1.html"><img src="images/arrow_left.gif">
-Previous</a> | <a href="userguide3.html">Next <img
-src="images/arrow_right.gif"></a></p>
-
-<p>Pages: <a href="userguide.html">Content</a>, <a
-href="userguide1.html">1</a>, <b>2</b>, <a href="userguide3.html">3</a>, <a
-href="userguide4.html">4</a>, <a href="userguide5.html">5</a></p>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+      "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+  <title>Axis2 User's Guide</title>
+  <meta name="generator" content="amaya 9.2.1, see http://www.w3.org/Amaya/">
+</head>
+
+<body lang="en-US" dir="ltr">
+<h4><a name="Axis2_User's_Guide">Axis2 User's Guide</a></h4>
+
+<p><i>Version 0.95</i></p>
+<i>User Feedback: <a
+href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></i>
+
+<p align="right">Pages: <a href="userguide.html">Content</a>, <a
+href="userguide1.html">1</a>, <b>2</b>, <a href="userguide3.html">3</a>, <a
+href="userguide4.html">4</a>, <a href="userguide5.html">5</a></p>
+
+<p><b><font size="4">Note (on samples):</font></b> In this page of the user's
+guide we will look at how to write and deploy Web Services using Axis2. All
+the user's guide samples are located in the <b>"samples/userguide/src"</b>
+directory of the binary distribution.</p>
+
+<h2><a name="Web_Services_Using_Axis2">Web Services Using Axis2</a></h2>
+
+<p>Before starting, please check whether you have deployed the "axis2.war" in
+your servlet container and it is working properly. (See <a
+href="installationguide.html" target="_blank">Installation Guide</a>). User
+can select any of the  following two ways of writing web services using
+Axis2. </p>
+<ol>
+  <li><a href="#Writing_Web_Services_Using Axis2's_Primary_APIs">Use Axis2's
+    primary interfaces (APIs) and implement the business logic.</a></li>
+  <li><p><a href="#Writing_Web_Services_by_Code_Generating_Skeleton">Start
+    from the WSDL -&gt;Code generate the Skeleton -&gt;Implement the Business
+    Logic.</a></p>
+  </li>
+</ol>
+
+<h3><a name="Writing_Web_Services_Using Axis2's_Primary_APIs">Writing Web
+Services Using Axis2's Primary APIs</a></h3>
+
+<h4><a name="Creating_Web_Service__MyService_">Creating Web Service
+(MyService)</a></h4>
+
+<p>First let's see how we can write a simple Web Service (MyService) using
+Axis2's primary interfaces and deploy it. For this purpose we will create a
+Web Service with two operations as follows.</p>
+<pre>public void ping(OMElement element){} //IN-ONLY operation, just accepts the OMElement and do some processing.
+public OMElement echo(OMElement element){}//IN-OUT operation, accepts an OMElement and 
+                                          //responds with another OMElement after processing.</pre>
+
+<p>Complete code for this example Web Service (MyService) can be found in the
+"Axis2Home/samples/userguide/src" directory under "userguide/example1"
+package. As you can see, the two operations are very simple and need no
+explanations on what they do. Now let's see how we can write the deployment
+descriptors for the service and deploy it.</p>
+
+<h4><a name="How_to_write_the_Web_Service_">How to write the Web
+Service?</a></h4>
+Writing a new Web Service with Axis2 involve four steps:
+<ol>
+  <li><p style="margin-bottom: 0in">Write the Implementation Class</p>
+  </li>
+  <li><p style="margin-bottom: 0in">Write a services.xml file to explain the
+    Web Service</p>
+  </li>
+  <li><p style="margin-bottom: 0in">create a *.aar archive (Axis Archive) for
+    the Web Service</p>
+  </li>
+  <li><p>Deploy the Web Service</p>
+  </li>
+</ol>
+
+<h4><a name="Step1_:Write_the_Implementation_Class">Step1 :Write the
+Implementation Class</a></h4>
+
+<p>Provides a implementation class that provide the business logic for the
+Web Service, it should have methods that match the operations in the Web
+Service. Unless you have data binding the signature of the methods can have
+one parameter of type OMElement.</p>
+<pre>public class MyService{
+    public void ping(OMElement element){
+     ......
+    }
+    public OMElement echo(OMElement element){
+     ......
+    }
+}</pre>
+
+<h4><a name="Step2_:Write_the_services_xml_file">Step2 :Write the
+services.xml file</a></h4>
+
+<p>Axis2 uses "services.xml" to keep configurations for a Web Service. Each
+Web Service deployed in Axis2 needs a "services.xml" containing the
+configurations. "services.xml" for MyService will be as follows.</p>
+<pre>&lt;service &gt;
+    &lt;description&gt;
+        This is a sample Web Service with two operations, echo and ping.
+    &lt;/description&gt;
+    &lt;parameter name="ServiceClass" locked="false"&gt;userguide.example1.MyService&lt;/parameter&gt;
+    &lt;operation name="echo"&gt;
+        &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/&gt;
+    &lt;/operation&gt;
+     &lt;operation name="ping"&gt;
+        &lt;messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/&gt;
+    &lt;/operation&gt;
+ &lt;/service&gt;</pre>
+
+<p><em>The above XML tags can be explained as follows:</em></p>
+
+<p>Name of the service will be the name of the archive file , if and only if
+the services.xml contains only one service element.</p>
+
+<p>Next comes the description and the service class.</p>
+
+<p>The next two xml tags describe the operations that are available in this
+service with respective message receivers. For the "echo" operation we have
+used a <strong>RawXMLINOutMessageReceiver</strong> since it is an IN-OUT
+operation. For IN-ONLY operation "ping", we have used
+<strong>RawXMLINOnlyMessageReceiver</strong> as the message receiver.</p>
+
+<p>You can write a services.xml file to include a group of services instead
+of a single service. This makes management and deployment of a set of related
+services very easy. At runtime you can share information between these
+services within a single interaction using the ServiceGroupContext. If you
+hope to use this functionality, the services.xml file should have following
+format.</p>
+<pre>&lt;serviceGroup&gt;
+  &lt;service name="Service1"&gt;
+    &lt;!-- details for Service1 --&gt;
+  &lt;/service&gt;
+  &lt;service name="Service2"&gt;
+    &lt;!-- details for Service2 --&gt;
+  &lt;/service&gt;
+  &lt;module ref="ModuleName" /&gt;
+  &lt;parameter name="serviceGroupParam1" locked="false"&gt;value 1&lt;/parameter&gt;
+&lt;/serviceGroup&gt;</pre>
+
+<p>Note : name of the service is a compulsory attribute</p>
+
+<h4><a name="Step3_:Create_the_Web_Service_Archive">Step3 :Create the Web
+Service Archive</a></h4>
+
+<p>Axis2 use ".aar" (Axis Archive) file as the deployment package for Web
+Services. Therefore, for MyService we will use "MyService.aar" with the
+"services.xml" packaged in the META-INF as shown in the following picture.</p>
+
+<p><img src="images/userguide/ServiceItems.jpg" name="Graphic1"
+align="bottom" width="176" height="91" border="0"></p>
+
+<p>To create "MyService.aar" user can first create a jar file containing all
+the files necessary for the service and then rename the "jar" to "aar" so
+that Axis2 understands it as a service archive. This has already been created
+in the "Axis2Home/samples/userguide" directory. Now let's use it...</p>
+
+<h4><a name="Step4_:Deploy_the_Web_Service">Step4 :Deploy the Web
+Service</a></h4>
+
+<p>Deploying the service  is just a matter of dropping the ".aar" in to
+"services" directory that can be found in the "\webapps\axis2\WEB-INF" of
+your servlet container, hence copy the "MyService.aar" into the
+"<b>services</b>" directory. Once these steps are completed, start the
+servlet container (if you have not already started) and check the link
+"Services" on the <a href="http://localhost:8080/axis2/index.jsp"
+target="_blank">Home Page of Axis2 Web Application</a>
+(http://localhost:8080/axis2/index.jsp) and see whether the MyService is
+deployed properly. If you can see the following output then you have
+successfully deployed MyService on Axis2.</p>
+
+<p align="center"><img src="images/userguide/MyServiceDeployed.jpg"
+name="Graphic2" align="bottom" border="0"></p>
+
+<p>Note: Axis2 provides an easy way to deploy Web Services using the "Upload
+Service" tool on Axis2 Web Application's Administration module. (See the <a
+href="webadminguide.html" target="_blank">Web Administration Guide</a> for
+more information on this)</p>
+
+<h3><a name="Writing_Web_Services_by_Code_Generating_Skeleton">Writing Web
+Services by Code Generating Skeleton</a></h3>
+
+<p>This is the second method of writing Web Services using Axis2. Let's see
+how we can generate the skeleton from a given WSDL and implement the business
+logic using Axis2. For this we use Axis2SampleDocLit.wsdl that can be found
+in the <b>wsdl</b> directory under samples.</p>
+
+<h4><a name="WSDL2Java_Tool">WSDL2Java Tool</a></h4>
+
+<p>To generate the skeleton and the required classes you can use the
+WSDL2Java tool provided in Axis2. This tool is located in the bin directory
+of the distribution and can be executed using the provided scripts (.bat or
+.sh). The tool's parameter list is as follows and user can specify these
+values depending on their requirements.</p>
+<pre>Usage WSDL2Code -uri &lt;Location of WSDL&gt; : WSDL file location
+-o &lt;output Location&gt; : output file location
+-a : Generate async style code only. Default is off
+-s : Generate sync style code only. Default is off. takes precedence over -a
+-p &lt;package name&gt; : set custom package name
+-l &lt;language&gt; : valid languages are java and csharp. Default is java
+-t : Generate TestCase to test the generated code
+-ss : Generate server side code (i.e. skeletons). Default is off
+-sd : Generate service descriptor (i.e. services.xml). Default is off. Valid with -ss
+-d &lt;databinding&gt; : valid databinding(s) are adb, xmlbeans and jaxme. Default is adb
+-g Generates all the classes. valid only with the -ss
+-pn &lt;port_name&gt; : name of port in the presence of multiple ports
+-sn &lt;service_name&gt; : name of service in the presence of multiple services
+-u : unpacks the databinding classes
+-r &lt;repository_path&gt; : path of the repository against which code is generated</pre>
+
+<p>We will use the tool with the following parameters and generate the
+skeleton and the other required classes.</p>
+
+<p>Windows users can use the following command in the console:</p>
+<pre style="margin-bottom: 0.2in">WSDL2Java -uri ..\samples\wsdl\Axis2SampleDocLit.wsdl -ss -sd -d xmlbeans -o ..\samples -p org.apache.axis2.userguide</pre>
+
+<p>Linux users should switch the file separator:</p>
+<pre style="margin-bottom: 0.2in">WSDL2Java -uri ../samples/wsdl/Axis2SampleDocLit.wsdl -ss -sd -d xmlbeans -o ../samples -p org.apache.axis2.userguide</pre>
+
+<p>This will generate the required classes in the <b>src</b> directory inside
+samples, and the schema classes in <strong>schemaorg_apache_xmlbeans</strong>
+directory which is inside resources directory also inside samples
+dir<strong></strong>. Note that these are not source files and should be
+available in the class path in order to compile the generated classes.</p>
+
+<h4><a name="Implement_the_Business_Logic">Implement the Business
+Logic</a></h4>
+
+<p>Locate the skeleton class that can be found under src/userguide directory
+with the name "Axis2SampleDocLitPortTypeSkeleton.java". This is the skeleton
+for our web service and we can now easily implement the business logic. The
+WSDL we have used has three operations:<!--<li><p style="margin-bottom: 0in">echoVoid   - Operation that does not
+accept any input parameters  and also provide no out put parameters. Just
+perform some task </p>
+</li>-->
+</p>
+<ul>
+  <li><p style="margin-bottom: 0in">echoString  - Operation that echoes a
+    String value </p>
+  </li>
+  <li><p style="margin-bottom: 0in">echoStringArray - Operation that accept
+    string array as the input and echoes them back</p>
+  </li>
+  <li><p>echoStruct - Operation that accept a Struct as the input and echoes
+    them back.</p>
+  </li>
+</ul>
+<!--<h4>echoVoid   </h4>
+
+<p>Locate the following code segment  in the
+"Axis2SampleDocLitPortTypeSkeleton.java"  and fill the business logic. For
+the explanation purpose we do not need anything to be implemented here.</p>
+<pre>public  void echoVoid(){
+//Todo fill this with the necessary business logic
+}</pre> -->
+
+<h4><a name="echoString">echoString</a></h4>
+
+<p>Locate the following code segment  in the
+"Axis2SampleDocLitPortTypeSkeleton.java"  and fill the business logic as
+shown below.</p>
+<pre> public org.apache.axis2.userguide.xsd.EchoStringReturnDocument echoString
+    (org.apache.axis2.userguide.xsd.EchoStringParamDocument param4) {
+    //To do fill this with the necessary business logic
+    return null;
+ }</pre>
+
+<p>Once filled with the business logic it will be as follows. The code is
+simple and the explanations are given as comments.</p>
+<pre>public org.apache.axis2.userguide.xsd.EchoStringReturnDocument echoString
+   (org.apache.axis2.userguide.xsd.EchoStringParamDocument param4) throws Exception {
+   //Use the factory to create the output document.
+   EchoStringReturnDocument retDoc = EchoStringReturnDocument.Factory.newInstance();
+   //send the string back.
+   retDoc.setEchoStringReturn(param4.getEchoStringParam());
+   return retDoc;
+ }</pre>
+
+<p>Similarly following code fragments shows how you can fill the business
+logic for our first web service.</p>
+
+<h4><a name="echoStringArray">echoStringArray</a></h4>
+<pre>public org.apache.axis2.userguide.xsd.EchoStringArrayReturnDocument echoStringArray
+   (org.apache.axis2.userguide.xsd.EchoStringArrayParamDocument param0) throws Exception {
+   //Use the factory to create the output document.
+   EchoStringArrayReturnDocument retDoc = EchoStringArrayReturnDocument.Factory.newInstance();
+   //Get the String array from the input parameters.
+   String[] inParams = param0.getEchoStringArrayParam().getStringArray();
+   ArrayOfstringLiteral retParams = ArrayOfstringLiteral.Factory.newInstance();
+   //Set the input parameters to the output parameters for echoing.
+     for (int i = 0; i &lt; inParams.length; i++) {
+        retParams.addString(inParams[i]);
+     }
+   //return the output document.
+   retDoc.setEchoStringArrayReturn(retParams);
+   return retDoc;
+}</pre>
+
+<h4><a name="echoStruct">echoStruct</a></h4>
+<pre>public org.apache.axis2.userguide.xsd.EchoStructReturnDocument echoStruct
+     (org.apache.axis2.userguide.xsd.EchoStructParamDocument param2) throws Exception {
+     //Use the factory to create the output document.
+     EchoStructReturnDocument retDoc = EchoStructReturnDocument.Factory.newInstance();
+
+     //Get the SOAPStrcut from the incoming parameters
+     SOAPStruct inStruct = param2.getEchoStructParam();
+
+     //Struct for the sending back
+     SOAPStruct outStruct = SOAPStruct.Factory.newInstance();
+
+     //Fill the outgoing struct
+     outStruct.setVarFloat(inStruct.getVarFloat());
+     outStruct.setVarInt(inStruct.getVarInt());
+     outStruct.setVarString(inStruct.getVarString());
+     //Set the outgoing document.
+     retDoc.setEchoStructReturn(outStruct);
+
+     return retDoc;
+}</pre>
+
+<h4><a name="services_xml">services.xml</a></h4>
+
+<p> Axis2 uses "services.xml" to hold the configurations for a particular web
+service deployed in the Axis2 engine. When we generate the skeleton using the
+WSDL2Java tool, it will also generate the required services.xml for this web
+service as well. This can be found in the same directory as the skeleton. The
+generated services.xml is as follows.</p>
+<pre>&lt;!-- This services.xml file was auto-generated from WSDL --&gt;
+&lt;!-- by the Apache Axis2 version: #axisVersion# #today# --&gt;
+&lt;serviceGroup&gt;
+   &lt;service name="Axis2SampleDocLitService"&gt;
+      &lt;messageReceivers&gt;
+      &lt;messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.userguide.Axis2SampleDocLitPortTypeMessageReceiverInOut"/&gt;
+      &lt;/messageReceivers&gt;
+      &lt;parameter locked="false" name="ServiceClass"&gt;org.apache.axis2.userguide.Axis2SampleDocLitPortTypeSkeleton
+      &lt;/parameter&gt;
+    &lt;!--All public methods of the service class are exposed by default--&gt; 
+   &lt;/service&gt;
+&lt;/serviceGroup&gt;</pre>
+
+<p>First line of the "services.xml" gives the name of the Web Service. This
+is used in the URL to the service as the service name. Next comes the
+description and the service class. The next xml tags describe the operations
+that are available in this service with respective message receivers.</p>
+
+<h4><a name="Packaging">Packaging</a></h4>
+
+<p>Next step in the process is to package the classes in a .aar (axis2
+archive) and deploy it in Axis2. When the WSDL2Java tool generate the
+skeleton it will also generate the required data binding classes. These
+schema related classes are located in the
+<strong>schemaorg_apache_xmlbeans</strong> directory inside resources
+directory of the generated code. Copy this to your class path, compile the
+skeleton and the supporting classes. In order to create the .aar file, let's
+create the following directory structure with the required files and then
+simply use jar command to package it.</p>
+
+<p><img src="images/userguide/DirectoryStructure.jpg" align="bottom"
+border="0"></p>
+
+<p>Go to the top level directory where you can find the class files for the
+above service (i.e. one level up on the directory structure shown above),
+then type the following command in a command line.</p>
+<pre style="margin-bottom: 0.2in">jar -cf Axis2SampleDocLitPortType.aar .</pre>
+
+<p>Deploying the service  is just a matter of dropping the ".aar" in to
+"services" directory that can be found in the "\webapps\axis2\WEB-INF" of
+your servlet container, hence copy the "echo.aar" into the "<b>services</b>"
+directory. Once these steps are completed, please start the servlet container
+(if you have not already started) and check the link "Services" on the <a
+href="http://localhost:8080/axis2/index.jsp" target="_blank">Home Page of
+Axis2 Web Application</a> (http://localhost:8080/axis2/index.jsp) and see
+whether the Axis2SampleDocLitPortType is deployed properly. If you can see
+the following output then you have successfully deployed
+Axis2SampleDocLitPortType on Axis2.</p>
+
+<p align="center"><img src="images/userguide/ServiceDeployed.jpg"
+name="Graphic4" align="bottom" border="0"></p>
+
+<p>Note: Axis2 provides an easy way to deploy Web Services using the "Upload
+Service" tool on Axis2 Web Application's Administration module. (See the <a
+href="webadminguide.html" target="_blank">Web Administration Guide</a> for
+more information on this)</p>
+
+<p align="right"><a href="userguide1.html"><img src="images/arrow_left.gif">
+Previous</a> | <a href="userguide3.html">Next <img
+src="images/arrow_right.gif"></a></p>
+
+<p>Pages: <a href="userguide.html">Content</a>, <a
+href="userguide1.html">1</a>, <b>2</b>, <a href="userguide3.html">3</a>, <a
+href="userguide4.html">4</a>, <a href="userguide5.html">5</a></p>
+</body>
+</html>