<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.2 at 2021-08-01 
 | 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="20210801" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Axis2 &#x2013; Apache Axis2 User's Guide- The Samples</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: 2021-08-01<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.8.0<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 ">Apache Axis2 User's Guide- The Samples</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.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="../svn.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 lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<a name="samples" id="samples"></a>

<h1>Apache Axis2 User's Guide - The Samples</h1>

<p>The Apache Axis2 Standard Distribution provides a number of
samples you can use as a guide for implementing specific features
and capabilities. These services are listed in this section.</p>
<section>
<h2><a name="Content"></a>Content</h2>

<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#handlesjson">How Axis2 handles JSON
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">Building
Services</a><br />

<ul>

<li><a href="userguide-buildingservices.html#getcomfortable">Getting
Comfortable with the Available Options</a></li>

<li><a href="userguide-buildingservices.html#createscratch">Creating a service
from scratch</a></li>

<li><a href="userguide-buildingservices.html#deploypojo">Deploying
Plain Old Java Objects</a></li>

<li><a href="userguide-buildingservices.html#deployrun">Deploying
and running an Axis2 service created from WSDL</a></li>
</ul>
</li>

<li><a href="userguide-samples.html"><b>Samples</b></a>

<ul>

<li><a href="userguide-samples.html#clients"><b>Clients</b></a></li>

<li><a href="userguide-samples.html#services"><b>Services</b></a></li>

<li><a href="userguide-samples.html#wsdl"><b>Sample WSDL
files</b></a></li>

<li><a href="userguide-samples.html#json"><b>Sample using Rest with JSON
and Spring Boot with Spring Security</b></a></li>

<li><a href="userguide-samples.html#others"><b>Other
Samples</b></a></li>
</ul>
</li>

<li><a href="userguide-forfurtherstudy.html">For Further
Study</a></li>
</ul>
<a name="clients" id="clients"></a>
<section>
<h2><a name="Clients_.28in_AXIS2_HOME.2Fsamples.2Fuserguide.2Fsrc.2Fclients.29:"></a>Clients (in AXIS2_HOME/samples/userguide/src/clients):</h2>

<p><b>EchoBlockingClient.java</b>: A basic example of the
send/receive MEP.</p>

<p><b>EchoBlockingDualClient.java</b>: Specifies that the
return message should be sent over a different channel than the
request message.</p>

<p><b>EchoBlockingWsaBasedClient.java</b>: Provides an
example of using the capabilities of WS-Addressing action
mapping.</p>

<p><b>EchoNonBlockingClient.java</b>: Demonstrates an
asynchronous request using Callbacks.</p>

<p><b>EchoNonBlockingDualClient.java</b>: Similar to the
above, but uses a separate listener for the response.</p>

<p><b>ClientForWebServiceWithModule.java</b>: Simply
makes a call to a service with engaged modules.</p>

<p><b>ClientSideModuleEngagement.java</b>: Demonstrates
the use of modules on the client side, in addition to the server
side.</p>

<p><b>MailClient.java</b>: Demonstrates the use of the
Robust In-Only MEP.</p>

<p><b>PingClient.java</b>: A simple &quot;fire and forget&quot;
client.</p>

<p><b>RESTClient.java</b>: Demonstrates the ability to
request a REST response rather than a SOAP response. Also
demonstrates setting arbitrary properties on the Options
object.</p>

<p><b>TCPClient.java</b>: Provides an example of using
the TCP transport rather than HTTP.</p>
<a name="services" id="services"></a>
<section>
<h2><a name="Services_.28in_AXIS2_HOME.2Fsamples.2Fuserguide.29:"></a>Services (in AXIS2_HOME/samples/userguide):</h2>

<p><b>groovyService.aar</b>: Demonstrates how to use
Groovy classes in the processing of SOAP messages.</p>

<p><b>MyService.aar</b>: Provides simple &quot;echo&quot; and
&quot;ping&quot; operations.</p>

<p><b>MyServiceWithModule.aar</b>: Same as above, but
demonstrates how to engage a module.</p>

<p><b>WsaMappingService.aar</b>: Demonstrates the mapping
of WS-Addressing actions.</p>
<a name="wsdl" id="wsdl"></a>
<section>
<h2><a name="Sample_WSDL_files_.28in_AXIS2_HOME.2Fsamples.29:"></a>Sample WSDL files (in AXIS2_HOME/samples):</h2>

<p><b>Axis2SampleDocLit.wsdl</b>: Demonstrates the use of
the Document/Literal WSDL pattern, rather than RPC.</p>

<p><b>perf.wsdl</b>: Demonstrates the use of array values
as input values.</p>
<a name="json" id="json"></a>
<section>
<h2><a name="Sample_webapp_that_uses_JSON.2C_Spring_Boot.2C_Spring_Security.2C_and_Moshi"></a>Sample webapp that uses JSON, Spring Boot, Spring Security, and Moshi</h2>

<p>A complete Axis2 webapp via Maven that demonstrates JSON and Moshi securely with 
Spring Boot is located in the <b>&quot;samples/userguide/src/springbootdemo&quot;</b> directory of <a href="../download.cgi">Axis2 standard binary
distribution</a>.</p>
<a name="others" id="others"></a>
<section>
<h2><a name="Other_samples"></a>Other samples</h2>
<section>
<h3><a name="In_AXIS2_HOME.2Fsamples_Directory:"></a>In AXIS2_HOME/samples Directory:</h3>


<p><b>faulthandling</b>: Demonstrates the use of SOAP
faults and their definitions in WSDL enabling exception processing
in the client.</p>


<p><b>googleSpellcheck</b>: Demonstrates both synchronous
and non-synchronous use of the Google Web Service in a GUI.</p>

<p><b>mtom</b>: Demonstrates the use of MTOM and SOAP
with Attachments to send binary files to a service.</p>

<p><b>saopwithattachments</b>: Demonstrates the
capabilities and power of SOAP with Attachment support and the
Attachment API of Axis2.</p>

<p><b>pojo</b>: Example of a POJO (Plain Old Java Object)
Web service. It shows how to expose the methods of a Java class as
a Web service using Apache Aixs2.</p>

<p><b>servicelifecycle</b>: Demonstrates the usage of a
service life cycle and a bit of session management. The main idea
is to show where and how to use the service life cycle interface
and session related methods.</p>


<p><b>databinding</b>: Demonstrates how to use WSDL2Java
generated code with Castor.</p>

<p><b>version</b>: A very simple service that simply
outputs the Apache Axis2 version.</p>

<p><b>yahoorestearch</b>: A complete example of the use
of a REST service rather than a SOAP service.</p>
</section><section>
<h3><a name="External:"></a>External:</h3>

<p><b>FlickrClient</b> : Demonstrates code generation
capabilities for WSDL 2.0. The FlickrService.wsdl describes
services offered by flickr in terms of WSDL 2.0. It also
demonstrates how a restful service can be described using the
HTTPBinding of wsdl 2.0.</p>

<p>Extract the <a class="externalLink" href="http://dist.wso2.org/products/wsas/java/nightly-build/">WSO2 WSAS
for Java nightly build distribution</a> and you will find the
sample at WSAS_HOME/samples/FlickrClient or checkout sample from
SVN:
http://wso2.org/repos/wso2/trunk/wsas/java/modules/samples/FlickrClient</p>

<p><b>See Next Section</b> - <a href="userguide-forfurtherstudy.html">For Further Study</a></p>
</section>
</html>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2021
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>