<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 at 2022-07-14 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20220714" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Axis2 &#x2013; Writing Web Services Using Axis2's Primary APIs</title>
    <link rel="stylesheet" href="../css/apache-maven-fluido-1.6.min.css" />
    <link rel="stylesheet" href="../css/site.css" />
    <link rel="stylesheet" href="../css/print.css" media="print" />
      <script type="text/javascript" src="../js/apache-maven-fluido-1.6.min.js"></script>
<meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" /><meta http-equiv="content-type" content="" />      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="http://www.apache.org/" id="bannerLeft"><img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Axis2"/></a></div>
        <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/axis.jpg" /></a></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2022-07-14<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.8.2<span class="divider">|</span></li>
        <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
      <li class=""><a href="../index.html" title="Axis2/Java">Axis2/Java</a><span class="divider">/</span></li>
    <li class="active ">Writing Web Services Using Axis2's Primary APIs</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">Axis2/Java</li>
    <li><a href="../index.html" title="Home"><span class="none"></span>Home</a>  </li>
    <li><a href="../download.html" title="Downloads"><span class="none"></span>Downloads</a>  </li>
    <li><a href="javascript:void(0)" title="Release Notes"><span class="icon-chevron-down"></span>Release Notes</a>
      <ul class="nav nav-list">
    <li><a href="../release-notes/1.6.1.html" title="1.6.1"><span class="none"></span>1.6.1</a>  </li>
    <li><a href="../release-notes/1.6.2.html" title="1.6.2"><span class="none"></span>1.6.2</a>  </li>
    <li><a href="../release-notes/1.6.3.html" title="1.6.3"><span class="none"></span>1.6.3</a>  </li>
    <li><a href="../release-notes/1.6.4.html" title="1.6.4"><span class="none"></span>1.6.4</a>  </li>
    <li><a href="../release-notes/1.7.0.html" title="1.7.0"><span class="none"></span>1.7.0</a>  </li>
    <li><a href="../release-notes/1.7.1.html" title="1.7.1"><span class="none"></span>1.7.1</a>  </li>
    <li><a href="../release-notes/1.7.2.html" title="1.7.2"><span class="none"></span>1.7.2</a>  </li>
    <li><a href="../release-notes/1.7.3.html" title="1.7.3"><span class="none"></span>1.7.3</a>  </li>
    <li><a href="../release-notes/1.7.4.html" title="1.7.4"><span class="none"></span>1.7.4</a>  </li>
    <li><a href="../release-notes/1.7.5.html" title="1.7.5"><span class="none"></span>1.7.5</a>  </li>
    <li><a href="../release-notes/1.7.6.html" title="1.7.6"><span class="none"></span>1.7.6</a>  </li>
    <li><a href="../release-notes/1.7.7.html" title="1.7.7"><span class="none"></span>1.7.7</a>  </li>
    <li><a href="../release-notes/1.7.8.html" title="1.7.8"><span class="none"></span>1.7.8</a>  </li>
    <li><a href="../release-notes/1.7.9.html" title="1.7.9"><span class="none"></span>1.7.9</a>  </li>
    <li><a href="../release-notes/1.8.0.html" title="1.8.0"><span class="none"></span>1.8.0</a>  </li>
      </ul>
  </li>
    <li><a href="../modules/index.html" title="Modules"><span class="none"></span>Modules</a>  </li>
    <li><a href="../tools/index.html" title="Tools"><span class="none"></span>Tools</a>  </li>
          <li class="nav-header">Documentation</li>
    <li><a href="../docs/toc.html" title="Table of Contents"><span class="none"></span>Table of Contents</a>  </li>
    <li><a href="../docs/installationguide.html" title="Installation Guide"><span class="none"></span>Installation Guide</a>  </li>
    <li><a href="../docs/quickstartguide.html" title="QuickStart Guide"><span class="none"></span>QuickStart Guide</a>  </li>
    <li><a href="../docs/userguide.html" title="User Guide"><span class="none"></span>User Guide</a>  </li>
    <li><a href="../docs/jaxws-guide.html" title="JAXWS Guide"><span class="none"></span>JAXWS Guide</a>  </li>
    <li><a href="../docs/pojoguide.html" title="POJO Guide"><span class="none"></span>POJO Guide</a>  </li>
    <li><a href="../docs/spring.html" title="Spring Guide"><span class="none"></span>Spring Guide</a>  </li>
    <li><a href="../docs/webadminguide.html" title="Web Administrator's Guide"><span class="none"></span>Web Administrator's Guide</a>  </li>
    <li><a href="../docs/migration.html" title="Migration Guide (from Axis1)"><span class="none"></span>Migration Guide (from Axis1)</a>  </li>
          <li class="nav-header">Resources</li>
    <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a>  </li>
    <li><a href="../articles.html" title="Articles"><span class="none"></span>Articles</a>  </li>
    <li><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="Wiki"><span class="none"></span>Wiki</a>  </li>
    <li><a href="../refLib.html" title="Reference Library"><span class="none"></span>Reference Library</a>  </li>
    <li><a href="../apidocs/index.html" title="Online Java Docs"><span class="none"></span>Online Java Docs</a>  </li>
          <li class="nav-header">Get Involved</li>
    <li><a href="../overview.html" title="Overview"><span class="none"></span>Overview</a>  </li>
    <li><a href="../git.html" title="Checkout the Source"><span class="none"></span>Checkout the Source</a>  </li>
    <li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a>  </li>
    <li><a href="../release-process.html" title="Release Process"><span class="none"></span>Release Process</a>  </li>
    <li><a href="../guidelines.html" title="Developer Guidelines"><span class="none"></span>Developer Guidelines</a>  </li>
    <li><a href="../siteHowTo.html" title="Build the Site"><span class="none"></span>Build the Site</a>  </li>
          <li class="nav-header">Project Information</li>
    <li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a>  </li>
    <li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a>  </li>
    <li><a href="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" class="externalLink" title="Source Code"><span class="none"></span>Source Code</a>  </li>
    <li><a href="../thanks.html" title="Acknowledgements"><span class="none"></span>Acknowledgements</a>  </li>
          <li class="nav-header">Apache</li>
    <li><a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License"><span class="none"></span>License</a>  </li>
    <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a>  </li>
    <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a>  </li>
    <li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a>  </li>
  </ul>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
  <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a>
              </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<html xmlns="http://www.w3.org/1999/xhtml">

<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
<b>MessageReceiver</b> 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>

<div>
<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></div>
<a name="How_to_write_the_Web_Service_" id="How_to_write_the_Web_Service_"></a>
<section><section>
<h4><a name="How_to_Write_a_Web_Service.3F"></a>How to Write a Web Service?</h4>
Writing a new Web service with Apache Axis2 involves four steps:

<ol style="list-style-type: decimal">

<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" id="Step1_:Write_the_Implementation_Class"></a>
</section><section>
<h4><a name="Step1:_Write_the_Implementation_Class"></a>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/axiom/userguide/userguide.html">Axiom
User Guide</a>.</i></p>

<div>
<pre>
public class MyService{
    public void ping(OMElement element){
        // Business Logic     
        ......
    }
    public OMElement echo(OMElement element){
     ......
    }
}
</pre></div>
<a name="Step2_:Write_the_services_xml_file" id="Step2_:Write_the_services_xml_file"></a>
</section><section>
<h4><a name="Step2:_Write_the_services.xml_file"></a>Step2: Write the services.xml file</h4>

<p>&quot;services.xml&quot; has the configuration for a Web service. Each Web
service, deployed in Apache Axis2 , must have its configuration in
&quot;services.xml&quot;. The configuration for MyService is as follows:</p>

<div>
<pre>
&lt;service &gt;
    &lt;description&gt;
        This is a sample Web service with two operations, echo and ping.
    &lt;/description&gt;
    &lt;parameter name=&quot;ServiceClass&quot;&gt;userguide.example1.MyService&lt;/parameter&gt;
    &lt;operation name=&quot;echo&quot;&gt;
        &lt;messageReceiver class=&quot;org.apache.axis2.receivers.RawXMLINOutMessageReceiver&quot;/&gt;
        &lt;actionMapping&gt;urn:echo&lt;/actionMapping&gt;
    &lt;/operation&gt;
     &lt;operation name=&quot;ping&quot;&gt;
        &lt;messageReceiver class=&quot;org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver&quot;/&gt;
        &lt;actionMapping&gt;urn:ping&lt;/actionMapping&gt;
    &lt;/operation&gt;
 &lt;/service&gt;
</pre></div>

<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>

<div>
<pre>
&lt;service &gt;
    &lt;description&gt;
        This is a sample Web service with two operations, echo and ping.
    &lt;/description&gt;
</pre></div>

<p>2. The name of the service class is provided as a parameter.</p>

<div>
<pre>
&lt;parameter name=&quot;serviceClass&quot;&gt;userguide.example1.MyService&lt;/parameter&gt;
</pre></div>

<p>3. The &quot;operation&quot; XML tag describes the operations that are
available in this service with respective message receivers.</p>

<div>
<pre>
   &lt;operation name=&quot;echo&quot;&gt;
            &lt;messageReceiver class=&quot;org.apache.axis2.receivers.RawXMLINOutMessageReceiver&quot;/&gt;
            &lt;actionMapping&gt;urn:echo&lt;/actionMapping&gt;
   &lt;/operation&gt;
   &lt;operation name=&quot;ping&quot;&gt;
       &lt;messageReceiver class=&quot;org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver&quot;/&gt;
       &lt;actionMapping&gt;urn:ping&lt;/actionMapping&gt;
   &lt;/operation&gt;
</pre></div>

<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 &quot;echo&quot; operation, we have used a
<b>RawXMLINOutMessageReceiver</b> since it is an IN-OUT
operation. For the IN-ONLY operation &quot;ping&quot;, we have used
<b>RawXMLINOnlyMessageReceiver</b> 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>

<div>
<pre>
&lt;ServiceGroup&gt;
  &lt;service name=&quot;Service1&quot;&gt;
    &lt;!-- details for Service1 --&gt;
  &lt;/service&gt;
  &lt;service name=&quot;Service2&quot;&gt;
    &lt;!-- details for Service2 --&gt;
  &lt;/service&gt;
  &lt;module ref=&quot;ModuleName&quot; /&gt;
  &lt;parameter name=&quot;serviceGroupParam1&quot;&gt;value 1&lt;/parameter&gt;
&lt;/serviceGroup&gt;
</pre></div>

<p>Note : The name of the service is a compulsory attribute.</p>
<a name="Step3_:Create_the_Web_Service_Archive" id="Step3_:Create_the_Web_Service_Archive"></a>
</section><section>
<h4><a name="Step3:_Create_the_Web_Service_Archive"></a>Step3: Create the Web Service Archive</h4>

<p>Apache Axis2 uses the &quot;.aar&quot; (Axis Archive) file as the
deployment package for Web services. Therefore, for MyService we
will use &quot;MyService.aar&quot; with the &quot;services.xml&quot; 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" align="bottom" width="176" height="91" border="0" id="Graphic1" alt="" /></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
&quot;Axis2_HOME/samples/userguide&quot; directory. This file has to be
deployed now.</p>
<a name="Step4_:Deploy_the_Web_Service" id="Step4_:Deploy_the_Web_Service"></a>
</section><section>
<h4><a name="Step4:_Deploy_the_Web_Service"></a>Step4: Deploy the Web Service</h4>

<p>The service can be deployed by dropping the &quot;.aar&quot; file into the
&quot;services&quot; directory in &quot;/webapps/axis2/WEB-INF&quot; of your servlet
container. Start the servlet container (if you have not already
started), click the link &quot;Services&quot; 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 align="center"><img src="images/userguide/MyServiceDeployed.jpg" align="bottom" border="0" id="Graphic2" alt="" /></p>

<p>Note: Apache Axis2 provides an easy way to deploy Web services
using the &quot;Upload Service&quot; 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>
</section></section>
</html>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2022
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>