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 [17/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/webadminguide.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/webadminguide.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/webadminguide.html (added)
+++ webservices/axis2/site/1_4_1/webadminguide.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,531 @@
+<!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">
+ <strong>Web Administrator's Guide</strong>
+ </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="">Apache Axis2 Web Administrator's Guide<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><h1 align="center">Apache Axis2 Web Administrator's Guide</h1><p>This document gives you detailed information on the
+administration console of the Apache Axis2 Web application. Apache
+Axis2 Administration is all about configuring Apache Axis2 at run
+time, where the configuration is transient.</p>
+<p><i>Send your feedback to: <a class="externalLink" href="mailto:axis-dev@ws.apache.org?subject=[Axis2]">axis-dev@ws.apache.org</a></i>.
+(Subscription details are available on the <a class="externalLink" href="http://ws.apache.org/axis2/mail-lists.html">Axis2 site</a>.)
+Kindly prefix every email subject with [Axis2].</p>
+<h2>Contents</h2><ul><li><a href="#Intro">Introduction</a><ul><li><a href="#login">Login into Administration Site</a></li>
+</ul>
+</li>
+<li><a href="#adminoptions">Administration Options</a><ul><li><a href="#tools">Tools</a><ul><li><a href="#upservice">Upload Service</a></li>
+</ul>
+</li>
+<li><a href="#syscomponents">System components</a><ul><li><a href="#heading1">Available services</a></li>
+<li><a href="#servgroups">Available service groups</a></li>
+<li><a href="#avmodules">Available modules</a></li>
+<li><a href="#globalmodules">Globally engaged modules</a></li>
+<li><a href="#phases">Available phases</a></li>
+</ul>
+</li>
+<li><a href="#executionchains">Execution chains</a><ul><li><a href="#globalchains">Global chains</a></li>
+<li><a href="#operationchains">Operation specific chains</a></li>
+</ul>
+</li>
+<li><a href="#engaginmodule">Engage module</a></li>
+<li><a href="#services">Services</a><ul><li><a href="#turnoffservice">Deactivate Service</a></li>
+<li><a href="#turnonservice">Activate Service</a></li>
+<li><a href="#editservicepara">Edit service parameters</a></li>
+</ul>
+</li>
+<li><a href="#context">Contexts</a><ul><li><a href="#viewhierarchy">View Hierarchy</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<a name="Intro"></a><h3>Introduction</h3><p>The Apache Axis2 Web application has three main sections:
+'Services' lists all the available services deployed in this
+server, 'Validate' checks the system to see whether all the
+required libraries are in place and views the system information,
+and 'Administration' is the Axis2 Web Administration module which
+is the console for administering the Apache Axis2 installation.</p>
+<p>The Axis2 Web Administration module provides a way to configure
+Axis2 dynamically. It's important to note that this dynamic
+configuration will NOT be persistent, i.e., if the servlet
+container is restarted, then all the dynamic configuration changes
+will be lost.</p>
+<a name="login"></a><h4>Log on to the Administration Site</h4>
+<p>Once Apache Axis2 is successfully installed, the Web application
+can be accessed (see <a href="installationguide.html">Installation
+Guide</a> for instructions). From the <a href="#homepage">Axis2 Web
+Application Home page</a> you can go to the Administration page by
+clicking the 'Administration' link. The Login page shown below will
+appear requesting the user name and password. The default user name
+is 'admin' (without quotes) and default password is 'axis2'
+(without quotes).</p>
+<p><img src="images/adminlogin.jpg" alt="" /></p>
+<p>You can change the user name and password values by changing the
+following two parameters in the axis2.xml as required.</p>
+<p><img src="images/parameters.jpg" alt="" /></p>
+<p>If the log on is successful, you will see the screen below. This
+is where you can view the configuration and the status of the
+running system and dynamically configure it.</p>
+<p><img src="images/admin.jpg" alt="" /></p>
+<a name="adminoptions"></a><h3>Administration Options</h3><div style="margin-left: 2em"><a name="tools"><b>Tools</b></a><ul><li><a href="#upservice">Upload Service</a></li>
+</ul>
+<a name="syscomponents"><b>System
+components</b></a><ul><li><a href="#heading1">Available services</a></li>
+<li><a href="#servgroups">Available service groups</a></li>
+<li><a href="#avmodules">Available modules</a></li>
+<li><a href="#globalmodules">Globally engaged modules</a></li>
+<li><a href="#phases">Available phases</a></li>
+</ul>
+<a name="executionchains"><b>Execution
+chains</b></a><ul><li><a href="#globalchains">Global chains</a></li>
+<li><a href="#operationchains">Operation specific chains</a></li>
+</ul>
+<b><a href="#engaginmodule">Engage module</a></b><br />
+<ul><li>For all Services</li>
+<li>For a Service Group</li>
+<li>For a Service</li>
+<li>For an Operation</li>
+</ul>
+<a name="services"><b>Services</b></a><ul><li><a href="#turnoffservice">Deactivate service</a></li>
+<li><a href="#turnonservice">Activate service</a></li>
+<li><a href="#editservicepara">Edit service parameters</a></li>
+</ul>
+<a name="context"><b>Contexts</b></a><ul><li><a href="#viewhierarchy">View Hierarchy</a></li>
+</ul>
+</div><a name="homepage"></a><h3>Apache Axis2 Web Application Home Page</h3><p><strong><img src="images/clip_image006.jpg" alt="" /></strong></p>
+<a name="upservice"></a><h3>Upload Services</h3><p>You can upload packaged Apache Axis2 service archive files using
+this page. This can be done in two simple steps:</p>
+<ul><li>Browse to the location and select the axisService archive file
+you wish to upload</li>
+<li>Then click Upload</li>
+</ul>
+<p><img src="images/clip_image010.jpg" alt="" /></p>
+<a name="heading1"></a><h3>Available Services</h3><p>The functionality of the 'Available Services' option is almost
+the same as the functionality of the 'Services' option on the Axis2
+Web Application Home page, where it displays a list of deployed
+services and their operations. As an additional feature, the
+'Available Services' page lists details of modules that are engaged
+to the deployed services and their operations on a global, service
+or on an operation level.</p>
+<p>Using the 'Disengage' link, you can disengage the corresponding
+module as long as the module is not globally engaged (i.e., engaged
+to all the services and operations).</p>
+<p>Click on a specific service and it will give you the WSDL file
+of that particular service.</p>
+<p><strong>Faulty services</strong> of this system will also be
+listed on this page. Click on a faulty service to view a page that
+lists the exception stack trace of the exception, which caused the
+service to be faulty.</p>
+<p><img src="images/adminmain.jpg" alt="" /></p>
+<a name="servgroups"></a><h3>Available Service Groups</h3><p>Service group is a logical collection of related services, and
+the 'Available Service Groups' link will list all the available
+service groups in the system.</p>
+<p><img src="images/servicegroups.jpg" alt="" /></p>
+<a name="avmodules"></a><h3>Available Modules</h3><p>To view the available modules in the 'modules' directory of the
+repository, click 'Available Modules'. This will show you all the
+available modules in the system. Those modules can be engaged
+dynamically.</p>
+<p><img src="images/modules.jpg" alt="" /></p>
+<br />
+<a name="globalmodules"></a><h3>Globally Engaged Modules</h3><p>Click the 'Globally Engaged Modules' to view the globally
+engaged modules, if any. If a module is engaged globally, then the
+handlers that belong to that module will be executed irrespective
+of the service.</p>
+<a name="phases"></a><h3>Available Phases</h3><p>The 'Available Phases' link will display all the available
+phases. In Axis2, there are two levels of phases:</p>
+<ul><li>System predefined phases (not allowed to be changed)</li>
+<li>User defined phases</li>
+</ul>
+<p>The main difference between these two levels is that system
+predefined phases will be invoked irrespective of the services,
+while the user defined phases will be invoked when the dispatcher
+finds the operation. Note that it is essential for module
+developers and service writers to have a good understanding of
+phases and phase ordering.</p>
+<p><img src="images/viewphases.jpg" alt="" /></p>
+<br />
+<a name="globalchains"></a><h3>Global Chains</h3><p>The 'Global Chains' link will display all the Global Execution
+Chains. The most interesting feature of the Axis2 Web
+Administration Module is that it provides a very basic method of
+viewing the global phase list and handlers inside the phases
+depending on both the phase and handler orders. This kind of
+information is extremely useful in debugging the system, as there
+is no other way to list out handlers in the global chains. If you
+engage a new module, the new handlers will be added to the global
+chains and will be displayed on this page.</p>
+<p><img src="images/globalchain.jpg" alt="" /></p>
+<br />
+<a name="operationchains"></a><h3>Operation Specific Chains</h3><p>The 'Operation Specific Chains' link can be used to view the
+handlers corresponding to a given service in the same order as it
+is in the real execution chain.</p>
+<p><img src="images/select_service_for_handler.jpg" alt="" /></p>
+<br />
+<p>Select the service of whose service handlers you wish to view
+from the list, and click 'View' to view the handlers. The page
+below shows the service handlers of the service
+<em>version</em></p>
+<p><img src="images/serviceHandlers.jpg" alt="" /></p>
+<br />
+<a name="engaginmodule"></a><h3>Engaging Modules</h3><p>The 'Engaging Modules' link allows you to engage modules either
+globally (to all services), to a service group, to a service, or to
+an operation depending on the module implementation. If the module
+was designed to engage the handlers globally, then the handlers in
+the module can be included in any phase in the system. It can be
+either a system predefined phase or a user defined phase.</p>
+<p>On the other hand, if the module was implemented in such a way
+that it is going to be deployed to a service or to an operation,
+then the module cannot be included in any of the <a href="#phases">System Predefined Phases</a>. Thus it can only be
+included in <a href="#phases">User Defined Phases</a>.</p>
+<p>Immediately after engaging the module, you can see the status of
+the engagement indicating whether it is engaged properly or
+not.</p>
+<p><img src="images/moduleengage.jpg" alt="" /></p>
+<a name="turnoffservice"></a><h3>Deactivate Service</h3><p>The 'Deactivate Service' link under the 'Services' list will
+lead to the page below. The Deactivate service functionality
+provides a way to remove unnecessary services from the running
+system, but the removal is transient--which means that if you
+restart the system, the service will be active.</p>
+<p>To deactivate a service, select a service from the list, select
+the 'Deactivate service' check box, and then click 'Deactivate'..
+The 'Clear' button will clear the 'Deactivate service' check
+box.</p>
+<p><img src="images/inactivate.jpg" alt="" /></p>
+<br />
+<a name="turnonservice"></a><h3>Activate Service</h3><p>The 'Activate Service' link under the 'Services' list will lead
+to the page below. The Activate service functionality provides a
+way to activate services while the system is running, but the
+activation is transient-- which means that if you restart the
+system, the service will be inactive.</p>
+<p>To activate a service, select a service from the list, select
+the 'Activate Service' check box, then click 'Activate'. The
+'Clear' button will clear the 'Activate service' check box.</p>
+<p><img src="images/activate.jpg" alt="" /></p>
+<br />
+<a name="editservicepara"></a><h3>Edit Service Parameters</h3><p>This functionality provides a way to change the parameters in a
+service or its operations. These changes will be transient too,
+which means if you restart the system, the changes will not be
+reflected.</p>
+<p>The 'Edit Parameters' link under the 'Services' list (on the
+navigation bar) will link to the page where you can select the
+services of which you want to edit the parameters. Once the service
+is selected, click 'Edit Parameters'.. This will open the page
+shown below.</p>
+<p><img src="images/editserviecpara.jpg" alt="" /></p>
+<br />
+<a name="viewhierarchy"></a><h3>View Hierarchy</h3><p>By listing the current context hierarchy, the 'View Hierarchy'
+link provides a means to look at the system state at run time. This
+will list out all the available service group contexts, service
+contexts, operation contexts, etc.</p>
+</html>
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2008
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Added: webservices/axis2/site/1_4_1/xmlbased-server.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/xmlbased-server.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/xmlbased-server.html (added)
+++ webservices/axis2/site/1_4_1/xmlbased-server.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,460 @@
+<!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"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">Writing Web Services Using Axis2's Primary APIs<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><a name="Writing_Web_Services_Using_Axis2s_Primary_APIs"></a><h1>Writing Web Services Using Apache Axis2's Primary APIs</h1><p>Apache Axis2 dispatches a component called
+<strong>MessageReceiver</strong> when Receiving a Message to the
+server. Apache Axis2 provides different implementations of this
+class and it can be configured by adding a messageReceiver tag to
+services.xml. Apache Axis2 provides an implementation for a class
+of Message receivers called RawXml Message receivers. They work at
+the XML level and can only handle OMElements as parameters. This
+section explains how to write a service using them.</p>
+<p>In our example, the Web service will have two operations.</p>
+<pre>
+public void ping(OMElement element){} //IN-ONLY operation, just accepts the OMElement and does some processing.
+public OMElement echo(OMElement element){}//IN-OUT operation, accepts an OMElement and
+ // sends back the same again
+</pre><a name="How_to_write_the_Web_Service_"></a><h4>How to Write a Web Service?</h4>
+
+Writing a new Web service with Apache Axis2 involves four steps:
+<ol type="1"><li>Write the Implementation Class.</li>
+<li>Write a services.xml file to explain the Web service.</li>
+<li>Create a *.aar archive (Axis Archive) for the Web service.</li>
+<li>Deploy the Web service.</li>
+</ol>
+<a name="Step1_:Write_the_Implementation_Class"></a><h4>Step1: Write the Implementation Class</h4>
+<p>An implementation class has the business logic for the Web
+service and implements the operations provided by the Web service.
+Unless you have data binding, the signature of the methods can have
+only one parameter of the type OMElement. <i>OM stands for Object
+Model (also known as AXIOM - AXis Object Model) and refers to the
+XML infoset model that is initially developed for Apache Axis2. DOM
+and JDOM are two such XML models conceptually similar to OM as an
+XML model by its external behavior, but considering the deep down
+implementation OM is very much different to others. OMElement is
+the basic representation of the XML infoset element in OM.For more
+details on OMElement see the <a class="externalLink" href="http://ws.apache.org/commons/axiom/OMTutorial.html">OM
+Tutorial</a>.</i></p>
+<pre>
+public class MyService{
+ public void ping(OMElement element){
+ // Business Logic
+ ......
+ }
+ public OMElement echo(OMElement element){
+ ......
+ }
+}
+</pre><a name="Step2_:Write_the_services_xml_file"></a><h4>Step2: Write the services.xml file</h4>
+<p>"services.xml" has the configuration for a Web service. Each Web
+service, deployed in Apache Axis2 , must have its configuration in
+"services.xml". The configuration for MyService is as follows:</p>
+<pre>
+<service >
+ <description>
+ This is a sample Web service with two operations, echo and ping.
+ </description>
+ <parameter name="ServiceClass">userguide.example1.MyService</parameter>
+ <operation name="echo">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ <actionMapping>urn:echo</actionMapping>
+ </operation>
+ <operation name="ping">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+ <actionMapping>urn:ping</actionMapping>
+ </operation>
+ </service>
+</pre><p>The above XML tags can be explained as follows:</p>
+<p>1. The description of the service class is provided in the
+description tag.</p>
+<pre>
+<service >
+ <description>
+ This is a sample Web service with two operations, echo and ping.
+ </description>
+</pre><p>2. The name of the service class is provided as a parameter.</p>
+<pre>
+<parameter name="serviceClass">userguide.example1.MyService</parameter>
+</pre><p>3. The "operation" XML tag describes the operations that are
+available in this service with respective message receivers.</p>
+<pre>
+ <operation name="echo">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+ <actionMapping>urn:echo</actionMapping>
+ </operation>
+ <operation name="ping">
+ <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
+ <actionMapping>urn:ping</actionMapping>
+ </operation>
+</pre><p>4. Every operation must map to a corresponding MessageReceiver
+class. After a message is processed by the handlers, the Axis2
+engine hands it over to a MessageReceiver.</p>
+<p>5. For the "echo" operation, we have used a
+<strong>RawXMLINOutMessageReceiver</strong> since it is an IN-OUT
+operation. For the IN-ONLY operation "ping", we have used
+<strong>RawXMLINOnlyMessageReceiver</strong> as the message
+receiver.</p>
+<p>6. The actionMapping is required only if you want to enable
+WS-Addressing. This will be used later in this user guide.</p>
+<p>7. You can write a services.xml file to include a group of
+services instead of a single service. This makes the 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 the following
+format.</p>
+<pre>
+<ServiceGroup>
+ <service name="Service1">
+ <!-- details for Service1 -->
+ </service>
+ <service name="Service2">
+ <!-- details for Service2 -->
+ </service>
+ <module ref="ModuleName" />
+ <parameter name="serviceGroupParam1">value 1</parameter>
+</serviceGroup>
+</pre><p>Note : The name of the service is a compulsory attribute.</p>
+<a name="Step3_:Create_the_Web_Service_Archive"></a><h4>Step3: Create the Web Service Archive</h4>
+<p>Apache Axis2 uses the ".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 in the directory structure shown below. Please note that
+the name of the archive file will be the same as that of the
+service only if the services.xml contains only one service
+element.</p>
+<p><img src="images/userguide/ServiceItems.jpg" /></p>
+<p>To create the archive file, you can create a .jar file
+containing all the necessary files and then rename it to a .aar
+file. This archive file can be found in the
+"Axis2_HOME/samples/userguide" directory. This file has to be
+deployed now.</p>
+<a name="Step4_:Deploy_the_Web_Service"></a><h4>Step4: Deploy the Web Service</h4>
+<p>The service can be deployed by dropping the ".aar" file into the
+"services" directory in "/webapps/axis2/WEB-INF" of your servlet
+container. Start the servlet container (if you have not already
+started), click the link "Services" on the <a class="externalLink" href="http://localhost:8080/axis2/">Home Page of Axis2
+Web Application</a> (http://localhost:8080/axis2) and see whether
+MyService is deployed properly. If you can see the following
+output, then you have successfully deployed MyService on Apache
+Axis2. Congratulations !!</p>
+<p><img src="images/userguide/MyServiceDeployed.jpg" /></p>
+<p>Note: Apache Axis2 provides an easy way to deploy Web services
+using the "Upload Service" tool on the Axis2 Web Application's
+Administration module. Please refer to the <a href="webadminguide.html">Web Administration Guide</a>
+for more information.</p>
+</html>
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2008
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>