You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2007/02/27 09:50:10 UTC

svn commit: r512180 - in /webservices/axis2/trunk/java/xdocs/1_1: quickstartguide.html rest-ws.html soapmonitor-module.html

Author: chatra
Date: Tue Feb 27 00:50:09 2007
New Revision: 512180

URL: http://svn.apache.org/viewvc?view=rev&rev=512180
Log:
reviewed and committing patch in JIRA AXIS2-2262

Modified:
    webservices/axis2/trunk/java/xdocs/1_1/quickstartguide.html
    webservices/axis2/trunk/java/xdocs/1_1/rest-ws.html
    webservices/axis2/trunk/java/xdocs/1_1/soapmonitor-module.html

Modified: webservices/axis2/trunk/java/xdocs/1_1/quickstartguide.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/quickstartguide.html?view=diff&rev=512180&r1=512179&r2=512180
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/quickstartguide.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/quickstartguide.html Tue Feb 27 00:50:09 2007
@@ -1,47 +1,66 @@
-<?xml version="1.0" encoding="utf-8"?>
-<html lang="en">
+<?xml version="1.0" encoding="UTF-8"?>
+<html xml:lang="en" lang="en">
 <head>
-  <meta http-equiv="content-type" content=""></meta>
+  <meta http-equiv="content-type"
+  content="application/xhtml+xml; charset=UTF-8" />
   <title>Axis2 Quick Start Guide</title>
-  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
+  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
 </head>
 
-<body lang="en">
+<body xml:lang="en" lang="en">
 <h1>Axis2 Quick Start Guide</h1>
 
-<p>The purpose of this guide is to get you started creating services and clients using Axis2 as quickly as possible.  We'll take a simple StockQuote Service and show you some of the different ways in which you can create and deploy it, as well as taking a quick look at one or two utilities that come with Axis2.  We'll then look at creating clients to access those services.</p>
+<p>The purpose of this guide is to get you started on creating services and
+clients using Axis2 as quickly as possible. We'll take a simple StockQuote
+Service and show you some of the different ways in which you can create and
+deploy it, as well as take a quick look at one or two utilities that come
+with Axis2. We'll then look at creating clients to access those services.</p>
 
 <h2>Content</h2>
 <ul>
   <li><a href="#introduction">Introduction</a></li>
   <li><a href="#ready">Getting Ready</a></li>
   <li><a href="#services">Axis2 services</a></li>
-  <li><a href="#create">Creating services</a></li>
+  <li><a href="#create">Creating services</a>
     <ul>
       <li><a href="#deploy">Deploying POJOs</a></li>
       <li><a href="#axiom">Building the service using AXIOM</a></li>
       <li><a href="#adb">Generating the service using ADB</a></li>
       <li><a href="#xmlbeans">Generating the service using XMLBeans</a></li>
       <li><a href="#jibx">Generating the service using JiBX</a></li>
-     </ul>
-  <li><a href="#clients">Generating Clients</a></li>
-  <ul>
-    <li><a href="#clientaxiom">Creating a client with AXIOM</a></li>
-    <li><a href="#clientadb">Generating a client using ADB</a></li>
-    <li><a href="#clientxmlbeans">Generating a client using XML Beans</a></li>
-    <li><a href="#clientjibx">Generating a client using JiBX</a></li>
-  </ul>
+    </ul>
+  </li>
+  <li><a href="#clients">Generating Clients</a>
+    <ul>
+      <li><a href="#clientaxiom">Creating a client using AXIOM</a></li>
+      <li><a href="#clientadb">Generating a client using ADB</a></li>
+      <li><a href="#clientxmlbeans">Generating a client using XML
+      Beans</a></li>
+      <li><a href="#clientjibx">Generating a client using JiBX</a></li>
+    </ul>
+  </li>
   <li><a href="#summary">Summary</a></li>
   <li><a href="#furtherstudy">For Further Study</a></li>
 </ul>
 
 <h3>A Quick Setup Note:</h3>
 
-<p>The code for the document can be found in the extracted <a href="../download/1_1/download.html#std-bin">Standard Binary Distribution</a>, more specifically at Axis2_HOME/samples/ inside the directories- quickstart, quickstartadb, quickstartaxiom, quickstartjibx and quickstartxmlbeans, and it might help to go grab it now to help you as you follow along.  It includes an Ant buildfiles (build.xml) that we'll reference throughout the examples to make compilation easier.</p>
-
-<a name="introduction"></a><h2>Introduction</h2>
-
-<p>Let's start with the service itself.  We'll make it simple so you can see what is going on when we build and deploy services. A StockQuoteService example seems to be mandatory in instances like this one, so let's use the following (see Code Listing 1).</p>
+<p>The code for the document can be found in the extracted <a
+href="../download/1_1/download.html#std-bin">Standard Binary
+Distribution</a>, more specifically at Axis2_HOME/samples/ inside the
+directories- quickstart, quickstartadb, quickstartaxiom, quickstartjibx and
+quickstartxmlbeans. (Consider getting it now as it will help you to follow
+along.) It includes Ant buildfiles (build.xml) that we'll refer to throughout
+the examples to make compilation easier.</p>
+<a name="introduction"></a>
+
+<h2>Introduction</h2>
+
+<p>Let's start with the service itself. We'll make it simple so you can see
+what is going on when we build and deploy the services. A StockQuoteService
+example seems to be mandatory in instances like this one, so let's use the
+following (see Code Listing 1).</p>
 
 <p><b>Code Listing 1: The StockQuoteService class</b></p>
 <pre>package samples.quickstart.service.pojo;
@@ -62,45 +81,58 @@
     public void update(String symbol, double price) {
         map.put(symbol, new Double(price));
     }
-}
-</pre>
-
-<p>It will be a simple service with two possible calls. One of which is an in/out message, and the other is an in-only service. Ultimately, we'll package the service and deploy it in four different ways.</p>
+}</pre>
 
-<p>First, let's look at how this simple Java class corresponds to a service.</p>
+<p>It will be a simple service with two possible calls. One of which is an
+in/out message, and the other is an in-only service. Ultimately, we'll
+package the service and deploy it in four different ways.</p>
 
+<p>First, let's look at how this simple Java class corresponds to a
+service.</p>
+<a name="ready"></a>
 
-<a name="ready"></a><h2>Getting Ready</h2>
-
-<p>Before we build anything using Axis2, we're going to need to take care of a little housekeeping. First off, you'll need to ready your environment for working with Axis2. Fortunately, it involves just a few simple steps:</p>
+<h2>Getting Ready</h2>
 
+<p>Before we build anything using Axis2, we have to take care of a little
+housekeeping. First off, you'll need to get your environment ready for
+working with Axis2. Fortunately, it involves just a few simple steps:</p>
 <ol>
-<li>Download and install Java. (Minimum version is JDK1.4)</li>
-<li>Download Axis2 and extract it to a target directory.</li>
-<li>Copy the axis2.war file to the webapps directory of your servlet engine.</li>
-<li>Set the AXIS2_HOME environment variable to point to the target directory in step. Note that all of the scripts and build files Axis2 generates depend on this value, so don't skip this step!</li>
+  <li>Download and install Java. (Minimum version is JDK1.4)</li>
+  <li>Download Axis2 and extract it to a target directory.</li>
+  <li>Copy the axis2.war file to the webapps directory of your servlet
+  engine.</li>
+  <li>Set the AXIS2_HOME environment variable to point to the target
+    directory in step. Note that all of the scripts and build files Axis2
+    generates depend on this value, so don't skip this step!</li>
 </ol>
 
-<p>In most cases, we're also going to need a WSDL file for our service.  Axis2's Java2WSDL can be used to bootstrap a WSDL.  To generate a WSDL file from a Java class, perform the following steps:</p>
-
+<p>In most cases, we're also going to need a WSDL file for our service.
+Axis2's Java2WSDL can be used to bootstrap a WSDL. To generate a WSDL file
+from a Java class, perform the following steps:</p>
 <ol>
-<li>Create and compile the Java class.</li>
-<li>Generate the WSDL using the command:</li>
-<pre>
-%AXIS2_HOME%/bin/java2wsdl -cp . -cn samples.quickstart.service.pojo.StockQuoteService -of StockQuoteService.wsdl
-</pre>
+  <li>Create and compile the Java class.</li>
+  <li>Generate the WSDL using the command:</li>
+  <pre>%AXIS2_HOME%/bin/java2wsdl -cp . -cn samples.quickstart.service.pojo.StockQuoteService -of StockQuoteService.wsdl</pre>
 </ol>
 
-<p>Once you've generated the WSDL file, you can make any changes you need.  For example, you might add custom faults or change the name of generated elements.  For example, this StockQuoteService.wsdl is in %AXIS2_HOME%/samples/quickstartadb/resources/META-INF folder, which we'll be using for the rest of this guide, replaces the generic parameters created by the generation process.</p>
+<p>Once you've generated the WSDL file, you can make the changes you need.
+For example, you might add custom faults or change the name of the generated
+elements. For example, this StockQuoteService.wsdl is in
+%AXIS2_HOME%/samples/quickstartadb/resources/META-INF folder, which we'll be
+using throughout the rest of this guide, replaces the generic parameters
+created by the generation process.</p>
+<a name="services"></a>
+
+<h2>Axis2 Services</h2>
 
-<a name="services"></a><h2>Axis2 Services</h2>
+<p>Before we build anything, it's helpful to understand what the finished
+product looks like.</p>
 
-<p>Before we build anything, it's helpful to understand what the finished product looks like.</p>
-<p>The server side of Axis2 can be deployed on any Servlet engine, and has the following structure, shown in Code Listing 2.</p>
+<p>The server side of Axis2 can be deployed on any Servlet engine, and has
+the following structure. Shown in Code Listing 2.</p>
 
 <p><b>Code Listing 2: The Directory Structure of axis2.war</b></p>
-<pre>
-axis2-web 
+<pre>axis2-web 
 META-INF
 WEB-INF
     classes 
@@ -120,31 +152,40 @@
         aservice.aar
         ...
         version.aar
-    web.xml
-</pre>
+    web.xml</pre>
 
-<p>Starting at the top, axis2-web is a collection of JSPs that make up the Axis2 administration application, through which you can perform any needed actions such as adding services and engaging and dis-engaging modules. The WEB-INF directory contains the actual java classes and other support files to run any services deployed to the services directory.</p>
-
-<p>The main file in all this is axis2.xml, which controls how the application deals with received messages, determining whether Axis2 needs to apply any of the modules defined in the modules directory.</p>
-
-<p>Services can be deployed as *.aar files, as you can see here, but their contents must be arranged in a specific way.  For example, the structure of this service will be as follows:</p>
-
-<a name="aarstructure"></a><pre>
-- StockQuoteService
+<p>Starting at the top, axis2-web is a collection of JSPs that make up the
+Axis2 administration application, through which you can perform any action
+such as adding services and engaging and dis-engaging modules. The WEB-INF
+directory contains the actual java classes and other support files to run any
+services deployed to the services directory.</p>
+
+<p>The main file in all this is axis2.xml, which controls how the application
+deals with the received messages, determining whether Axis2 needs to apply
+any of the modules defined in the modules directory.</p>
+
+<p>Services can be deployed as *.aar files, as you can see here, but their
+contents must be arranged in a specific way. For example, the structure of
+this service will be as follows:</p>
+<a name="aarstructure"></a>
+<pre>- StockQuoteService
    - META-INF
      - services.xml
    - samples
      - quickstart
        - service
          - pojo
-           - StockQuoteService.class
-</pre>
+           - StockQuoteService.class</pre>
 
-<p>This is not too complicated.  The name of the service is StockQuoteService which is specified in the services.xml, and places any Java classes in their proper place based on the package name. The META-INF directory contains additional information about the services that Axis2 needs to execute it properly. The services.xml file defines the service itself and links the Java class to it (See Code Listing 3).</p>
+<p>This is not that complicated. The name of the service is
+StockQuoteService, which is specified in the services.xml, and it places any
+Java classes in their proper place based on the package name. The META-INF
+directory contains additional information about the services that Axis2 needs
+to execute it properly. The services.xml file defines the service itself and
+links the Java class to it (See Code Listing 3).</p>
 
 <p><b>Code Listing 3: The Service Definition File</b></p>
-<pre>
-&lt;service name="StockQuoteService" scope="application"&gt;
+<pre>&lt;service name="StockQuoteService" scope="application"&gt;
     &lt;description&gt;
         Stock Quote Sample Service
     &lt;/description&gt;
@@ -159,32 +200,49 @@
     &lt;parameter name="ServiceClass"&gt;
         samples.quickstart.service.pojo.StockQuoteService
     &lt;/parameter&gt;
-&lt;/service&gt;
-</pre>
-
-<p>Here you see the service itself defined, along with the relevant messageReceiver types for different message exchange patterns.</p>
-
-<p>The META-INF directory is also the location for any custom WSDL files you intend to include for this application.</p>
+&lt;/service&gt;</pre>
 
-<p>You can deploy a service by simply taking this hierarchy of files and copying it to the webapps directory of your servlet engine.  This is known as the "exploded" format, but you can also compress your documents into an *.aar file, similar to a *.jar file, and place the *.aar file directly in the servlet engine's webapps directory.</p>
+<p>Here the service is defined, along with the relevant messageReceiver types
+for the different message exchange patterns.</p>
 
-<p>Now that you understand what we're trying to accomplish, we're almost ready to start building.</p>
+<p>The META-INF directory is also the location for any custom WSDL files you
+intend to include for this application.</p>
 
-<p>First, <a href="../download/1_1/download.html#std-bin">download</a> and unzip the appropriate version of Axis2 Standard Binary Distribution.  Make sure that you set the value of the AXIS2_HOME variable to match the location into which you extracted the contents of this release.</p>
+<p>You can deploy a service by simply taking this hierarchy of files and
+copying it to the webapps directory of your servlet engine. This is known as
+the "exploded" format. You can also compress your documents into an *.aar
+file, similar to a *.jar file, and place the *.aar file directly in the
+servlet engine's webapps directory.</p>
+
+<p>Now that you understand what we're trying to accomplish, we're almost
+ready to start building.</p>
+
+<p>First, <a href="../download/1_1/download.html#std-bin">download</a> and
+unzip the appropriate version of Axis2 Standard Binary Distribution. Make
+sure that you set the value of the AXIS2_HOME variable to match the location
+into which you extracted the contents of this release.</p>
 
 <p>Let's look at some different ways to create clients and services.</p>
+<a name="create"></a>
 
-<a name="create"></a><h2>Creating Services</h2>
-
-<p>In this section, we'll look at five ways to create a service based on the StockQuoteService class:  deploying Plain Old Java Objects (POJO), building the service using AXIOM's OMElement, generating the service using Axis2 Databinding Framework (ADB), generating the service using XMLBeans, and generating the service using JiBX.</p>
-
-<a name="deploy"></a><h3>Deploying POJOs</h3>
+<h2>Creating Services</h2>
 
-<p>To deploy the service using POJOs (Plain Old Java Objects), execute the following steps.</p>
-
-<p>Note the directory structure contained at &lt;AXIS2_HOME>/samples/quickstart (the services.xml file is from the first section of this guide):</p>
-<pre>
-- quickstart
+<p>In this section, we'll look at five ways to create a service based on the
+StockQuoteService class: deploying Plain Old Java Objects (POJO), building
+the service using AXIOM's OMElement, generating the service using Axis2
+Databinding Framework (ADB), generating the service using XMLBeans, and
+generating the service using JiBX.</p>
+<a name="deploy"></a>
+
+<h3>Deploying POJOs</h3>
+
+<p>To deploy the service using POJOs (Plain Old Java Objects), execute the
+following steps.</p>
+
+<p>Note the directory structure contained at
+&lt;AXIS2_HOME&gt;/samples/quickstart (the services.xml file is from the
+first section of this guide):</p>
+<pre>- quickstart
    - README.txt
    - build.xml
    - resources
@@ -195,62 +253,59 @@
        - quickstart
          - service
            - pojo
-             - StockQuoteService.java
-</pre>
-
-<p>Note that you can generate a WSDL from the quickstart directory by typing: <pre>ant generate.wsdl</pre> However, creating StockQuoteService.wsdl is optional.  It can be the version generated directly from the Java class, or a customized version of that file, and that services.xml is the same file referenced earlier in this document.</p>
+             - StockQuoteService.java</pre>
 
-<p>Now build the project by typing ant generate.service in the quickstart directory, which creates the following directory structure:</p>
-<pre>
-- quickstart/build/classes
+<p>Note that you can generate a WSDL from the quickstart directory by typing: <pre>ant generate.wsdl</pre>
+However, creating StockQuoteService.wsdl is optional. It can be the version
+generated directly from the Java class, or a customized version of that file,
+and that services.xml is the same file referenced earlier in this
+document.</p>
+
+<p>Now build the project by typing ant generate.service in the quickstart
+directory, which creates the following directory structure:</p>
+<pre>- quickstart/build/classes
    - META-INF
      - services.xml
    - samples
      - quickstart
        - service
          - pojo
-           - StockQuoteService.class
-</pre>
+           - StockQuoteService.class</pre>
 
-<p>If you want to deploy the service in exploded directory format, rename the classes directory to StockQuoteService, and copy it to the webapps/axis2/WEB-INF/services directory in your servlet engine. Otherwise, copy the build/StockQuoteService.aar file to the webapps/axis2/WEB-INF/services directory in your servlet engine. Then check to make sure that the service has been properly deployed by viewing the list of services at:</p>
-<pre>
-http://localhost:8080/axis2/services/listServices
-</pre>
+<p>If you want to deploy the service in an exploded directory format, rename
+the classes directory to StockQuoteService, and copy it to the
+webapps/axis2/WEB-INF/services directory in your servlet engine. Otherwise,
+copy the build/StockQuoteService.aar file to the
+webapps/axis2/WEB-INF/services directory in your servlet engine. Then check
+to make sure that the service has been properly deployed by viewing the list
+of services at:</p>
+<pre>http://localhost:8080/axis2/services/listServices</pre>
 
 <p>You can also checkout the WSDL at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?wsdl
-</pre>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?wsdl</pre>
 
 <p>And the schema at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?xsd
-</pre>
-
-<p>Once those url's are working, let's quickly test the service. Try pointing your browser to the following URL:</p>
-<pre>
-http://localhost:8080/axis2/rest/StockQuoteService/getPrice?symbol=IBM
-</pre>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?xsd</pre>
 
-<p>You will get the following response:</p>
-<pre>
-&lt;ns:getPriceResponse xmlns:ns="http://pojo.service.quickstart.samples/xsd"&gt;&lt;ns:return>42&lt;/ns:return&gt;&lt;/ns:getPriceResponse&gt;
-</pre>
+<p>Once the URLs are working, quickly test the service. Try pointing your
+browser to the following URL:</p>
+<pre>http://localhost:8080/axis2/rest/StockQuoteService/getPrice?symbol=IBM</pre>
 
-<p>If you invoke the update method like so:</p>
-<pre>
-http://localhost:8080/axis2/rest/StockQuoteService/update?symbol=IBM&amp;price=100
-</pre>
+<p>You will get the following response:</p>
+<pre>&lt;ns:getPriceResponse xmlns:ns="http://pojo.service.quickstart.samples/xsd"&gt;&lt;ns:return&gt;42&lt;/ns:return&gt;&lt;/ns:getPriceResponse&gt;</pre>
 
-and then execute the first getPrice url. You can see that the price got updated.
+<p>If you invoke the update method as,</p>
+<pre>http://localhost:8080/axis2/rest/StockQuoteService/update?symbol=IBM&amp;price=100</pre>
+and then execute the first getPrice URL, you will see that the price has got
+updated. <a name="axiom"></a>
 
-<a name="axiom"></a><h3>Building the Service using AXIOM</h3>
+<h3>Building the Service using AXIOM</h3>
 
-<p>To build a service "from scratch" using AXIOM, execute the following steps.</p>
+<p>To build a service "from scratch" using AXIOM, execute the following
+steps.</p>
 
 <p>Note the directory structure contained at /samples/quickstartaxiom:</p>
-<pre>
-- quickstartaxiom
+<pre>- quickstartaxiom
    - README.txt
    - build.xml
    - resources
@@ -264,10 +319,12 @@
            - axiom
              - StockQuoteService.java
          - clients
-           - AXIOMClient.java
-</pre>
+           - AXIOMClient.java</pre>
+
+<p>Since AXIOM is a little different, you're going to need a different
+services.xml file from the one used for POJO. Define it, as shown in Code
+Listing 4.</p>
 
-<p>Since AXIOM is a little different, you're going to need a different services.xml file from the one used for POJO. Define it, as shown in Code Listing 4.</p>
 <p><b>Code Listing 4: The Service Definition File.</b></p>
 <pre>&lt;service name="StockQuoteService" scope="application"&gt;
     &lt;description&gt;
@@ -282,9 +339,12 @@
     &lt;parameter name="ServiceClass"&gt;samples.quickstart.service.axiom.StockQuoteService&lt;/parameter&gt;
 &lt;/service&gt;</pre>
 
-<p>Note how it's mostly the same, except that the operations are explicitly defined in the service.xml file, and the MessageReceivers are now RawXML.</p>
+<p>Note that it's almost the same, except that the operations are explicitly
+defined in the service.xml file, and the MessageReceivers are now RawXML.</p>
 
-<p>Now, the above referenced StockQuoteService.java class, a plain Java class that uses classes from the Axis2 libraries, is defined as shown in Code Listing 5.</p>
+<p>Now, the above referenced StockQuoteService.java class, a plain Java class
+that uses classes from the Axis2 libraries, is defined as shown in Code
+Listing 5.</p>
 
 <p><b>Code Listing 5: The StockQuoteService Class using AXIOM</b></p>
 <pre>package samples.quickstart.service.axiom;
@@ -333,42 +393,61 @@
 
         map.put(symbol, new Double(price));
     }
-}
-</pre>
+}</pre>
 
-<p>Axis2 uses AXIOM, or the AXIs Object Model, a <a href="http://www.w3.org/DOM/">DOM</a> (Document Object Model)-like structure that is based on the StAX API (Streaming API for XML).  Methods that act as services must take as their argument an OMElement, which represents an XML element that happens, in this case, to be the payload of the incoming SOAP message.  Here, 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 "in only" service, these methods must return an OMElement, because that becomes the payload of the return SOAP message.</p>
+<p>Axis2 uses AXIOM, or the AXIs Object Model, a <a
+href="http://www.w3.org/DOM/">DOM</a> (Document Object Model)-like structure
+that is based on the StAX API (Streaming API for XML). Methods that act as
+services must take as their argument an OMElement, which represents an XML
+element that happens, in this case, to be the payload of the incoming SOAP
+message. Here, 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 "in only" service, these methods must return an
+OMElement, because that becomes the payload of the return SOAP message.</p>
+
+<p>Now build the project by typing ant generate.service in the
+Axis2_HOME/samples/quickstartaxiom directory.</p>
+
+<p>Place the StockQuoteService.aar file in the webapps/axis2/WEB-INF/services
+directory of the servlet engine, and check to make sure that the service has
+been properly deployed by viewing the list of services at,</p>
+<pre>http://localhost:8080/axis2/services/listServices</pre>
+
+<p>You can also check the custom WSDL at,</p>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?wsdl</pre>
+
+<p>and the schema at,</p>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?xsd</pre>
+<a name="adb"></a>
 
-<p>Now build the project by typing ant generate.service in the Axis2_HOME/samples/quickstartaxiom directory.</p>
-
-<p>Place the StockQuoteService.aar file in the webapps/axis2/WEB-INF/services directory of the servlet engine, and check to make sure that the service has been properly deployed by viewing the list of services at:</p>
-<pre>
-http://localhost:8080/axis2/services/listServices
-</pre>
-
-<p>You can also check the custom WSDL at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?wsdl
-</pre>
-
-<p>And the schema at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?xsd
-</pre>
+<h3>Generating the Service using ADB</h3>
 
-<a name="adb"></a><h3>Generating the Service using ADB</h3>
+<p>To generate and deploy the service using the Axis2 Databinding Framework
+(ADB), execute the following steps.</p>
 
-<p>To generate and deploy the service using the Axis2 Databinding Framework (ADB) execute the following steps.</p>
-
-<p>Generate the skeleton using the WSDL2Java utility by typing the following in the Axis2_HOME/samples/quickstartadb directory:</p>
+<p>Generate the skeleton using the WSDL2Java utility by typing the following
+in the Axis2_HOME/samples/quickstartadb directory:</p>
 <pre>%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.adb -d adb -s -ss -sd -ssi -o build/service</pre>
 
-<p>Or by simply typing ant generate.service in the Axis2_HOME/samples/quickstartadb directory.</p>
-
-<p>The option -d adb specifies Axis Data Binding (ADB). The -s switch specifies synchronous or blocking calls only. The -ss switch creates the server side code (skeleton and related files). The -sd switch creates a service descriptor (services.xml file).  The -ssi switch creates an interface for the service skeleton. The service files should now be located at build/service.</p>
+<p>Else, simply type ant generate.service in the
+Axis2_HOME/samples/quickstartadb directory.</p>
 
-<p>If you generated the code by using WSDL2Java directly, you next need to modify the generated skeleton to implement the service (if you used "ant generate.service", a completed skeleton will be copied over the generated one automatically).</p> 
+<p>The option -d adb specifies Axis Data Binding (ADB). The -s switch
+specifies synchronous or blocking calls only. The -ss switch creates the
+server side code (skeleton and related files). The -sd switch creates a
+service descriptor (services.xml file). The -ssi switch creates an interface
+for the service skeleton. The service files should now be located at
+build/service.</p>
+
+<p>If you generated the code by using WSDL2Java directly, next you have to
+modify the generated skeleton to implement the service (if you used "ant
+generate.service", a completed skeleton will be copied over the generated one
+automatically).</p>
 
-<p>Open the build/service/src/samples/quickstart/adb/service/StockQuoteServiceSkeleton.java file and modify it to add the functionality of your service to the generated methods, shown in Code Listing 6.</p>
+<p>Open the
+build/service/src/samples/quickstart/adb/service/StockQuoteServiceSkeleton.java
+file and modify it to add the functionality of your service to the generated
+methods; shown in Code Listing 6.</p>
 
 <p><b>Code Listing 6: Defining the Service Skeleton File</b></p>
 <pre>package samples.quickstart.service.adb;
@@ -400,49 +479,59 @@
         res.set_return(ret);
         return res;
     }
-}
-</pre>
+}</pre>
 
-<p>Now you can build the project by typing the following command in the build/service directory:</p>
-<pre>
-ant jar.server
-</pre>
-
-<p>If all goes well, you should see the BUILD SUCCESSFUL message in your window, and the StockQuoteService.aar file in the build/service/build/lib directory.  Copy this file to the webapps/axis2/WEB-INF/services directory of the servlet engine.</p>
-
-<p>You can check to make sure that the service has been properly deployed by viewing the list of services at:</p>
-<pre>
-http://localhost:8080/axis2/services/listServices
-</pre>
-
-<p>You can also check the custom WSDL at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?wsdl
-</pre>
+<p>Now you can build the project by typing the following command in the
+build/service directory:</p>
+<pre>ant jar.server</pre>
 
-<p>And the schema at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?xsd
-</pre>
+<p>If all goes well, you should see the BUILD SUCCESSFUL message in your
+window, and the StockQuoteService.aar file in the build/service/build/lib
+directory. Copy this file to the webapps/axis2/WEB-INF/services directory of
+the servlet engine.</p>
 
-<a name="xmlbeans"></a><h3>Generating the Service using XMLBeans</h3>
+<p>You can check to make sure that the service has been properly deployed by
+viewing the list of services at,</p>
+<pre>http://localhost:8080/axis2/services/listServices</pre>
 
-<p>To generate a service using XMLBeans, execute the following steps.</p>
+<p>You can also check the custom WSDL at,</p>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?wsdl</pre>
 
-<p>Generate the skeleton using the WSDL2Java utility by typing, in the Axis2_HOME/samples/quickstartxmlbeans directory:</p>
-<pre>
-%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.xmlbeans -d xmlbeans -s -ss -sd -ssi -o build/service</pre>
+<p>and the schema at,</p>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?xsd</pre>
+<a name="xmlbeans"></a>
 
-<p>Or by simply typing ant generate.service in the Axis2_HOME/samples/quickstartxmlbeans directory.</p>
+<h3>Generating the Service using XMLBeans</h3>
 
-<p>The option -d xmlbeans specifies XML Beans data binding. The -s switch specifies synchronous or blocking calls only. The -ss switch creates the server side code (skeleton and related files). The -sd switch creates a service descriptor (services.xml file).  The -ssi switch creates an interface for the service skeleton. The service files should now be located at build/service.</p>
+<p>To generate a service using XMLBeans, execute the following steps.</p>
 
-<p>If you generated the code by using WSDL2Java directly, you next need to modify the generated skeleton to implement the service (if you used "ant generate.service", a completed skeleton will be copied over the generated one automatically).</p> 
+<p>Generate the skeleton using the WSDL2Java utility by typing the following
+in the Axis2_HOME/samples/quickstartxmlbeans directory.</p>
+<pre>%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.xmlbeans -d xmlbeans -s -ss -sd -ssi -o build/service</pre>
+
+<p>Else simply type ant generate.service in the
+Axis2_HOME/samples/quickstartxmlbeans directory.</p>
+
+<p>The option -d xmlbeans specifies XML Beans data binding. The -s switch
+specifies synchronous or blocking calls only. The -ss switch creates the
+server side code (skeleton and related files). The -sd switch creates a
+service descriptor (services.xml file). The -ssi switch creates an interface
+for the service skeleton. The service files should now be located at
+build/service.</p>
+
+<p>If you generated the code by using WSDL2Java directly, next you have to
+modify the generated skeleton to implement the service (if you used "ant
+generate.service", a completed skeleton will be copied over the generated one
+automatically).</p>
 
-<p>Next open the build/service/src/samples/quickstart/service/xmlbeans/StockQuoteServiceSkeleton.java file and modify it to add the functionality of your service to the generated methods (see Code Listing 7).</p>
+<p>Next open the
+build/service/src/samples/quickstart/service/xmlbeans/StockQuoteServiceSkeleton.java
+file and modify it to add the functionality of your service to the generated
+methods (see Code Listing 7).</p>
 
 <p><b>Code Listing 7: Defining the Service Skeleton</b></p>
-<pre>package samples.quickstart.service.xmlbeans;
+
+<p><pre>package samples.quickstart.service.xmlbeans;
 
 import samples.quickstart.service.xmlbeans.xsd.GetPriceDocument;
 import samples.quickstart.service.xmlbeans.xsd.GetPriceResponseDocument;
@@ -456,12 +545,10 @@
 
     static{ map = new HashMap(); }
 
-    public void update(UpdateDocument param0) {<b>
-        map.put(param0.getUpdate().getSymbol(), new Double(param0.getUpdate().getPrice()));</b>
+    public void update(UpdateDocument param0) {<b>        map.put(param0.getUpdate().getSymbol(), new Double(param0.getUpdate().getPrice()));</b>
     }
 
-    public GetPriceResponseDocument getPrice(GetPriceDocument param1) {<b>
-        Double price = (Double) map.get(param1.getGetPrice().getSymbol());
+    public GetPriceResponseDocument getPrice(GetPriceDocument param1) {<b>        Double price = (Double) map.get(param1.getGetPrice().getSymbol());
         double ret = 42;
         if(price != null){
             ret = price.doubleValue();
@@ -474,52 +561,56 @@
         res.setReturn(ret);
         return resDoc;</b>
     }
-}
-</pre>
+}</pre>
+</p>
 
-<p>Build the project by typing the following command in the build/service directory, which contains the build.xml file:</p>
-<pre>
-ant jar.server
-</pre>
-
-<p>If all goes well, you should see the BUILD SUCCESSFUL message in your window, and the StockQuoteService.aar file in the newly created build/service/build/lib directory. Copy this file to the webapps/axis2/WEB-INF/services directory of the servlet engine.</p>
-
-<p>You can check to make sure that the service has been properly deployed by viewing the list of services at:</p>
-<pre>
-http://localhost:8080/axis2/services/listServices
-</pre>
-
-<p>You can also check the custom WSDL at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?wsdl
-</pre>
+<p>Build the project by typing the following command in the build/service
+directory, which contains the build.xml file:</p>
+<pre>ant jar.server</pre>
 
-<p>And the schema at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?xsd
-</pre>
+<p>If all goes well, you should see the BUILD SUCCESSFUL message in your
+window, and the StockQuoteService.aar file in the newly created
+build/service/build/lib directory. Copy this file to the
+webapps/axis2/WEB-INF/services directory of the servlet engine.</p>
+
+<p>You can check to make sure that the service has been properly deployed by
+viewing the list of services at,</p>
+<pre>http://localhost:8080/axis2/services/listServices</pre>
 
-<a name="jibx"></a><h3>Generating the Service using JiBX</h3>
+<p>You can also check the custom WSDL at,</p>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?wsdl</pre>
 
-<p>To generate and deploy the service using <a href="http://www.jibx.org">JiBX data binding</a>, execute the following steps.</p>
+<p>and the schema at,</p>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?xsd</pre>
+<a name="jibx"></a>
 
-<p>Generate the skeleton using the WSDL2Java utility by typing the following at a console in the Axis2_HOME/samples/quickstartjibx directory:</p>
+<h3>Generating the Service using JiBX</h3>
+
+<p>To generate and deploy the service using <a
+href="http://www.jibx.org">JiBX data binding</a>, execute the following
+steps.</p>
+
+<p>Generate the skeleton using the WSDL2Java utility by typing the following
+at a console in the Axis2_HOME/samples/quickstartjibx directory:</p>
 <pre>%AXIS2_HOME%/bin/wsdl2java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.jibx -d jibx -s -ss -sd -ssi -uw -o build/service</pre>
 
-<p>Or by simply typing "ant generate.service" in the Axis2_HOME/samples/quickstartjibx directory.</p>
+<p>Else, simply type "ant generate.service" in the
+Axis2_HOME/samples/quickstartjibx directory.</p>
 
 <p>The option -d jibx specifies JiBX data binding. The -s switch specifies
-synchronous or blocking calls only. The -ss switch creates the server side code
-(skeleton and related files). The -sd switch creates a service descriptor
-(services.xml file).  The -ssi switch creates an interface for the service
-skeleton. The -uw switch unwraps the parameters passed to and from service
-operations, in order to create a more natural programming interface.</p>
+synchronous or blocking calls only. The -ss switch creates the server side
+code (skeleton and related files). The -sd switch creates a service
+descriptor (services.xml file). The -ssi switch creates an interface for the
+service skeleton. The -uw switch unwraps the parameters passed to and from
+the service operations in order to create a more natural programming
+interface.</p>
 
 <p>After running WSDL2Java, the service files should be located at
-build/service. If you generated the code by using WSDL2Java directly, you next need to modify
-the generated skeleton to implement the service (if you used "ant generate.service"
-a completed skeleton will be copied over the generated one automatically). Open
-the build/service/src/samples/quickstart/service/jibx/StockQuoteServiceSkeleton.java
+build/service. If you generated the code by using WSDL2Java directly, you
+need to modify the generated skeleton to implement the service (if you used
+"ant generate.service" a completed skeleton will be copied over the generated
+one automatically). Open the
+build/service/src/samples/quickstart/service/jibx/StockQuoteServiceSkeleton.java
 file and modify it to add the functionality of your service to the generated
 methods, as shown in Code Listing 8.</p>
 
@@ -542,49 +633,49 @@
         }
         return ret;
     }
-}
-</pre>
+}</pre>
 
 <p>Now you can build the project by typing the following command in the
 build/service directory:</p>
-<pre>
-ant jar.server
-</pre>
-
-<p>If all goes well, you should see the BUILD SUCCESSFUL message in your window, and the StockQuoteService.aar file in the build/service/build/lib directory.  Copy this file to the webapps/axis2/WEB-INF/services directory of the servlet engine.</p>
-
-<p>You can check to make sure that the service has been properly deployed by viewing the list of services at:</p>
-<pre>
-http://localhost:8080/axis2/services/listServices
-</pre>
-
-<p>You can also check the custom WSDL at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?wsdl
-</pre>
+<pre>ant jar.server</pre>
 
-<p>And the schema at:</p>
-<pre>
-http://localhost:8080/axis2/services/StockQuoteService?xsd
-</pre>
-
-<p>For more information on using JiBX with Axis2, see the
-<a href="jibx/jibx-codegen-integration.html">JiBX code generation integration</a>
-details. You can also check the
-<a href="http://www.sosnoski.com/jibx-wiki/space/axis2-jibx">JiBX Axis2 Wiki
+<p>If all goes well, you should see the BUILD SUCCESSFUL message in your
+window, and the StockQuoteService.aar file in the build/service/build/lib
+directory. Copy this file to the webapps/axis2/WEB-INF/services directory of
+the servlet engine.</p>
+
+<p>You can check to make sure that the service has been properly deployed by
+viewing the list of services at,</p>
+<pre>http://localhost:8080/axis2/services/listServices</pre>
+
+<p>You can also check the custom WSDL at,</p>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?wsdl</pre>
+
+<p>and the schema at,</p>
+<pre>http://localhost:8080/axis2/services/StockQuoteService?xsd</pre>
+
+<p>For more information on using JiBX with Axis2, see the <a
+href="jibx/jibx-codegen-integration.html">JiBX code generation
+integration</a> details. You can also check the <a
+href="http://www.sosnoski.com/jibx-wiki/space/axis2-jibx">JiBX Axis2 Wiki
 page</a> for updated information about using JiBX with Axis2.</p>
+<a name="clients"></a>
 
-<a name="clients"></a><h2>Creating Clients</h2>
+<h2>Creating Clients</h2>
 
-<p>In this section, we'll look at four ways to create clients based on the StockQuoteService class:  Building an AXIOM based client, generating a client using Axis2 Databinding Framework (ADB), generating a client using XMLBeans, and generating a client using JiBX.</p>
+<p>In this section, we'll look at four ways to create clients based on the
+StockQuoteService class: building an AXIOM based client, generating a client
+using Axis2 Databinding Framework (ADB), generating a client using XMLBeans,
+and generating a client using JiBX.</p>
+<a name="clientaxiom"></a>
 
-<a name="clientaxiom"></a><h3>Creating a Client with AXIOM</h3>
+<h3>Creating a Client with AXIOM</h3>
 
 <p>To build a client using AXIOM, execute the following steps.</p>
 
-<p>Also, note the directory structure shown in the Creating a service with AXIOM section, duplicated below for completeness.</p>
-<pre>
-- quickstartaxiom
+<p>Also, note the directory structure shown in the Creating a service with
+AXIOM section, duplicated below for completeness.</p>
+<pre>- quickstartaxiom
    - README.txt
    - build.xml
    - resources
@@ -598,10 +689,10 @@
            - axiom
              - StockQuoteService.java
          - clients
-           - AXIOMClient.java
-</pre>
+           - AXIOMClient.java</pre>
 
-<p>The above referenced AXIOMClient.java class is defined as follows, shown in Code Listing 9.</p>
+<p>The above referenced AXIOMClient.java class is defined as follows, shown
+in Code Listing 9.</p>
 
 <p><b>Code Listing 9: The AXIOMClient class using AXIOM</b></p>
 <pre>package samples.quickstart.clients;
@@ -671,35 +762,44 @@
         }
     }
     
-}
-</pre>
+}</pre>
 
-<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). Here you setup the payload for the update and getPrice methods of the service. The payloads are created similar to how you created the getPriceResponse payload for the AXIOM service. Then you setup the Options class, and create a ServiceClient that you'll use to communicate with the service. First you call the update method, a fireAndForget method that returns nothing. Lastly, you call the getPrice method, and retrieve the current price from the service and display it.</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).
+Here you setup the payload for the update and getPrice methods of the
+service. The payloads are created similar to how you created the
+getPriceResponse payload for the AXIOM service. Then you setup the Options
+class, and create a ServiceClient that you'll use to communicate with the
+service. First you call the update method, which is a fireAndForget method
+that returns nothing. Lastly, you call the getPrice method, and retrieve the
+current price from the service and display it.</p>
 
-<p>Now you can build and run the AXIOM client by typing ant run.client in the Axis2_HOME/samples/quickstartaxiom directory.</p>
+<p>Now you can build and run the AXIOM client by typing ant run.client in the
+Axis2_HOME/samples/quickstartaxiom directory.</p>
 
 <p>You should get the following as output:</p>
-<pre>
-done
-Current price of WSO: 123.42
-</pre>
+<pre>done
+Current price of WSO: 123.42</pre>
+<a name="clientadb"></a>
 
-<a name="clientadb"></a><h3>Generating a Client using ADB</h3>
+<h3>Generating a Client using ADB</h3>
 
-<p>To build a client using Axis Data Binding (ADB), execute the following steps.</p>
+<p>To build a client using Axis Data Binding (ADB), execute the following
+steps.</p>
 
-<p>Generate the client databings by typing the following in the Axis2_HOME/samples/quickstartadb directory:</p>
-<pre>
-%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.clients -d adb -s -o build/client
-</pre>
+<p>Generate the client databings by typing the following in the
+Axis2_HOME/samples/quickstartadb directory:</p>
+<pre>%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.clients -d adb -s -o build/client</pre>
 
-<p>Or by simply typing ant generate.client in the Axis2_HOME/samples/quickstartadb directory.</p>
+<p>Else, simply type ant generate.client in the
+Axis2_HOME/samples/quickstartadb directory.</p>
 
-<p>Next take a look at quickstartadb/src/samples/quickstart/clients/ADBClient.java, and see how it's defined in Code Listing 10.</p>
+<p>Next take a look at
+quickstartadb/src/samples/quickstart/clients/ADBClient.java, and see how it's
+defined in Code Listing 10.</p>
 
 <p><b>Code Listing 10: The ADBClient Class</b></p>
-<pre>
-package samples.quickstart.clients;
+<pre>package samples.quickstart.clients;
 
 import samples.quickstart.service.adb.StockQuoteServiceStub;
 
@@ -751,36 +851,43 @@
         }
     }
 
-}
-</pre>
+}</pre>
 
-<p>This class creates a client stub using the Axis Data Bindings you created. Then it calls the getPrice and update operations on the Web service. The getPrice method operation creates the GetPrice payload and sets the symbol to ABC. It then sends the request and displays the current price.  The update method creates an Update payload, setting the symbol to ABC and the price to 42.35.</p>
+<p>This class creates a client stub using the Axis Data Bindings you created.
+Then it calls the getPrice and update operations on the Web service. The
+getPrice method operation creates the GetPrice payload and sets the symbol to
+ABC. It then sends the request and displays the current price. The update
+method creates an Update payload, setting the symbol to ABC and the price to
+42.35.</p>
 
-<p>Now build and run the client by typing ant run.client in the Axis2_HOME/samples/quickstartadb directory.</p>
+<p>Now build and run the client by typing ant run.client in the
+Axis2_HOME/samples/quickstartadb directory.</p>
 
 <p>You should get the following as output:</p>
-<pre>
-42
-done
-</pre>
+<pre>42
+done</pre>
+<a name="clientxmlbeans"></a>
+
+<h3>Generating a Client using XMLBeans</h3>
 
-<a name="clientxmlbeans"></a><h3>Generating a Client using XMLBeans</h3>
+<p>To build a client using the XML Beans data bindings, execute the following
+steps.</p>
 
-<p>To build a client using the XML Beans data bindings, execute the following steps.</p>
-<p>Generate the databings by typing the following in the xmlbeansClient directory:</p>
-<pre>
-%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.xmlbeans -d xmlbeans -s -o build/client
-</pre>
+<p>Generate the databings by typing the following in the xmlbeansClient
+directory.</p>
+<pre>%AXIS2_HOME%/bin/WSDL2Java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.service.xmlbeans -d xmlbeans -s -o build/client</pre>
 
-<p>Or by simply typing ant generate.client in the Axis2_HOME/samples/quickstartxmlbeans directory.</p>
+<p>Else, simply type ant generate.client in the
+Axis2_HOME/samples/quickstartxmlbeans directory.</p>
 
-<p>Note that this creates client stub code and no server side code.</p>
+<p>Note that this creates a client stub code and no server side code.</p>
 
-<p>Next take a look at quickstartxmlbeans/src/samples/quickstart/clients/XMLBEANSClient.java, and see how it's defined in Code Listing 11.</p>
+<p>Next take a look at
+quickstartxmlbeans/src/samples/quickstart/clients/XMLBEANSClient.java, and
+see how it's defined in Code Listing 11.</p>
 
 <p><b>Code Listing 11: The XMLBEANSClient class</b></p>
-<pre>
-package samples.quickstart.clients;
+<pre>package samples.quickstart.clients;
 
 import samples.quickstart.service.xmlbeans.StockQuoteServiceStub;
 import samples.quickstart.service.xmlbeans.xsd.GetPriceDocument;
@@ -836,35 +943,40 @@
             System.err.println("\n\n\n");
         }
     }
-}
-</pre>
+}</pre>
 
-<p>This class creates a client stub using the XML Beans data bindings you created. Then it calls the getPrice and update operations on the Web service. The getPrice method operation creates the GetPriceDocument, its inner GetPrice classes and sets the symbol to ABC. It then sends the request and retrieves a GetPriceResponseDocument and displays the current price.  The update method creates an UpdateDocument, Update and sets the symbol to ABC and price to 42.32, displaying done when complete.</p>
+<p>This class creates a client stub using the XML Beans data bindings you
+created. Then it calls the getPrice and the update operations on the Web
+service. The getPrice method operation creates the GetPriceDocument, its
+inner GetPrice classes and sets the symbol to ABC. It then sends the request
+and retrieves a GetPriceResponseDocument and displays the current price. The
+update method creates an UpdateDocument, updates and sets the symbol to ABC
+and price to 42.32, displaying 'done' when complete.</p>
 
-<p>Now build and run the the project by typing ant run.client in the Axis2_HOME/samples/quickstartxmlbeans directory.</p>
+<p>Now build and run the the project by typing ant run.client in the
+Axis2_HOME/samples/quickstartxmlbeans directory.</p>
 
 <p>You should get the following as output:</p>
-<pre>
-42
-done
-</pre>
+<pre>42
+done</pre>
+<a name="clientjibx"></a>
 
-<a name="clientjibx"></a><h3>Generating a Client using JiBX</h3>
+<h3>Generating a Client using JiBX</h3>
 
 <p>To build a client using JiBX, execute the following steps.</p>
 
-<p>Generate the client stub by typing the following at a console in the Axis2_HOME/samples/quickstartjibx directory:</p>
-<pre>
-%AXIS2_HOME%/bin/wsdl2java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.clients -d jibx -s -uw -o build/client
-</pre>
-
-<p>Or by simply typing "ant generate.client".</p>
-
-<p>Next take a look at quickstartjibx/src/samples/quickstart/clients/JiBXClient.java, shown below in Code Listing 12.</p>
+<p>Generate the client stub by typing the following at a console in the
+Axis2_HOME/samples/quickstartjibx directory.</p>
+<pre>%AXIS2_HOME%/bin/wsdl2java -uri resources/META-INF/StockQuoteService.wsdl -p samples.quickstart.clients -d jibx -s -uw -o build/client</pre>
+
+<p>Else, simply type "ant generate.client".</p>
+
+<p>Next take a look at
+quickstartjibx/src/samples/quickstart/clients/JiBXClient.java, shown below in
+Code Listing 12.</p>
 
 <p><b>Code Listing 12: The JiBXClient class</b></p>
-<pre>
-package samples.quickstart.clients;
+<pre>package samples.quickstart.clients;
 
 import samples.quickstart.service.jibx.StockQuoteServiceStub;
 
@@ -905,27 +1017,32 @@
         }
     }
 
-}
-</pre>
+}</pre>
 
-<p>This class uses the created JiBX client stub to access the getPrice and update operations on the Web service. The getPrice method sends a request for the stock "ABC" and displays the current price.  The update method set the price for stock "ABC" to 42.35.</p>
+<p>This class uses the created JiBX client stub to access the getPrice and
+the update operations on the Web service. The getPrice method sends a request
+for the stock "ABC" and displays the current price. The update method setsnex
+the price for stock "ABC" to 42.35.</p>
 
-<p>Now build and run the client by typing "ant run.client" at a console in the Axis2_HOME/samples/quickstartjibx directory.</p>
+<p>Now build and run the client by typing "ant run.client" at a console in
+the Axis2_HOME/samples/quickstartjibx directory.</p>
 
 <p>You should get the following as output:</p>
-<pre>
-42
-done
-</pre>
-
-<p>For more information on using JiBX with Axis2, see the
-<a href="jibx/jibx-codegen-integration.html">JiBX code generation integration</a>
-details.</p>
-
-<a name="summary"></a><h2>Summary</h2>
-
-<p>Axis2 is a slick and robust way to get web services up and running in no time. This guide presented five methods of creating a service deployable on Axis2, and four methods of creating a client to communicate with the services. You now have the flexibility to create Web services using a variety of different technologies.</p>
+<pre>42
+done</pre>
 
+<p>For more information on using JiBX with Axis2, see the <a
+href="jibx/jibx-codegen-integration.html">JiBX code generation
+integration</a> details.</p>
+<a name="summary"></a>
+
+<h2>Summary</h2>
+
+<p>Axis2 is a slick and robust way to get web services up and running in no
+time. This guide presented five methods of creating a service deployable on
+Axis2, and four methods of creating a client to communicate with the
+services. You now have the flexibility to create Web services using a variety
+of different technologies.</p>
 <a name="furtherstudy"></a>
 
 <h2>For Further Study</h2>
@@ -941,6 +1058,5 @@
 
 <p>Working With Apache Axis2-<a
 href="http://www.wso2.net/articles/axis2/java/2006/09/13/working-with-axis2">http://www.wso2.net/articles/axis2/java/2006/09/13/working-with-axis2</a></p>
-
 </body>
 </html>

Modified: webservices/axis2/trunk/java/xdocs/1_1/rest-ws.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/rest-ws.html?view=diff&rev=512180&r1=512179&r2=512180
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/rest-ws.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/rest-ws.html Tue Feb 27 00:50:09 2007
@@ -1,16 +1,15 @@
 <html>
-
 <head>
   <meta http-equiv="content-type" content="">
   <title>RESTful Web Services Support</title>
-  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
+  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+  media="all">
 </head>
 
 <body lang="en">
-
 <h1>RESTful Web Services Support</h1>
 
-<p>This document presents an introduction on REST and REST with HTTP POST &amp;
+<p>This document presents an introduction on REST and REST with HTTP POST and
 GET.</p>
 
 <h2>Content</h2>
@@ -23,19 +22,25 @@
   </li>
   <li><a href="#rest_with_get">Access a REST Web Service via HTTP GET</a></li>
 </ul>
-
 <a name="intro"></a>
+
 <h2>Introduction</h2>
 
-<p>WSDL 2.0 HTTP Binding defines a way to implement REST (Representational State Transfer) with Web services. Axis2 implements most defined in HTTP binding specification. REST Web services are a reduced subset of the usual Web service stack.</p>
+<p>WSDL 2.0 HTTP Binding defines a way to implement REST (Representational
+State Transfer) with Web services. Axis2 implements the most defined HTTP
+binding specification. REST Web services are a reduced subset of the usual
+Web service stack.</p>
 
 <p>The Axis2 REST implementation assumes the following properties:</p>
 <ol>
   <li>REST Web services are Synchronous and Request Response in nature.</li>
   <li>When REST Web services are accessed via GET, the service and the
     operations are identified based on the URL. The parameters are assumed as
-    parameters of the Web service. In this case the GET based REST Web
-    services supports only simple types as arguments and it should adhere to <a href="http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327/#_operation_iri_style">IRI style</a>.</li>
+    parameters of the Web service. In this case, the GET based REST Web
+    services support only simple types as arguments and it should adhere to
+    the <a
+    href="http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327/#_operation_iri_style">IRI
+    style</a>.</li>
   <li>POST based Web services do not need a SOAP Envelope or a SOAP Body.
     REST Web Services do not have Headers and the payload is sent
   directly.</li>
@@ -44,28 +49,29 @@
 <p>Axis2 can be configured as a REST Container and can be used to send and
 receive RESTful Web service requests and responses. REST Web services can be
 accessed using HTTP GET and POST.</p>
-
 <a name="rest_with_post"></a>
-<h2>Doing REST Web Services with HTTP POST</h2>
 
-<p>Axis2 server, if REST is enabled, will act as both a REST endpoint and a SOAP endpoint. When a message is received, if the content type is text/xml and if the SOAPAction Header
-is missing, then the message is treated as a RESTful Message, if not it is
-treated as a usual SOAP Message.</p>
-
-<p>On sending a message, the fact that the message is RESTful or not, can
-be decided from the client API.<br>
-Set a property in the client api.<br>
+<h2>REST Web Services with HTTP POST</h2>
+
+<p>If REST is enabled, the Axis2 server will act as both a REST endpoint and
+a SOAP endpoint. When a message is received, if the content type is text/xml
+and if the SOAPAction Header is missing, then the message is treated as a
+RESTful Message, if not it is treated as a usual SOAP Message.</p>
+
+<p>On sending a message, whether the message is RESTful or not, can be
+decided from the client API.<br>
+Set a property in the client API.<br>
 </p>
 <pre>...
 Options options = new Options();
 options.setProperty(Constants.Configuration.ENABLE_REST, Constants.VALUE_TRUE);
 ...</pre>
-
 <a name="sample"></a>
+
 <h3>Sample REST - HTTP POST Client</h3>
 
 <p>There is an example named, userguide.clients.RESTClient.java which
-demonstrates the usage of the above, using the "echo"operation of the</p>
+demonstrates the usage of the above. It uses the "echo" operation of the</p>
 <pre>userguide.example1.MyService </pre>
 
 <p>of the samples.The class source will be as follows:</p>
@@ -108,23 +114,23 @@
         return method;
     }
 }</pre>
-</source>
+</source><a name="rest_with_get"></a>
 
-<a name="rest_with_get"></a>
 <h2>Access a REST Web Service via HTTP GET</h2>
 
 <p>Axis2 allows users to access Web services that have simple type parameters
 via HTTP GET. For example, the following URL requests the Version Service via
-HTTP GET. But the Web service arriving via GET assumes REST. Other parameters
-are converted into XML and put into the SOAP Body.</p>
+HTTP GET. However, the Web service arriving via GET assumes REST. Other
+parameters are converted into XML and put into the SOAP body.</p>
 <source><pre>http://127.0.0.1:8080/axis2/rest/Version/getVersion</pre>
 </source>
-<p>Result can be shown in the browser as follows:</p>
-<img src="images/userguide/http-get-ws.jpg"/><br clear="all"/>
+<p>The result can be shown in the browser as follows:</p>
+<img src="images/userguide/http-get-ws.jpg"><br clear="all">
+
 
 <p>For example, the following request,</p>
 <source><pre>http://127.0.0.1:8080/axis2/rest/Version/getVersion</pre>
-</source>will be converted to the following SOAP Message for processing by
+</source>will be converted into the following SOAP message for processing by
 Axis2.<source>
 <pre> 
    &lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"&gt;
@@ -134,7 +140,6 @@
    &lt;/soapenv:Envelope&gt;
     </pre>
 </source>
-
 <h2>Resources</h2>
 
 <p>How I Explained REST to My Wife, By Ryan Tomayko- <a
@@ -146,7 +151,5 @@
 
 <p>Resource-oriented vs. activity-oriented Web services, By James Snell- <a
 href="http://www-128.ibm.com/developerworks/webservices/library/ws-restvsoap/">http://www-128.ibm.com/developerworks/webservices/library/ws-restvsoap/</a></p>
-
 </body>
-
 </html>

Modified: webservices/axis2/trunk/java/xdocs/1_1/soapmonitor-module.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/soapmonitor-module.html?view=diff&rev=512180&r1=512179&r2=512180
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/soapmonitor-module.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/soapmonitor-module.html Tue Feb 27 00:50:09 2007
@@ -3,17 +3,18 @@
 <head>
   <meta http-equiv="content-type" content="">
   <title>The SOAP Monitor Module</title>
-  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
+  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+  media="all">
 </head>
-<body>
 
+<body>
 <h1>Using the SOAP Monitor</h1>
 
-<p>Web service developers often have the need to see the SOAP messages being
-used to invoke Web services along with the results of those messages. The
-goal of the SOAP Monitor utility is to provide a way for these developers to
-monitor the SOAP messages being used without requiring any special
-configuration or restarting of the server.</p>
+<p>Web service developers often want to see the SOAP messages that are being
+used to invoke the Web services, along with the results of those messages.
+The goal of the SOAP Monitor utility is to provide a way for the developers
+to monitor these SOAP messages without requiring any special configuration or
+restarting the server.</p>
 
 <p>In this utility, a handler has been written and added to the global
 handler chain. As SOAP requests and responses are received, the SOAP message
@@ -24,9 +25,9 @@
 information is displayed through a Web browser by using an applet that opens
 a socket connection to the SOAP monitor service. This applet requires a Java
 plug-in 1.3 or higher to be installed in your browser. If you do not have a
-correct plug-in, the browser should prompt you to install one. The port used
-by the SOAP monitor service to communicate with applets is configurable. Edit
-the web.xml file to change the port used by Axis2 Web application.</p>
+correct plug-in, the browser will prompt you to install one. The port used by
+the SOAP monitor service to communicate with applets is configurable. Edit
+the web.xml file to change the port used by the Axis2 Web application.</p>
 
 <p>The SOAP Monitor module (soapmonitor.mar) is available in the axis2.war
 but it is not engaged by default. The SOAP Monitor is NOT enabled by default
@@ -36,7 +37,7 @@
 axis2.xml file.</p>
 <source><pre>   &lt;module ref="soapmonitor"/&gt;</pre>
 </source>
-<p>Then in the axis2.xml file define your phase orders for 'soapmonitorPhase'
+<p>In the axis2.xml file, define your phase orders for the 'soapmonitorPhase'
 referenced in the module.xml of soapmonitor.mars. Below is an example which
 should NOT be copied exactly, since the default phases change occasionally.
 The important point here is that 'soapmonitorPhase' should be placed under
@@ -96,7 +97,7 @@
     &lt;/phaseOrder&gt;</pre>
 
 <p>To configure the servlet to communicate with the applet, add the following
-to web.xml (the SOAPMonitorPort is configurable): </p>
+code to the web.xml (The SOAPMonitorPort is configurable.):</p>
 <pre>    &lt;servlet&gt;
        &lt;servlet-name&gt;SOAPMonitorService&lt;/servlet-name&gt;
        &lt;display-name&gt;SOAPMonitorService&lt;/display-name&gt;
@@ -115,22 +116,21 @@
         &lt;url-pattern&gt;/SOAPMonitor&lt;/url-pattern&gt;
     &lt;/servlet-mapping&gt;</pre>
 
-<p>Finally, compile the applet classes and place them at the root of the war
+<p>Finally, compile the applet classes and place them at the root of the .war
 - for example axis2/SOAPMonitorApplet*.class/WEB-INF :</p>
 <pre>javac -classpath axis2-soapmonitor.jar SOAPMonitorApplet.java</pre>
 
-<p>You can find the SOAPMonitorApplet.java in the source distribution. </p>
+<p>You can find the SOAPMonitorApplet.java in the source distribution.</p>
 
 <p>Alternatively, you can get the compiled applet classes from the
 axis2-soapmonitor-*.jar from inside the expanded axis2.war under WEB-INF/lib
-. Simply execute 'jar -xf axis2-soapmonitor-*.jar' and place the applet 
-classes as axis2/SOAPMonitorApplet*.class/WEB-INF.  </p>
+. Simply execute 'jar -xf axis2-soapmonitor-*.jar' and place the applet
+classes as axis2/SOAPMonitorApplet*.class/WEB-INF.</p>
 
 <p>Using a Web browser, go to http[s]://host[:port][/webapp]/SOAPMonitor
-(e.g.http://localhost:8080/axis2/SOAPMonitor) substituting the correct
-values for your Web application. This will show the SOAP Monitor applet for
-viewing service requests and responses. Any requests to services that have
-been configured and deployed correctly should show up in the applet.</p>
-
+(e.g.http://localhost:8080/axis2/SOAPMonitor) substituting the correct values
+for your Web application. This will show the SOAP Monitor applet used to view
+the service requests and responses. Any requests to services that have been
+configured and deployed correctly should show up in the applet.</p>
 </body>
 </html>



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org