You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2008/08/25 20:10:09 UTC

svn commit: r688807 [14/17] - in /webservices/axis2/site/1_4_1: ./ adb/ adb/images/ images/ images/archi-guide/ images/userguide/ jibx/ src/

Added: webservices/axis2/site/1_4_1/toc.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/toc.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/toc.html (added)
+++ webservices/axis2/site/1_4_1/toc.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,417 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Apache Axis2 - </title>
+    <style type="text/css" media="all">
+      @import url("../css/maven-base.css");
+      @import url("../css/maven-theme.css");
+      @import url("../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="../" id="bannerLeft">
+    
+                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                            <img src="../../images/axis.jpg" alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+    
+            <div class="xleft">
+        Last Published: 2008-08-24
+                      </div>
+            <div class="xright">            <a href="../index.html">Axis2/Java</a>
+            |
+                <a href="../../c">Axis2/C</a>
+            |
+                <a href="../../..">Apache WS</a>
+            |
+                <a href="http://www.apache.org" class="externalLink">Apache</a>
+            
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+    
+                   <h5>Axis2/Java</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">Home</a>
+          </li>
+          </ul>
+              <h5>Downloads</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../download.cgi">Releases</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../modules/index.html">Modules</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../tools/index.html">Tools</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+              
+            
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+            <li class="expanded">
+                    <a href="../1_4_1/contents.html">Version 1.4.1</a>
+                  <ul>
+                  
+    <li class="none">
+              <strong>Table of Contents</strong>
+        </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/installationguide.html">Installation Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/quickstartguide.html">QuickStart Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/userguide.html">User Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/jaxws-guide.html">JAXWS Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/pojoguide.html">POJO Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/spring.html">Spring Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/webadminguide.html">Web Administrator's Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/migration.html">Migration Guide (from Axis1)</a>
+          </li>
+              </ul>
+        </li>
+              
+    <li class="none">
+                    <a href="../1_4/contents.html">Version 1.4</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_3/contents.html">Version 1.3</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_2/contents.html">Version 1.2</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1_1/contents.html">Version 1.1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1/contents.html">Version 1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_0/index.html">Version 1.0</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_95/index.html">Version 0.95</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_94/index.html">Version 0.94</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_93/index.html">Version 0.93</a>
+          </li>
+          </ul>
+              <h5>Resources</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../articles.html">Articles</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../refLib.html">Reference Library</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_4_1/api/index.html">Online Java Docs</a>
+          </li>
+          </ul>
+              <h5>Get Involved</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../overview.html">Overview</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../svn.html">Checkout the Source</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../release-process.html">Release Process</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../guidelines.html">Developer Guidelines</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../siteHowTo.html">Build the Site</a>
+          </li>
+          </ul>
+              <h5>Project Information</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../thanks.html">Acknowledgements</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+          </li>
+          </ul>
+                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+            <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+    
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content=""><link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"><style type="text/css" media="screen">
+/**/
+&lt;!--
+ul { list-style-type: none; margin: 0 0 0 5px; padding: 0; border-width: 0; list-style-position: outside; }
+--&gt;
+
+
+
+
+
+
+/**/
+</style></head><h1>Table of Contents</h1><ol type="1"><li><a href="contents.html">Introduction</a></li>
+<li><a href="installationguide.html">Installation Guide</a></li>
+<li><a href="../modules/index.html">Add-on
+Modules</a></li>
+<li><a href="app_server.html">Application Server
+Specific Configuration Guide</a></li>
+<li><a href="quickstartguide.html">Quick Start
+Guide</a></li>
+<li><a href="userguide.html">User's
+Guide</a></li>
+<li><a href="adv-userguide.html">Advanced User's
+Guide</a></li>
+<li><a href="axis2config.html">Configuration
+Guide</a></li>
+<li><a href="webadminguide.html">Web
+Administrator's Guide</a></li>
+<li><a href="Axis2ArchitectureGuide.html">Architecture Guide</a></li>
+<li><a href="jaxws-guide.html">JAXWS Guide</a></li>
+<li><a href="pojoguide.html">POJO Guide</a></li>
+<li><a href="spring.html">Spring Guide</a></li>
+<li><a href="modules.html">ModulesGuide</a></li>
+<li><a href="clustering-guide.html">Clustering Guide</a></li>
+<li>ADB Data Binding
+<ul><li>14.1 <a href="adb/adb-howto.html">Architecture</a></li>
+<li>14.2 <a href="adb/adb-advanced.html">Advanced Features</a></li>
+<li>14.3 <a href="adb/adb-codegen-integration.html">Code Generation Integration</a></li>
+<li>14.4 <a href="adb/adb-tweaking.html">Tweaking</a></li>
+</ul>
+</li>
+<li>JiBX Data Binding
+<ul><li>15.1 <a href="jibx/jibx-codegen-integration.html">Code Generation Integration</a></li>
+<li>15.2 <a href="jibx/jibx-doclit-example.html">doc/lit Example</a></li>
+<li>15.3 <a href="jibx/jibx-unwrapped-example.html">unwrapped Example</a></li>
+</ul>
+</li>
+<li>Advanced
+<ul><li>16.1 <a href="xmlbased-server.html">AXIOM
+Based Service</a></li>
+<li>16.2 <a href="dii.html">AXIOM Based
+Client</a></li>
+</ul>
+</li>
+<li><a href="mtom-guide.html">Attachments/MTOM
+Guide</a></li>
+<li>Transports
+<ul><li>18.1 <a href="http-transport.html">HTTP
+Transport</a></li>
+<li>18.2 <a href="jms-transport.html">JMS
+Transport</a></li>
+<li>18.3 <a href="tcp-transport.html">TCP
+Transport</a></li>
+<li>18.4 <a href="mail-transport.html">Mail
+Transport</a> / <a href="mail-configuration.html">(Configuration)</a></li>
+<li>18.5 <a href="transport_howto.html">Custom
+Transport</a></li>
+</ul>
+</li>
+<li><a href="WS_policy.html">WS-Policy
+Support</a></li>
+<li><a href="rest-ws.html">REST Support</a></li>
+<li><a href="json_support.html">JSON
+Support</a></li>
+<li><a href="ejb-provider.html">Guide to using
+EJB Provider in Axis2</a></li>
+<li><a href="soapmonitor-module.html">SOAP
+Monitor</a></li>
+<li><a href="reference.html">Command Line
+Tools</a></li>
+<li><a href="../tools/index.html">Tools/Plug-ins</a><ul><li>25.1 <a href="../tools/1_4_1/CodegenToolReference.html">Code Generator Tool - Command Line and Ant
+Task</a></li>
+<li>25.2 <a href="../tools/1_4_1/idea/Idea_plug-in_userguide.html">Axis2 Plug-in for IntelliJ IDEA</a></li>
+<li>25.3 <a href="../tools/1_4_1/eclipse/servicearchiver-plugin.html">Service Archive Generator Wizard - Eclipse
+Plug-in</a></li>
+<li>25.4 <a href="../tools/1_4_1/eclipse/wsdl2java-plugin.html">Code Generator Wizard - Eclipse Plug-in</a></li>
+<li>25.5 <a href="../tools/1_4_1/maven-plugins/maven-aar-plugin.html">AAR Maven2 Plug-in</a></li>
+<li>25.6 <a href="../tools/1_4_1/maven-plugins/maven-java2wsdl-plugin.html">Java2WSDL Maven2 Plug-in</a></li>
+<li>25.7 <a href="../tools/1_4_1/maven-plugins/maven-wsdl2code-plugin.html">WSDL2Code Maven2 Plug-in</a></li>
+</ul>
+</li>
+<li><a href="migration.html">Migration Guide
+(from Axis1)</a></li>
+<li>Design Notes
+<ul><li>27.1 <a href="Axis2-rpc-support.html">RPC
+Support</a></li>
+</ul>
+</li>
+</ol>
+</html>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2008
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: webservices/axis2/site/1_4_1/transport_howto.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/transport_howto.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/transport_howto.html (added)
+++ webservices/axis2/site/1_4_1/transport_howto.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,498 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Apache Axis2 - </title>
+    <style type="text/css" media="all">
+      @import url("../css/maven-base.css");
+      @import url("../css/maven-theme.css");
+      @import url("../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="../" id="bannerLeft">
+    
+                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                            <img src="../../images/axis.jpg" alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+    
+            <div class="xleft">
+        Last Published: 2008-08-24
+                      </div>
+            <div class="xright">            <a href="../index.html">Axis2/Java</a>
+            |
+                <a href="../../c">Axis2/C</a>
+            |
+                <a href="../../..">Apache WS</a>
+            |
+                <a href="http://www.apache.org" class="externalLink">Apache</a>
+            
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+    
+                   <h5>Axis2/Java</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">Home</a>
+          </li>
+          </ul>
+              <h5>Downloads</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../download.cgi">Releases</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../modules/index.html">Modules</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../tools/index.html">Tools</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="expanded">
+                    <a href="../1_4_1/contents.html">Version 1.4.1</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../1_4_1/toc.html">Table of Contents</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/installationguide.html">Installation Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/quickstartguide.html">QuickStart Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/userguide.html">User Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/jaxws-guide.html">JAXWS Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/pojoguide.html">POJO Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/spring.html">Spring Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/webadminguide.html">Web Administrator's Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/migration.html">Migration Guide (from Axis1)</a>
+          </li>
+              </ul>
+        </li>
+              
+    <li class="none">
+                    <a href="../1_4/contents.html">Version 1.4</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_3/contents.html">Version 1.3</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_2/contents.html">Version 1.2</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1_1/contents.html">Version 1.1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1/contents.html">Version 1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_0/index.html">Version 1.0</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_95/index.html">Version 0.95</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_94/index.html">Version 0.94</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_93/index.html">Version 0.93</a>
+          </li>
+          </ul>
+              <h5>Resources</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../articles.html">Articles</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../refLib.html">Reference Library</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_4_1/api/index.html">Online Java Docs</a>
+          </li>
+          </ul>
+              <h5>Get Involved</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../overview.html">Overview</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../svn.html">Checkout the Source</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../release-process.html">Release Process</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../guidelines.html">Developer Guidelines</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../siteHowTo.html">Build the Site</a>
+          </li>
+          </ul>
+              <h5>Project Information</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../thanks.html">Acknowledgements</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+          </li>
+          </ul>
+                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+            <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+    
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <html><head><meta http-equiv="content-type" content=""><link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><h1>How to Write Your Own Axis2 Transport</h1><h2>Prologue</h2><p>To stop you from re-inventing the wheel, before we get started, I will
+quickly list the transports that are already supported in Axis2 with a small
+description.</p>
+<p></p>
+<ul><li><b>HTTP</b> - In the HTTP transport, the transport Listener is either a
+    Servlet or a Simple HTTP server provided by Axis2. The transport Sender
+    uses sockets to connect and send the SOAP message. Currently we have the
+    commons-httpclient based HTTP Transport sender as the default
+  transport.</li>
+<li><b>TCP</b> - This is the most simple transport, but needs Addressing
+    support to be functional.</li>
+<li><b>SMTP</b> - This can work off a single email account or a mail
+    server. The Mail Transport Receiver is a thread that checks for emails in
+    fixed time intervals.</li>
+</ul>
+<p>To understand the rest of this document you will need some understanding
+of the architecture of Axis2. If you are not familiar with the Axis2
+architecture, please go through the <a href="Axis2ArchitectureGuide.html">Axis2 Architecture Guide</a> before you
+read any further.</p>
+<h2>Introduction</h2><p>Broadly speaking, a transport inside Axis2 can be classified as a way of
+getting messages that arrive though some channel into the Axis2 engine. The
+core of Axis2 is transport independent. All data that is transport specific
+is stripped out of the incoming message and inserted into the MessageContext.
+In the outgoing message, all transport specific information, like headers,
+are added and sent.</p>
+<p>To write your own transport, you will primarily need to write two classes:
+one is the TransportSender and the other is the TransportReceiver. To
+register a transport with Axis2 you will need to put entries corresponding
+to these two classes in the axis2.xml file. I will take you through the 
+process of adding the entries in the relevant sections.</p>
+<h2>Transport Receiver</h2><p>Any message that is coming into Axis2 needs to go through a transport
+receiver. All information about how the message is received at the Axis2
+server from the wire (or via an e-mail) is isolated inside the transport
+receiver. It extracts the data that is coming on the wire and transforms it
+into a state that the Axis2 server understands.</p>
+<p>So now that we have some background information about how transports work
+inside Axis2, without further delay, lets dive into some coding and start
+building our own transport.</p>
+<p></p>
+<p>To get things stared, you will first need to extend from the
+org.apache.Axis2.transport.TransportListener class and write your own
+transport listener. To create an engine to process the MessageContext, we
+need a configuration context. The following code fragment will do this. This
+should ideally be only done once for the lifetime of the Transport
+receiver.</p>
+<p></p>
+<div class="source"><pre><pre>try {
+        //Create a factory 
+        ConfigurationContextFactory factory = new ConfigurationContextFactory();
+        //Use the factory and an Axis2 repository to create a new Configuration Context
+        configurationContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(repository_directory, 
+axis2xmllocation);
+} catch (Exception e) {
+        log.info(e.getMessage());
+}</pre></pre>
+</div>
+<p>Now we need some kind of a Listener to listen to the requests that come
+in. You need to implement this according to the transport that you are trying
+to build. After a message is received at the Receiver, you can use the
+following code to process the request and then forward the message context to
+the engine using the engine.receive(msgContext) method. (The following code
+is extracted from the MailListener as an example)</p>
+<div class="source"><pre><pre>AxisEngine engine = new AxisEngine(configurationContext);
+MessageContext msgContext = null;
+
+// create and initialize a message context
+try {
+        TransportInDescription transportIn =
+                reg.getAxisConfiguration().getTransportIn(new QName(Constants.TRANSPORT_NAME));
+        TransportOutDescription transportOut =
+                reg.getAxisConfiguration().getTransportOut(new QName(Constants.TRANSPORT_NAME));
+        if (transportIn != null &amp;&amp; transportOut != null) {
+                //create Message Context
+                
+                msgContext = new MessageContext(configurationContext, transportIn, transportOut);
+                msgContext.setServerSide(true);
+                msgContext.setProperty(MailSrvConstants.CONTENT_TYPE, message.getContentType());
+                msgContext.setProperty(MessageContext.CHARACTER_SET_ENCODING, message.getEncoding());
+
+                String soapAction = message.getSOAPActionHeader();
+                msgContext.setWSAAction(soapAction);
+                msgContext.setSoapAction(soapAction);
+
+                // Here we are trying to set the reply to if it is present in the transport information.
+                msgContext.setReplyTo(new EndpointReference(message.getReplyTo());
+
+                //Create the SOAP Message -- This code in from the mail transport and will change depending
+                //on how the data is handled in each transport.
+                ByteArrayInputStream bais = new ByteArrayInputStream(message.getContent().toString().getBytes());
+                XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(bais);
+
+                String soapNamespaceURI = &quot;&quot;;
+                if(message.getContentType().indexOf(SOAP12Constants.SOAP_12_CONTENT_TYPE) &gt; -1){
+                        soapNamespaceURI = SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI;
+                }else if(message.getContentType().indexOf(SOAP11Constants.SOAP_11_CONTENT_TYPE) &gt; -1){
+                        soapNamespaceURI = SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI;
+                }
+
+                StAXBuilder builder = new StAXSOAPModelBuilder(reader, soapNamespaceURI);
+
+                SOAPEnvelope envelope = (SOAPEnvelope) builder.getDocumentElement();
+                msgContext.setEnvelope(envelope);
+                engine.receive(msgContext);
+        } else {
+                throw new AxisFault(Messages.getMessage(&quot;unknownTransport&quot;,Constants.TRANSPORT_NAME));
+        }
+
+} catch (Exception e) {
+        try {
+                if (msgContext != null) {
+                        MessageContext faultContext = engine.createFaultMessageContext(msgContext, e);
+                        engine.sendFault(faultContext);
+                } else {
+                        log.error(e);
+                }
+        } catch (AxisFault e1) {
+                log.error(e);
+        }
+}</pre></pre>
+</div>
+<p>Now that we have the coding in place, we need to let Axis2 know about our
+new transport receiver. We do this by adding an entry into the axis2.xml
+file. If you need to pass any properties for the transport to operate, it can
+also be done through the axis2.xml file.</p>
+<div class="source"><pre><pre>   &lt;transportReceiver name=&quot;TRANSPORT_NAME&quot; class=&quot;org.apache.Axis2.transport.TRANSPORT_NAME.TRANSPORT_LISTNER_CLASS&quot;&gt;
+        &lt;parameter name=&quot;PROPERTY_NAME&quot;&gt;PROPERTY_VALUE&lt;/parameter&gt;
+        &lt;parameter name=&quot;PROPERTY_NAME_2&quot;&gt;PROPERTY_VALUE_2&lt;/parameter&gt;
+  &lt;/transportReceiver&gt;
+  </pre></pre>
+</div>
+<p>By using a code fragment like
+<code>Utils.getParameterValue(transportOut.getParameter(MailSrvConstants.SMTP_USER))</code>
+we can extract the parameters that we inserted into the axis2.xml file.</p>
+<p>As you can see, getting a new transport receiver up and running is a task
+that requires very little effort.</p>
+<h2>Transport Sender</h2><p>Any message that is to be sent out of Axis2, is sent through the Transport
+Sender. The Transport Sender needs to be extended from the
+org.apache.Axis2.transport.AbstractTransportSender class.</p>
+<p>The following bit of code from the abstract transport sender will call the
+Transport Sender that you wrote.</p>
+<div class="source"><pre><pre>// If an EPR is present then the message is going on a different channel.
+if (epr != null) {
+        out = openTheConnection(epr, msgContext);
+        OutputStream newOut = startSendWithToAddress(msgContext, out);
+        if (newOut != null) {
+                out = newOut;
+        }
+        writeMessage(msgContext, out);
+        finalizeSendWithToAddress(msgContext, out);
+        } else {
+        out = (OutputStream) msgContext.getProperty(MessageContext.TRANSPORT_OUT);
+        if (out != null) {
+                startSendWithOutputStreamFromIncomingConnection(msgContext, out);
+                writeMessage(msgContext, out);
+                finalizeSendWithOutputStreamFromIncomingConnection(msgContext, out);
+        } else {
+                throw new AxisFault(
+                        &quot;Both the TO and Property MessageContext.TRANSPORT_WRITER is Null, No way to send response.&quot;);
+        }
+}</pre></pre>
+</div>
+<p>Therefore, depending on whether your transport is using the same channel
+to send the response or using a different channel, you will need to implement
+a sub-set of the methods from the abstract class.</p>
+<p>After implementing the necessary methods, you can let Axis2 know about
+your new transport sender by adding an entry to the axis2.xml file, like you
+did for the TransportReceiver.</p>
+<div class="source"><pre><pre>  &lt;transportSender name=&quot;TRANSPORT_NAME&quot; class=&quot;org.apache.Axis2.transport.TRANSPORT_NAME.TRANSPORT_SENDER_CLASS&quot;&gt;
+        &lt;parameter name=&quot;PROPERTY_NAME&quot;&gt;PROPERTY_VALUE&lt;/parameter&gt;
+        &lt;parameter name=&quot;PROPERTY_NAME_2&quot;&gt;PROPERTY_VALUE_2&lt;/parameter&gt;
+  &lt;/transportSender&gt;
+  </pre></pre>
+</div>
+<p>Have a look at org.apache.Axis2.transport.mail.MailTransportSender for a
+very simple Transport Sender. Also have a look at
+org.apache.Axis2.transport.http.CommonsHTTPTransportSender which is used to
+send HTTP responses.</p>
+<p>Once we have written our transport receiver and our transport sender, and
+inserted the required entries into the axis2.xml file, we are done. It is as
+simple as that!</p>
+</html>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2008
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: webservices/axis2/site/1_4_1/userguide-buildingservices.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/userguide-buildingservices.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/userguide-buildingservices.html (added)
+++ webservices/axis2/site/1_4_1/userguide-buildingservices.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,835 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Apache Axis2 - </title>
+    <style type="text/css" media="all">
+      @import url("../css/maven-base.css");
+      @import url("../css/maven-theme.css");
+      @import url("../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="../" id="bannerLeft">
+    
+                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                            <img src="../../images/axis.jpg" alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+    
+            <div class="xleft">
+        Last Published: 2008-08-24
+                      </div>
+            <div class="xright">            <a href="../index.html">Axis2/Java</a>
+            |
+                <a href="../../c">Axis2/C</a>
+            |
+                <a href="../../..">Apache WS</a>
+            |
+                <a href="http://www.apache.org" class="externalLink">Apache</a>
+            
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+    
+                   <h5>Axis2/Java</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">Home</a>
+          </li>
+          </ul>
+              <h5>Downloads</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../download.cgi">Releases</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../modules/index.html">Modules</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../tools/index.html">Tools</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="expanded">
+                    <a href="../1_4_1/contents.html">Version 1.4.1</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../1_4_1/toc.html">Table of Contents</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/installationguide.html">Installation Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/quickstartguide.html">QuickStart Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/userguide.html">User Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/jaxws-guide.html">JAXWS Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/pojoguide.html">POJO Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/spring.html">Spring Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/webadminguide.html">Web Administrator's Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/migration.html">Migration Guide (from Axis1)</a>
+          </li>
+              </ul>
+        </li>
+              
+    <li class="none">
+                    <a href="../1_4/contents.html">Version 1.4</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_3/contents.html">Version 1.3</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_2/contents.html">Version 1.2</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1_1/contents.html">Version 1.1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1/contents.html">Version 1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_0/index.html">Version 1.0</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_95/index.html">Version 0.95</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_94/index.html">Version 0.94</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_93/index.html">Version 0.93</a>
+          </li>
+          </ul>
+              <h5>Resources</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../articles.html">Articles</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../refLib.html">Reference Library</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_4_1/api/index.html">Online Java Docs</a>
+          </li>
+          </ul>
+              <h5>Get Involved</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../overview.html">Overview</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../svn.html">Checkout the Source</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../release-process.html">Release Process</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../guidelines.html">Developer Guidelines</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../siteHowTo.html">Build the Site</a>
+          </li>
+          </ul>
+              <h5>Project Information</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../thanks.html">Acknowledgements</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+          </li>
+          </ul>
+                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+            <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+    
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">Introducing Axis2<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><a name="buildservices"></a><h1>Apache Axis2 User's Guide -Building Services</h1><p>Now that you know how to use Axis2 to generate clients from
+WSDL, this section digs a little deeper showing you how to create
+services, and also how to create services and clients &quot;from
+scratch&quot;, so to speak.</p>
+<ul><li><a href="userguide.html#intro">Introducing Axis2</a><br />
+<ul><li><a href="userguide.html#whatis">What is Axis2?</a></li>
+<li><a href="userguide.html#underhood">What's Under the
+Hood?</a></li>
+<li><a href="userguide.html#handlessoap">How Axis2 Handles SOAP
+Messages</a></li>
+<li><a href="userguide.html#distributions">Axis2
+Distributions</a></li>
+<li><a href="userguide.html#sbd">The Axis2 Standard Binary
+Distribution</a></li>
+<li><a href="userguide.html#hierarchy">Axis2.war Directory
+Hierarchy</a></li>
+<li><a href="userguide.html#docs">Axis2 Documents
+Distribution</a></li>
+<li><a href="userguide.html#clients">Axis2 and Clients</a></li>
+</ul>
+</li>
+<li><a href="userguide-installingtesting.html#installingtesting">Installing and
+Testing Client Code</a></li>
+<li><a href="userguide-introtoservices.html#introservices">Introduction to
+Services</a><br />
+<ul><li><a href="userguide-introtoservices.html#messageexchange">Message Exchange
+Patterns</a></li>
+</ul>
+</li>
+<li><a href="userguide-creatingclients.html#createclients">Creating
+Clients</a><br />
+<ul><li><a href="userguide-creatingclients.html#choosingclient">Choosing a Client
+Generation Method</a></li>
+<li><a href="userguide-creatingclients.html#generating">Generating
+Clients</a></li>
+<li><a href="userguide-creatingclients.html#adb">Axis Data Binding
+(ADB)</a></li>
+</ul>
+</li>
+<li><a href="userguide-buildingservices.html#buildservices"><strong>Building
+Services</strong></a><br />
+<ul><li><a href="userguide-buildingservices.html#getcomfortable"><strong>Getting
+Comfortable with Available Options</strong></a></li>
+<li><a href="userguide-buildingservices.html#createscratch"><strong>Creating a
+Service from Scratch</strong></a></li>
+<li><a href="userguide-buildingservices.html#deploypojo"><strong>Deploying
+Plain Old Java Objects</strong></a></li>
+<li><a href="userguide-buildingservices.html#deployrun"><strong>Deploying and
+Running an Axis2 Service Created from WSDL</strong></a></li>
+</ul>
+</li>
+<li><a href="userguide-samples.html">Samples</a></li>
+<li><a href="userguide-forfurtherstudy.html">For Further
+Study</a></li>
+</ul>
+<p><a name="getcomfortable"></a></p>
+<h2>Getting Comfortable with the Available Options</h2><p>Axis2 provides a number of ways to create a service, such
+as:</p>
+<ul><li>Create a service and build it from scratch. In this case, you
+build your service class to specifically access AXIOM OMElement
+objects, then create the services.xml file and package it for
+deployment.</li>
+<li>Deploy Plain Old Java Objects (POJOs) as a service.</li>
+<li>Generate the service from WSDL. Just as you can generate
+clients with WSDL, you can also generate the skeleton of a
+service.</li>
+</ul>
+<p>Let's look at these three options.</p>
+<a name="createscratch"></a><h2>Creating a Service from Scratch</h2><p>Creating a service from scratch is not the most convenient way
+to do it, but it does give you the most control. The process
+involves several steps.</p>
+<p><b>The short story:</b></p>
+<ol type="1"><li>Create the service class with each operation that is
+represented by a method that takes an org.apache.axiom.om.OMElement
+object as its argument. (An OMElement is how the AXIs2 Object Model
+(AXIOM) represents an XML element.)</li>
+<li>Create the service descriptor, services.xml, which defines the
+class to be used by the service and the appropriate message
+receivers.</li>
+<li>Create the .aar file, with the classes in their proper
+locations based on the package and the services.xml file in the
+META-INF directory.</li>
+<li>Deploy the .aar file by using the <a href="webadminguide.html">Web Administration application</a> or by
+copying it to the Axis2 services directory.</li>
+</ol>
+<p><b>The long story:</b></p>
+<p>Start by creating the service class, a plain Java class that
+uses classes from the Axis2 libraries (see Code Listing 8).</p>
+<h3>Code Listing 8-Creating the Service Class</h3><pre>
+package org.apache.axis2.axis2userguide;
+
+import javax.xml.stream.XMLStreamException;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+
+public class SampleService {
+
+    public OMElement sayHello(OMElement element) 
+                             throws XMLStreamException {
+            element.build();
+            element.detach();
+
+            String rootName = element.getLocalName();
+            System.out.println(&quot;Reading &quot;+rootName+&quot; element&quot;);
+            
+            OMElement childElement = element.getFirstElement();
+            String personToGreet = childElement.getText();
+
+            OMFactory fac = OMAbstractFactory.getOMFactory();
+            OMNamespace omNs = fac.createOMNamespace(
+                    &quot;http://example1.org/example1&quot;, &quot;example1&quot;);
+            OMElement method = fac.createOMElement(&quot;sayHelloResponse&quot;, 
+omNs);
+            OMElement value = fac.createOMElement(&quot;greeting&quot;, omNs);
+            value.addChild(fac.createOMText(value, &quot;Hello, 
+&quot;+personToGreet));
+            method.addChild(value);
+
+            return method;
+        }
+
+     private void ping(){
+     }
+    
+}
+</pre><p>Make sure to include Axis2 libraries in your class path when
+compiling the source.</p>
+<p>Axis2 uses AXIOM, or the AXIs Object Model, a DOM (Document
+Object Model) -like structure that is based on the StAX API (
+Streaming API for XML). Methods that act as services must take an
+OMElement as their argument, which represents the payload of the
+incoming SOAP message. (An OMElement is just AXIOM's way of
+representing an XML element, like a DOM Element object.) In this
+case, you're extracting the contents of the first child of the
+payload element, adding text to it, and using it as content for the
+return OMElement. Unless this is an &quot;in only&quot; service, these
+methods must return an OMElement, because that becomes the payload
+of the return SOAP message.</p>
+<p>To turn this class into a service, create the service
+description file, services.xml, as in Code Listing 9.</p>
+<h3>Code Listing 9 - Create the Service Description</h3><pre>
+&lt;service name=&quot;UserGuideSampleService&quot;&gt;
+    &lt;description&gt;
+        This is a sample service created in the Axis2 User's Guide
+    &lt;/description&gt;
+
+    &lt;parameter name=&quot;ServiceClass&quot; 
+&gt;org.apache.axis2.axis2userguide.SampleService
+&lt;/parameter&gt;
+
+    &lt;operation name=&quot;sayHello&quot;&gt;
+        &lt;messageReceiver 
+class=&quot;org.apache.axis2.receivers.RawXMLINOutMessageReceiver&quot;/&gt;
+    &lt;/operation&gt;
+    &lt;operation name=&quot;ping&quot;&gt;
+        &lt;messageReceiver 
+class=&quot;org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver&quot;/&gt;
+    &lt;/operation&gt;
+&lt;/service&gt;
+</pre><p>This document defines the service, called by the <a href="webadminguide.html">Web Administration Application</a>, and the
+class used to serve requests. For each operation, it defines the
+appropriate message receiver class.</p>
+<p>Create a new directory, META-INF, in the main directory for the
+class. (In this case, that's the same directory that contains the
+org directory) and place the services.xml file in it.</p>
+<p>Create the .aar file by typing: jar cvf SampleService.aar
+./*</p>
+<p>Deploy the SampleService.aar file by using the <a href="webadminguide.html">Web Administration application</a> or by
+copying it to the Axis2 services directory.</p>
+<p>Now you can create a client class that accesses the service
+directly (see Code Listing 10).</p>
+<h3>Code Listing 10 - Create a Client Class that Accesses the
+Service Directly</h3><pre>
+package org.apache.axis2.axis2userguide;
+
+import javax.xml.stream.XMLStreamException;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.Constants;
+import org.apache.axis2.client.ServiceClient;
+
+public class SampleClient {
+
+       private static EndpointReference targetEPR = 
+             new EndpointReference(
+               &quot;http://localhost:8080/axis2/services/UserGuideSampleService&quot;);
+
+        public static OMElement greetUserPayload(String personToGreet) {
+            OMFactory fac = OMAbstractFactory.getOMFactory();
+            OMNamespace omNs = fac.createOMNamespace(
+                    &quot;http://example1.org/example1&quot;, &quot;example1&quot;);
+            OMElement method = fac.createOMElement(&quot;sayHello&quot;, omNs);
+            OMElement value = fac.createOMElement(&quot;personToGreet&quot;, 
+omNs);
+            value.addChild(fac.createOMText(value, personToGreet));
+            method.addChild(value);
+            return method;
+        }
+
+        public static void main(String[] args) {
+            try {
+                OMElement payload = 
+SampleClient.greetUserPayload(&quot;John&quot;);
+                Options options = new Options();
+                options.setTo(targetEPR);
+                
+options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
+
+                ServiceClient sender = new ServiceClient();
+                sender.setOptions(options);
+                OMElement result = sender.sendReceive(payload);
+
+                String response = result.getFirstElement().getText();
+                System.out.println(response);
+
+            } catch (Exception e) { //(XMLStreamException e) {
+                System.out.println(e.toString());
+            }
+        }
+    
+}
+</pre><p>This class uses the same technique of sending and receiving
+OMElements, but it's also important to note the use of the Options
+class. This class enables you to determine properties such as the
+transport used for the return message (the transport used for the
+outgoing message can be inferred from the URL of the destination)
+and the SOAP version to use. In addition to providing setter and
+getter methods of specific properties that affect how the client
+interacts with the service, the Options class enables you to create
+inheritance relationships between Options objects. So if a property
+is not found in the current Options object used, the client can
+check the parent Options object of the current Options object.</p>
+<p>Compile and run the above SampleClient.java. Make sure to have
+all axis2 libraries in your class path. If all has gone well,
+'Hello, John' will be shown as the output in the console.</p>
+<a name="deploypojo"></a><h2>Deploying Plain Old Java Objects (POJOs)</h2><p>One very easy way to create a Web service is simply to deploy
+the Java objects that represent the service. Start with the class,
+shown in Code Listing 11.</p>
+<h3><b>Code Listing 11 - Creating the Class SampleService</b></h3><pre>
+package org.apache.axis2.axis2userguide;
+
+public class SampleService {
+
+    public void doInOnly(){
+     return; 
+    } 
+     
+    public String noParameters(){
+      return &quot;Hello&quot;;
+    } 
+    
+    public String twoWayOneParameterEcho(String toEcho){
+      return toEcho;
+    } 
+    
+    public boolean multipleParametersAdd(float price, int itemId, 
+                             String description, String itemName){
+      //Code to handle the logic
+                return true;
+    } 
+ 
+}
+</pre><p>Next, you'll need to tell Axis2 what class corresponds with what
+Web service calls. Do this by creating a file called services.xml
+and adding the following shown in Code Listing 12.</p>
+<h3><b>Code Listing 12 - Creating services.xml</b></h3><pre>
+&lt;service name=&quot;SampleService&quot; scope=&quot;application&quot;&gt;
+    &lt;description&gt;
+        Sample Service
+    &lt;/description&gt;
+    &lt;messageReceivers&gt;
+        &lt;messageReceiver 
+            mep=&quot;http://www.w3.org/2004/08/wsdl/in-only&quot;
+    class=&quot;org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver&quot;/&gt;
+        &lt;messageReceiver
+            mep=&quot;http://www.w3.org/2004/08/wsdl/in-out&quot;
+    class=&quot;org.apache.axis2.rpc.receivers.RPCMessageReceiver&quot;/&gt;
+    &lt;/messageReceivers&gt;
+    &lt;parameter name=&quot;ServiceClass&quot;&gt;
+        org.apache.axis2.axis2userguide.SampleService
+    &lt;/parameter&gt;
+&lt;/service&gt;
+</pre><p>This file makes the InOnly and InOut MEPs available to the
+service and tells Axis2 which class to call; operations must match
+method names. In other words, Axis2 automatically sends a call to
+the multipleParametersAdd operation to the
+org.apache.axis2.axis2userguide.SampleService.multipleParametersAdd()
+method.</p>
+<p>Now it's time to create the distribution. Arrange your files in
+the following directory structure (see Code Listing 13).</p>
+<h3><b>Code Listing 13- Create the Directory Structure for the
+Distribution</b></h3><pre>
+ - SampleService
+   - META-INF
+     - services.xml
+   - org
+     - apache
+       - axis2
+         - axis2userguide
+           - SampleService.class
+</pre><p>Finally, deploy the service by copying the SampleService
+directory to the webapps/axis2/WEB-INF/services directory on the
+servlet engine. You can check to make sure that it's been properly
+deployed by checking <a class="externalLink" href="http://%3Chost%3E:%3Cport%3E/axis2/services/listServices">http://&lt;host&gt;:&lt;port&gt;/axis2/services/listServices</a>.</p>
+<a name="deployrun"></a><h2>Deploying and Running an Axis2 Service Created from WSDL</h2><p>If you have a WSDL file, you can easily create and deploy a
+service based on that description. For example, to create a service
+based on the same WSDL file used in the <a href="userguide-creatingclients.html">clients section</a> of this
+document, you will follow the steps below.</p>
+<p><b>The short story:</b></p>
+<ol type="1"><li><a class="externalLink" href="http://ws.apache.org/axis2/download/1_4_1/download.cgi#std-bin">
+Download</a> the Axis2 standard distribution, if you have not done
+so already.</li>
+<li>Generate the skeleton using the WSDL2Java utility, as in:<br />
+<pre>
+java org.apache.axis2.wsdl.WSDL2Java -uri file:///C:/apps/axis2/samples/zSample/Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d adb -s -wv 1.1 -ss -sd -ssi
+</pre></li>
+<li>Open the *Skeleton.java file and add the functionality of your
+service to the generated methods.</li>
+<li>Build a service using Ant by typing ant jar.server</li>
+<li>Deploy the service by copying the build/lib/*.aar file to
+&lt;J2EE_HOME&gt;/webapps/axis2/WEB-INF/services</li>
+<li>Check
+http://&lt;server&gt;:&lt;port&gt;/axis2/services/listServices to
+make sure the service has been properly deployed.</li>
+</ol>
+<p><b>The long story:</b></p>
+<p>As with generating clients, you will need the <a class="externalLink" href="http://ws.apache.org/axis2/download/1_4_1/download.cgi#std-bin">
+Axis2 Standard Distribution</a>, because the <a class="externalLink" href="http://ws.apache.org/axis2/download/1_4_1/download.cgi#war">
+Axis2 WAR Distribution</a> does not include the WSDL2Java utility.
+Once you've got it downloaded and unpacked, make sure that you set
+the AXIS2_HOME variable to point to the location in which you've
+unpacked it.</p>
+<p>Now you are ready to generate the actual service. To keep things
+neat, create a new directory and change to it. The WSDL file is the
+same one referenced in <a href="userguide-creatingclients#generating.xhtml">Generating Clients</a>
+and includes four operations: NoParameters, TwoWayOneParameterEcho,
+MultipleParametersAddItem, and DoInOnly. To generate the service,
+use the WSDL2Java utility, as in Code Listing 14.</p>
+<h3>Code Listing 14 - Using the WSDL2Java Utility to Generate the
+Service</h3><p><strong>Code Listing 14.1:</strong></p>
+<pre>
+java org.apache.axis2.wsdl.WSDL2Java -uri 
+file:///C:/apps/axis2/samples/zSample/Axis2UserGuide.wsdl -p 
+org.apache.axis2.axis2userguide -d adb -s -wv 1.4.1 -ss -sd
+</pre><p>Note: Make sure all the .jar files in the Axis2 lib directory is
+set to the CLASSPATH before you run the above code.</p>
+<p>This statement tells the utility you want to create a service
+out of the operations in the file <a href="userguide-codelisting5.html">Axis2UserGuide.wsdl</a>, and that the
+Java classes generated should be in the
+org.apache.axis2.axis2userguide package (-p). (You can view the
+appropriate directories created.) It also indicates that you want
+to use the Axis2 DataBinding Framework, or ADB (-d), to generate
+only synchronous or blocking code (-s), and to generate server-side
+code (-ss) as opposed to a client, including the services.xml
+service descriptor file (-sd). It also specifies version
+1.4.1 for the WSDL file (-wv)<strong>.</strong></p>
+<p><strong>Code Listing 14.2:</strong></p>
+<p>You can also use the following script files to achieve the same.
+In this case you do not have the set the CLASSPATH manually.</p>
+<p>For Linux:</p>
+<pre>
+$AXIS2_HOME/bin/wsdl2java.sh -uri file:///C:/apps/axis2/samples/zSample/Axis2UserGuide.wsdl
+-p org.apache.axis2.axis2userguide -o target_directory_name -d adb -s -wv 1.4.1 -ss -sd
+</pre><p>For MS Windows:</p>
+<pre>
+%AXIS2_HOME%\bin\wsdl2java.bat -uri file:\\\C:\apps\axis2\samples\zSample\Axis2UserGuide.wsdl
+-p org.apache.axis2.axis2userguide -o target_directory_name -d adb -s -wv 1.4.1 -ss -sd
+</pre><p>In both instances, at this point, you should see four new items
+in your chosen directory: the build.xml file, which includes
+instructions for Ant, the src directory, which includes all the
+generated classes and stubs, the resources directory, which
+includes a regenerated version of the WSDL, and the services.xml
+file, which ultimately controls the service's behavior.</p>
+<p>You can compile the service at this point, but it doesn't
+actually do anything yet. You can solve that problem by opening the
+src\org\apache\axis2\axis2userguide\Axis2UserGuideServiceSkeleton.java
+file and either editing the code in bold -- make sure you manage
+parameter numbers -- or replacing all the code with the following
+in Code Listing 15.</p>
+<h3>Code Listing 15 - Compiling the Service</h3><pre>
+/**
+ * Axis2UserGuideServiceSkeleton.java
+ *
+ * This file was auto-generated from WSDL
+ * by the Apache Axis2 version: SNAPSHOT Oct 15, 2006 (11:23:18 
+GMT+00:00)
+ */
+package org.apache.axis2.axis2userguide;
+/**
+ *  Axis2UserGuideServiceSkeleton java skeleton for the axisService
+ */
+public class Axis2UserGuideServiceSkeleton {
+     
+         
+    /**
+     * Auto generated method signature
+         
+     * @param param7
+         
+    */
+    public  org.apache.axis2.axis2userguide.NoParametersResponse 
+NoParameters
+        (org.apache.axis2.axis2userguide.NoParametersRequest param7)
+         
+    {
+        <b>System.out.println(param7);
+
+        NoParametersResponse res =
+            new NoParametersResponse();
+
+        return res;</b>
+    }
+     
+         
+    /**
+     * Auto generated method signature
+         
+     * @param param9
+         
+    */
+    public  
+org.apache.axis2.axis2userguide.TwoWayOneParameterEchoResponse 
+TwoWayOneParameterEcho
+        (
+         org.apache.axis2.axis2userguide.TwoWayOneParameterEchoRequest 
+param9
+         )
+         
+    {
+        <b>System.out.println(param9.getEchoString());
+
+        TwoWayOneParameterEchoResponse res =
+            new TwoWayOneParameterEchoResponse();
+        
+        res.setEchoString(param9.getEchoString());
+
+        return res;</b>
+    }
+     
+         
+    /**
+     * Auto generated method signature
+         
+     * @param param11
+         
+    */
+    public  void DoInOnly
+        (
+         org.apache.axis2.axis2userguide.DoInOnlyRequest param11
+         )
+         
+    {
+        <b>System.out.println(param11.getMessageString());</b>
+    }
+     
+         
+    /**
+     * Auto generated method signature
+         
+     * @param param12
+         
+    */
+    public  
+org.apache.axis2.axis2userguide.MultipleParametersAddItemResponse 
+MultipleParametersAddItem
+        (
+         
+org.apache.axis2.axis2userguide.MultipleParametersAddItemRequest 
+param12
+         )
+         
+    {
+        <b>System.out.println(param12.getPrice());
+        System.out.println(param12.getItemId());
+        System.out.println(param12.getDescription());
+        System.out.println(param12.getItemName());
+
+        MultipleParametersAddItemResponse res =
+            new MultipleParametersAddItemResponse();
+        
+        res.setSuccessfulAdd(true);
+        res.setItemId(param12.getItemId());
+
+        return res;</b>
+    }
+     
+}
+</pre><p>As with generating clients, all these classes, such as
+MultipleParametersAddItemRequest and
+TwoWayOneParameterEchoResponse, are generated by the utility, and
+can be found in the same directory as the skeleton file. They
+include methods such as setSuccessfulAdd(), which sets the value of
+the content of an element in the response, and getItemName(), which
+retrieves the content of elements in the request.</p>
+<p>Save the file and compile it by typing: ant jar.server</p>
+<p>If all goes well, you should see the BUILD SUCCESSFUL message in
+your window, and the Axis2UserGuideService.aar file in the newly
+created build/lib directory.</p>
+<p><img src="images/fig05.jpg" alt="The BUILD SUCCESSFUL message in your window" /></p>
+<p>Now you need to deploy the service to the server. To do that,
+copy the Axis2UserGuideService.aar file to the WEB-INF/services
+directory of the application server. (You also have the option to
+use the administration tools. See the <a href="webadminguide.html">Web Administrator's Guide</a> for more
+information.)</p>
+<p>To verify that the service has been properly deployed, check the
+list of services at <a class="externalLink" href="http://%3Chost%3E:%3Cport%3E/axis2/services/listServices">http://&lt;host&gt;:&lt;port&gt;/axis2/services/listServices</a>.</p>
+<p><img src="images/fig06.jpg" alt="Checking the list of services" /></p>
+<p>Now you should be able to access the service using any of the
+clients built in the <a href="userguide-creatingclients.html#generating">Generating Clients</a>
+document.</p>
+<p><strong>See Next Section</strong>- <a href="userguide-samples.html">Samples</a></p>
+</html>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2008
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: webservices/axis2/site/1_4_1/userguide-codelisting5.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/userguide-codelisting5.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/userguide-codelisting5.html (added)
+++ webservices/axis2/site/1_4_1/userguide-codelisting5.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,507 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Apache Axis2 - </title>
+    <style type="text/css" media="all">
+      @import url("../css/maven-base.css");
+      @import url("../css/maven-theme.css");
+      @import url("../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="../" id="bannerLeft">
+    
+                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                            <img src="../../images/axis.jpg" alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+    
+            <div class="xleft">
+        Last Published: 2008-08-24
+                      </div>
+            <div class="xright">            <a href="../index.html">Axis2/Java</a>
+            |
+                <a href="../../c">Axis2/C</a>
+            |
+                <a href="../../..">Apache WS</a>
+            |
+                <a href="http://www.apache.org" class="externalLink">Apache</a>
+            
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+    
+                   <h5>Axis2/Java</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">Home</a>
+          </li>
+          </ul>
+              <h5>Downloads</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../download.cgi">Releases</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../modules/index.html">Modules</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../tools/index.html">Tools</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="expanded">
+                    <a href="../1_4_1/contents.html">Version 1.4.1</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../1_4_1/toc.html">Table of Contents</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/installationguide.html">Installation Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/quickstartguide.html">QuickStart Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/userguide.html">User Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/jaxws-guide.html">JAXWS Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/pojoguide.html">POJO Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/spring.html">Spring Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/webadminguide.html">Web Administrator's Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4_1/migration.html">Migration Guide (from Axis1)</a>
+          </li>
+              </ul>
+        </li>
+              
+    <li class="none">
+                    <a href="../1_4/contents.html">Version 1.4</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_3/contents.html">Version 1.3</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_2/contents.html">Version 1.2</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1_1/contents.html">Version 1.1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1/contents.html">Version 1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_0/index.html">Version 1.0</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_95/index.html">Version 0.95</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_94/index.html">Version 0.94</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_93/index.html">Version 0.93</a>
+          </li>
+          </ul>
+              <h5>Resources</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../articles.html">Articles</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../refLib.html">Reference Library</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_4_1/api/index.html">Online Java Docs</a>
+          </li>
+          </ul>
+              <h5>Get Involved</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../overview.html">Overview</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../svn.html">Checkout the Source</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../release-process.html">Release Process</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../guidelines.html">Developer Guidelines</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../siteHowTo.html">Build the Site</a>
+          </li>
+          </ul>
+              <h5>Project Information</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../thanks.html">Acknowledgements</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+          </li>
+          </ul>
+                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+            <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+    
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">Code Listing 4: Generating clients from the WSDL
+file<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><h1>Code Listing 5 - Generating Clients from the WSDL File</h1><pre>
+&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+&lt;wsdl:definitions
+   xmlns:apachesoap=&quot;http://xml.apache.org/xml-soap&quot;
+   xmlns:impl=&quot;http://apache.org/axis2/Axis2UserGuide&quot;
+   xmlns:intf=&quot;http://apache.org/axis2/Axis2UserGuide&quot;
+   xmlns:wsdl=&quot;http://schemas.xmlsoap.org/wsdl/&quot;
+   xmlns:wsdlsoap=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot;
+   xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;
+   targetNamespace=&quot;http://apache.org/axis2/Axis2UserGuide&quot;&gt;
+
+  &lt;wsdl:types&gt;
+    &lt;schema
+       elementFormDefault=&quot;qualified&quot;
+       targetNamespace=&quot;http://apache.org/axis2/Axis2UserGuide&quot;
+       xmlns=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
+      
+      &lt;!-- ELEMENTS --&gt;
+      
+      &lt;element name=&quot;DoInOnlyRequest&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;messageString&quot; type=&quot;xsd:string&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;TwoWayOneParameterEchoRequest&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;echoString&quot; type=&quot;xsd:string&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      &lt;element name=&quot;TwoWayOneParameterEchoResponse&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;echoString&quot; type=&quot;xsd:string&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;NoParametersRequest&quot;&gt;
+        &lt;complexType/&gt;
+      &lt;/element&gt;
+      &lt;element name=&quot;NoParametersResponse&quot;&gt;
+        &lt;complexType/&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;MultipleParametersAddItemRequest&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;itemId&quot; type=&quot;xsd:int&quot;/&gt;
+            &lt;element name=&quot;itemName&quot; type=&quot;xsd:string&quot;/&gt;
+            &lt;element name=&quot;price&quot; type=&quot;xsd:float&quot;/&gt;
+            &lt;element name=&quot;description&quot; type=&quot;xsd:string&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+
+      &lt;element name=&quot;MultipleParametersAddItemResponse&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+          &lt;element name=&quot;itemId&quot; type=&quot;xsd:int&quot;/&gt;
+          &lt;element name=&quot;successfulAdd&quot; type=&quot;xsd:boolean&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+
+    &lt;/schema&gt;
+  &lt;/wsdl:types&gt;
+
+  
+  &lt;!-- MESSAGES --&gt;
+
+  &lt;wsdl:message name=&quot;DoInOnlyRequestMessage&quot;&gt;
+    &lt;wsdl:part name=&quot;input&quot; element=&quot;impl:DoInOnlyRequest&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name=&quot;TwoWayOneParameterEchoRequestMessage&quot;&gt;
+    &lt;wsdl:part name=&quot;input&quot; element=&quot;impl:TwoWayOneParameterEchoRequest&quot;/&gt;
+  &lt;/wsdl:message&gt;
+  &lt;wsdl:message name=&quot;TwoWayOneParameterEchoResponseMessage&quot;&gt;
+    &lt;wsdl:part name=&quot;output&quot; element=&quot;impl:TwoWayOneParameterEchoResponse&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name=&quot;NoParametersRequestMessage&quot;&gt;
+    &lt;wsdl:part name=&quot;input&quot; element=&quot;impl:NoParametersRequest&quot;/&gt;
+  &lt;/wsdl:message&gt;
+  &lt;wsdl:message name=&quot;NoParametersResponseMessage&quot;&gt;
+    &lt;wsdl:part name=&quot;output&quot; element=&quot;impl:NoParametersResponse&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name=&quot;MultipleParametersAddItemRequestMessage&quot;&gt;
+    &lt;wsdl:part name=&quot;input&quot; element=&quot;impl:MultipleParametersAddItemRequest&quot;/&gt;
+  &lt;/wsdl:message&gt;
+  &lt;wsdl:message name=&quot;MultipleParametersAddItemResponseMessage&quot;&gt;
+    &lt;wsdl:part name=&quot;output&quot; element=&quot;impl:MultipleParametersAddItemResponse&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+
+  &lt;!-- Port type (operations) --&gt;
+
+  &lt;wsdl:portType name=&quot;Axis2UserGuidePortType&quot;&gt;
+
+    &lt;wsdl:operation name=&quot;DoInOnly&quot; parameterOrder=&quot;input&quot;&gt;
+      &lt;wsdl:input name=&quot;DoInOnlyRequestMessage&quot;
+                  message=&quot;impl:DoInOnlyRequestMessage&quot;/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name=&quot;TwoWayOneParameterEcho&quot; parameterOrder=&quot;input&quot;&gt;
+      &lt;wsdl:input name=&quot;TwoWayOneParameterEchoRequestMessage&quot;
+                  message=&quot;impl:TwoWayOneParameterEchoRequestMessage&quot;/&gt;
+      &lt;wsdl:output name=&quot;TwoWayOneParameterEchoResponseMessage&quot;
+                  message=&quot;impl:TwoWayOneParameterEchoResponseMessage&quot;/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name=&quot;NoParameters&quot; parameterOrder=&quot;input&quot;&gt;
+      &lt;wsdl:input name=&quot;NoParametersRequestMessage&quot;
+                  message=&quot;impl:NoParametersRequestMessage&quot;/&gt;
+      &lt;wsdl:output name=&quot;NoParametersResponseMessage&quot;
+                   message=&quot;impl:NoParametersResponseMessage&quot;/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name=&quot;MultipleParametersAddItem&quot; parameterOrder=&quot;input&quot;&gt;
+      &lt;wsdl:input name=&quot;MultipleParametersAddItemRequestMessage&quot;
+                  message=&quot;impl:MultipleParametersAddItemRequestMessage&quot;/&gt;
+      &lt;wsdl:output name=&quot;MultipleParametersAddItemResponseMessage&quot;
+                  message=&quot;impl:MultipleParametersAddItemResponseMessage&quot;/&gt;
+    &lt;/wsdl:operation&gt;
+
+  &lt;/wsdl:portType&gt;
+
+
+  &lt;!-- BINDING (bind operations) --&gt;
+  &lt;wsdl:binding
+     name=&quot;Axis2UserGuideSoapBinding&quot;
+     type=&quot;impl:Axis2UserGuidePortType&quot;&gt;
+    &lt;wsdlsoap:binding style=&quot;document&quot; transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/&gt;
+
+    &lt;wsdl:operation name=&quot;DoInOnly&quot;&gt;
+      &lt;wsdlsoap:operation soapAction=&quot;DoInOnly&quot;/&gt;
+      &lt;wsdl:input&gt;
+        &lt;wsdlsoap:body use=&quot;literal&quot;/&gt;
+      &lt;/wsdl:input&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name=&quot;TwoWayOneParameterEcho&quot;&gt;
+      &lt;wsdlsoap:operation soapAction=&quot;TwoWayOneParameterEcho&quot;/&gt;
+      &lt;wsdl:input&gt;
+        &lt;wsdlsoap:body use=&quot;literal&quot;/&gt;
+      &lt;/wsdl:input&gt;
+      &lt;wsdl:output&gt;
+        &lt;wsdlsoap:body use=&quot;literal&quot;/&gt;
+      &lt;/wsdl:output&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name=&quot;NoParameters&quot;&gt;
+      &lt;wsdlsoap:operation soapAction=&quot;NoParameters&quot;/&gt;
+      &lt;wsdl:input&gt;
+        &lt;wsdlsoap:body use=&quot;literal&quot;/&gt;
+      &lt;/wsdl:input&gt;
+      &lt;wsdl:output&gt;
+        &lt;wsdlsoap:body use=&quot;literal&quot;/&gt;
+      &lt;/wsdl:output&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name=&quot;MultipleParametersAddItem&quot;&gt;
+      &lt;wsdlsoap:operation soapAction=&quot;MultipleParametersAddItem&quot;/&gt;
+      &lt;wsdl:input&gt;
+        &lt;wsdlsoap:body use=&quot;literal&quot;/&gt;
+      &lt;/wsdl:input&gt;
+      &lt;wsdl:output&gt;
+        &lt;wsdlsoap:body use=&quot;literal&quot;/&gt;
+      &lt;/wsdl:output&gt;
+    &lt;/wsdl:operation&gt;
+  &lt;/wsdl:binding&gt;
+
+
+  &lt;!-- SERVICE --&gt;
+
+  &lt;wsdl:service name=&quot;Axis2UserGuideService&quot;&gt;
+    &lt;wsdl:port binding=&quot;impl:Axis2UserGuideSoapBinding&quot;
+               name=&quot;Axis2UserGuide&quot;&gt;
+      &lt;wsdlsoap:address location=&quot;http://localhost:8080/axis2/services/Axis2UserGuide&quot;/&gt;
+    &lt;/wsdl:port&gt;
+  &lt;/wsdl:service&gt;
+&lt;/wsdl:definitions&gt;
+</pre></html>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2008
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>