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/03/29 09:32:34 UTC

svn commit: r523602 - in /webservices/axis2/trunk/java/xdocs/1_1: userguide-creatingclients-jibx.html userguide-creatingclients-xmlbeans.html userguide-creatingclients.html

Author: chatra
Date: Thu Mar 29 00:32:33 2007
New Revision: 523602

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

Modified:
    webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-jibx.html
    webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-xmlbeans.html
    webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients.html

Modified: webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-jibx.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-jibx.html?view=diff&rev=523602&r1=523601&r2=523602
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-jibx.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-jibx.html Thu Mar 29 00:32:33 2007
@@ -10,7 +10,7 @@
 <body>
 <h1 class="title">Generating a Web Service Client using Axis2 and JiBX</h1>
 
-<p>This document explains how to generate a web service client using Axis2
+<p>This document explains how to generate a Web service client using Axis2
 and JiBX data binding. The service has the following WSDL:</p>
 
 <p><b>Code Listing 1: The WSDL file</b></p>
@@ -202,60 +202,59 @@
   &lt;/wsdl:service&gt;
 &lt;/wsdl:definitions&gt;</pre>
 
-<p>Notice that the document defines four operations, DoInOnly, NoParameters,
-TwoWayOneParameterEcho, and MultipleParametersAddItem. Each of the clients
-will include methods for calling each of these operations.</p>
+<p>Note that the document defines four operations, DoInOnly, NoParameters,
+TwoWayOneParameterEcho, and MultipleParametersAddItem. Each client will
+include methods for calling each of these operations.</p>
 
 <p>(You can get more information on WSDL at <a
 href="http://www.w3.org/2002/ws/desc/">http://www.w3.org/2002/ws/desc/</a>
 .)</p>
 <a name="jibx"></a>
 
-<h2>JIBX</h2>
+<h2>JiBX</h2>
 
 <p>JiBX is not part of the Apache project, so in order to use it to generate
-your clients, you will need to do some setup work to start with. To generate
+your clients, you will need to do some setting up to start with. To generate
 your client, execute the following steps:</p>
 
 <p><b>The short story</b>:</p>
 <ol>
-  <li>Download the latest JiBX package (release jibx-1.1 at the time of this
-    writing) from <a
+  <li>Download the latest JiBX package (tested with JiBX v1.1) from <a
     href="http://sourceforge.net/projects/jibx/">http://sourceforge.net/projects/jibx/</a>
-    . Extract the zip file, and copy the jars in the lib directory to the
+    . Extract the zip file, and copy the JARs in the lib directory to the
     AXIS2_HOME/lib directory. (Delete the stax-api.jar file; it's superseded
     by the version that comes with Axis2.)</li>
   <li>Download <a
     href="http://sourceforge.net/project/showfiles.php?group_id=69358&amp;package_id=122897">xsd2jibx
-    version beta2a</a> from sourceforge. Create a directory called xsd2jibx
+    version beta2a</a> from SourceForge. Create a directory called xsd2jibx
     in your working directory and extract the files into it. This utility
-    does not work with the latest release of JiBX, so download <a
+    does not work with the latest release (v1.1) of JiBX, so download <a
     href="http://sourceforge.net/project/showfiles.php?group_id=69358&amp;package_id=68290">jibx-1.0RC1</a>
-    from Sourceforge. Extract the files from this archive and copy the *.jar
+    from SourceForge. Extract the files from this archive and copy the *.jar
     files in the lib directory into the xsd2jibx/lib directory.</li>
   <li>Create a schema based on the data structures of your WSDL file and save
     it in your working directory.</li>
-  <li>Make sure that only the xsd2jibx jar files are on the classpath and
+  <li>Make sure that only the xsd2jibx jar files are in the classpath and
     execute the following command to create the basic binding file: java -jar
     xsd2jibx\lib\xsd2jibx.jar Axis2UserGuide.xsd</li>
   <li>Copy the org directory to the src directory to place the generated
     classes into the project so that the compiler will see them.</li>
   <li>Remove the xsd2jibx-related *.jar files from your CLASSPATH and add the
-    Axis2 jar files back onto it. Execute the following command to generate
+    Axis2 .jar files back into it. Execute the following command to generate
     the stubs:
     <pre>%AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d jibx -Ebindingfile org\apache\axis2\axis2userguide\binding.xml -s</pre>
   </li>
   <li>Create the client file in the org/apache/axis2/axis2userguide
   directory.</li>
-  <li>Copy the org directory and all of its contents to the src
-  directory.</li>
-  <li>Compile the first set of classes by typing: ant jar.client</li>
-  <li>Change to the build/classes directory and run the JiBX compiler:
+  <li>Copy the org directory and all its contents to the src directory.</li>
+  <li>Compile the first set of classes by typing:<code>ant
+  jar.client</code></li>
+  <li>Go to the build/classes directory and run the JiBX compiler:
     <pre>java -jar C:\apps\axis2\lib\jibx-bind.jar 
 ..\..\org\apache\axis2\axis2userguide\binding.xml</pre>
   </li>
-  <li>Run ant again to package the new auto-generated JiBX classes into the
-    client jar by typing: ant jar.client</li>
+  <li>Run Ant again to package the new auto-generated JiBX classes into the
+    client jar by typing: <code>ant jar.client</code></li>
   <li>Add the build/lib/Axis2UserGuideService-test-client.jar file to the
     CLASSPATH and run the client by typing:
     <pre>java org.apache.axis2.axis2userguide.Client</pre>
@@ -264,22 +263,20 @@
 
 <p><b>The long story:</b></p>
 
-<p>In order to use JiBX to generate your client, you'll need to use it for
-two different functions. Of course, you use it to generate the stubs your
-client will use, but before you get to that point, you'll need to generate a
-binding file that maps objects to XML elements. To do that, you'll need the
-xsd2jibx utility, which creates a binding file from an XML Schema document.
-Once you have the binding file, you can run JiBX to create the actual object.
-In order to do all that you'll need to have the appropriate versions of the
-JiBX software.</p>
-
-<p>Download the latest jibx package (release jibx-1.1 at the time of this
-writing) from <a
-href="http://sourceforge.net/projects/jibx/">http://sourceforge.net/projects/jibx/</a>
-. Extract the zip file, and copy the jars in the lib directory to the
+<p>To use JiBX to generate your client, you first need to use it in two
+different functions. You have to generate a binding file that maps objects to
+the XML elements, and then use JiBX to generate the stubs that your client
+will use. To generate a binding file, you'll need the xsd2jibx utility, which
+creates a binding file from an XML Schema document. Once you have the binding
+file, you can run JiBX to create the actual object. In order to do all that
+you'll need to have the appropriate versions of the JiBX software.</p>
+
+<p>Download the latest JiBX package (tested with JiBX v1.1) from <a
+href="http://sourceforge.net/projects/jibx/">http://sourceforge.net/projects/jibx/</a>.
+Extract the zip file, and copy the JARs in the lib directory to the
 AXIS2_HOME/lib directory. (Delete the stax-api.jar file; it's superseded by
-the version that comes with Axis2.) These are the files that pertain to the
-main JiBX application.</p>
+the version that comes with Axis2.) These files pertain to the main JiBX
+application.</p>
 
 <p>Download <a
 href="http://sourceforge.net/project/showfiles.php?group_id=69358&amp;package_id=122897">xsd2jibx
@@ -293,8 +290,8 @@
 use them exclusively with the xsd2jibx utility.</p>
 
 <p>You'll need an XML schema from which to generate the binding file, which
-links XML elements in to the Java classes. As defined in the sample WSDL
-file, its content should be as follows in Code Listing 2.</p>
+links XML elements to the Java classes. As defined in the sample WSDL file,
+its content should be as shown in Code Listing 2.</p>
 
 <p><b>Code Listing 2: XML Schema</b></p>
 <pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
@@ -360,8 +357,8 @@
 <p>Save the above XML schema file as Axis2UserGuide.xsd.</p>
 
 <p>In order to map this schema into a JiBX binding file, you'll need to use
-the xsd2jibx utility. Clear your CLASSPATH and add only the jar files in
-thexsd2jibx/lib directory. Execute the following command to create the basic
+the xsd2jibx utility. Clear your CLASSPATH and add only the .jar files in the
+xsd2jibx/lib directory. Execute the following command to create the basic
 binding file:</p>
 <pre>java -jar xsd2jibx\lib\xsd2jibx.jar Axis2UserGuide.xsd</pre>
 
@@ -369,8 +366,8 @@
 called binding.xml. You'll use this file to do the actual WSDL-to-Java
 conversion.</p>
 
-<p>Remove the xsd2jibx jar files from your CLASSPATH and add the Axis2 jar
-files back onto it. Execute command in Code Listing 3 to generate the
+<p>Remove the xsd2jibx .jar files from your CLASSPATH and add the Axis2 .jar
+files back into it. Execute the command in Code Listing 3 to generate the
 stubs.</p>
 
 <p><b>Code Listing 3: Generating the stubs</b></p>
@@ -461,11 +458,11 @@
     }
 }</pre>
 
-<p>Now it's time to compile the client. In order for the generated files to
-be found, they need to be in the source directory, so copy the org file to
-the src directory.</p>
+<p>Now it's time to compile the client. For the generated files to be found,
+they need to be in the source directory, so copy the org file to the src
+directory.</p>
 
-<p>Compile the first set of classes by typing: ant jar.client</p>
+<p>Compile the first set of classes by typing: <code>ant jar.client</code></p>
 
 <p>This action compiles most of the available classes, but not everything.
 Fortunately, it does compile the classes needed by the JiBX compiler, so you
@@ -473,12 +470,12 @@
 directory and run the JiBX compiler:</p>
 <pre>java -jar C:\apps\axis2\lib\jibx-bind.jar ..\..\org\apache\axis2\axis2userguide\binding.xml</pre>
 
-<p>Now that you have the new files in place, rerun the ant task to generate
-the client: ant jar.client</p>
+<p>Now that you have the new files in place, re-run the Ant task to generate
+the client: <code>ant jar.client</code></p>
 
-<p>This action adds all of the appropriate files to the
-build/lib/Axis2UserGuideService-test-client.jar file, so add that jar file to
-your CLASSPATH and run the client by typing: java
+<p>This action adds all the appropriate files to the
+build/lib/Axis2UserGuideService-test-client.jar file, so add that .jar file
+to your CLASSPATH and run the client by typing: java
 org.apache.axis2.axis2userguide.Client</p>
 </body>
 </html>

Modified: webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-xmlbeans.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-xmlbeans.html?view=diff&rev=523602&r1=523601&r2=523602
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-xmlbeans.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-xmlbeans.html Thu Mar 29 00:32:33 2007
@@ -1,406 +1,408 @@
-<?xml version="1.0" encoding=""?>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <meta http-equiv="content-type" content="" />
-  <title>Generating a Web Service Client using Axis2 and XmlBeans</title>
-  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
-  media="all" />
-</head>
-
-<body>
-<h1 class="title">Generating a Web Service Client using Axis2 and
-XmlBeans</h1>
-
-<p>This document explains how to generate a Web service client using Axis2
-and XmlBeans data binding. The service has the following WSDL:</p>
-
-<p><b>Code Listing 1: The WSDL file</b></p>
-<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;wsdl:definitions
-   xmlns:apachesoap="http://xml.apache.org/xml-soap"
-   xmlns:impl="http://apache.org/axis2/Axis2UserGuide"
-   xmlns:intf="http://apache.org/axis2/Axis2UserGuide"
-   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
-   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-   targetNamespace="http://apache.org/axis2/Axis2UserGuide"&gt;
-
-  &lt;wsdl:types&gt;
-    &lt;schema
-       elementFormDefault="qualified"
-       targetNamespace="http://apache.org/axis2/Axis2UserGuide"
-       xmlns="http://www.w3.org/2001/XMLSchema"&gt;
-      
-      &lt;!-- ELEMENTS --&gt;
-      
-      &lt;element name="DoInOnlyRequest"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-            &lt;element name="messageString" type="xsd:string"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-      
-      &lt;element name="TwoWayOneParameterEchoRequest"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-            &lt;element name="echoString" type="xsd:string"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-      &lt;element name="TwoWayOneParameterEchoResponse"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-            &lt;element name="echoString" type="xsd:string"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-      
-      &lt;element name="NoParametersRequest"&gt;
-        &lt;complexType/&gt;
-      &lt;/element&gt;
-      &lt;element name="NoParametersResponse"&gt;
-        &lt;complexType/&gt;
-      &lt;/element&gt;
-      
-      &lt;element name="MultipleParametersAddItemRequest"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-            &lt;element name="itemId" type="xsd:int"/&gt;
-            &lt;element name="itemName" type="xsd:string"/&gt;
-            &lt;element name="price" type="xsd:float"/&gt;
-            &lt;element name="description" type="xsd:string"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-
-      &lt;element name="MultipleParametersAddItemResponse"&gt;
-        &lt;complexType&gt;
-          &lt;sequence&gt;
-          &lt;element name="itemId" type="xsd:int"/&gt;
-          &lt;element name="successfulAdd" type="xsd:boolean"/&gt;
-          &lt;/sequence&gt;
-        &lt;/complexType&gt;
-      &lt;/element&gt;
-
-    &lt;/schema&gt;
-  &lt;/wsdl:types&gt;
-
-  
-  &lt;!-- MESSAGES --&gt;
-
-  &lt;wsdl:message name="DoInOnlyRequestMessage"&gt;
-    &lt;wsdl:part name="input" element="impl:DoInOnlyRequest"/&gt;
-  &lt;/wsdl:message&gt;
-
-  &lt;wsdl:message name="TwoWayOneParameterEchoRequestMessage"&gt;
-    &lt;wsdl:part name="input" element="impl:TwoWayOneParameterEchoRequest"/&gt;
-  &lt;/wsdl:message&gt;
-  &lt;wsdl:message name="TwoWayOneParameterEchoResponseMessage"&gt;
-    &lt;wsdl:part name="output" element="impl:TwoWayOneParameterEchoResponse"/&gt;
-  &lt;/wsdl:message&gt;
-
-  &lt;wsdl:message name="NoParametersRequestMessage"&gt;
-    &lt;wsdl:part name="input" element="impl:NoParametersRequest"/&gt;
-  &lt;/wsdl:message&gt;
-  &lt;wsdl:message name="NoParametersResponseMessage"&gt;
-    &lt;wsdl:part name="output" element="impl:NoParametersResponse"/&gt;
-  &lt;/wsdl:message&gt;
-
-  &lt;wsdl:message name="MultipleParametersAddItemRequestMessage"&gt;
-    &lt;wsdl:part name="input" element="impl:MultipleParametersAddItemRequest"/&gt;
-  &lt;/wsdl:message&gt;
-  &lt;wsdl:message name="MultipleParametersAddItemResponseMessage"&gt;
-    &lt;wsdl:part name="output" element="impl:MultipleParametersAddItemResponse"/&gt;
-  &lt;/wsdl:message&gt;
-
-
-  &lt;!-- Port type (operations) --&gt;
-
-  &lt;wsdl:portType name="Axis2UserGuidePortType"&gt;
-
-    &lt;wsdl:operation name="DoInOnly" parameterOrder="input"&gt;
-      &lt;wsdl:input name="DoInOnlyRequestMessage"
-                  message="impl:DoInOnlyRequestMessage"/&gt;
-    &lt;/wsdl:operation&gt;
-
-    &lt;wsdl:operation name="TwoWayOneParameterEcho" parameterOrder="input"&gt;
-      &lt;wsdl:input name="TwoWayOneParameterEchoRequestMessage"
-                  message="impl:TwoWayOneParameterEchoRequestMessage"/&gt;
-      &lt;wsdl:output name="TwoWayOneParameterEchoResponseMessage"
-                  message="impl:TwoWayOneParameterEchoResponseMessage"/&gt;
-    &lt;/wsdl:operation&gt;
-
-    &lt;wsdl:operation name="NoParameters" parameterOrder="input"&gt;
-      &lt;wsdl:input name="NoParametersRequestMessage"
-                  message="impl:NoParametersRequestMessage"/&gt;
-      &lt;wsdl:output name="NoParametersResponseMessage"
-                   message="impl:NoParametersResponseMessage"/&gt;
-    &lt;/wsdl:operation&gt;
-
-    &lt;wsdl:operation name="MultipleParametersAddItem" parameterOrder="input"&gt;
-      &lt;wsdl:input name="MultipleParametersAddItemRequestMessage"
-                  message="impl:MultipleParametersAddItemRequestMessage"/&gt;
-      &lt;wsdl:output name="MultipleParametersAddItemResponseMessage"
-                  message="impl:MultipleParametersAddItemResponseMessage"/&gt;
-    &lt;/wsdl:operation&gt;
-
-  &lt;/wsdl:portType&gt;
-
-
-  &lt;!-- BINDING (bind operations) --&gt;
-  &lt;wsdl:binding
-     name="Axis2UserGuideSoapBinding"
-     type="impl:Axis2UserGuidePortType"&gt;
-    &lt;wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/&gt;
-
-    &lt;wsdl:operation name="DoInOnly"&gt;
-      &lt;wsdlsoap:operation soapAction="DoInOnly"/&gt;
-      &lt;wsdl:input&gt;
-        &lt;wsdlsoap:body use="literal"/&gt;
-      &lt;/wsdl:input&gt;
-    &lt;/wsdl:operation&gt;
-
-    &lt;wsdl:operation name="TwoWayOneParameterEcho"&gt;
-      &lt;wsdlsoap:operation soapAction="TwoWayOneParameterEcho"/&gt;
-      &lt;wsdl:input&gt;
-        &lt;wsdlsoap:body use="literal"/&gt;
-      &lt;/wsdl:input&gt;
-      &lt;wsdl:output&gt;
-        &lt;wsdlsoap:body use="literal"/&gt;
-      &lt;/wsdl:output&gt;
-    &lt;/wsdl:operation&gt;
-
-    &lt;wsdl:operation name="NoParameters"&gt;
-      &lt;wsdlsoap:operation soapAction="NoParameters"/&gt;
-      &lt;wsdl:input&gt;
-        &lt;wsdlsoap:body use="literal"/&gt;
-      &lt;/wsdl:input&gt;
-      &lt;wsdl:output&gt;
-        &lt;wsdlsoap:body use="literal"/&gt;
-      &lt;/wsdl:output&gt;
-    &lt;/wsdl:operation&gt;
-
-    &lt;wsdl:operation name="MultipleParametersAddItem"&gt;
-      &lt;wsdlsoap:operation soapAction="MultipleParametersAddItem"/&gt;
-      &lt;wsdl:input&gt;
-        &lt;wsdlsoap:body use="literal"/&gt;
-      &lt;/wsdl:input&gt;
-      &lt;wsdl:output&gt;
-        &lt;wsdlsoap:body use="literal"/&gt;
-      &lt;/wsdl:output&gt;
-    &lt;/wsdl:operation&gt;
-  &lt;/wsdl:binding&gt;
-
-
-  &lt;!-- SERVICE --&gt;
-
-  &lt;wsdl:service name="Axis2UserGuideService"&gt;
-    &lt;wsdl:port binding="impl:Axis2UserGuideSoapBinding"
-               name="Axis2UserGuide"&gt;
-      &lt;wsdlsoap:address location="http://localhost:8080/axis2/services/Axis2UserGuide"/&gt;
-    &lt;/wsdl:port&gt;
-  &lt;/wsdl:service&gt;
-&lt;/wsdl:definitions&gt;</pre>
-
-<p>Notice that the document defines four operations, DoInOnly, NoParameters,
-TwoWayOneParameterEcho, and MultipleParametersAddItem. Each of the clients
-will include methods for calling each of these operations.</p>
-
-<p>(You can get more information on WSDL at <a
-href="http://www.w3.org/2002/ws/desc/">http://www.w3.org/2002/ws/desc/</a>
-.)</p>
-
-<p><b>The short story:</b></p>
-<ol>
-  <li>If you have not done it already, <a
-    href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">download</a>
-    and unpack the Apache Axis2 Standard Distribution.</li>
-  <li>Create the client classes with the following command:<br />
-
-    <pre>%AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d xmlbeans -s</pre>
-  </li>
-  <li>Create the client (for example, Client.java) and save it in the
-    org/apache/axis2/axis2userguide directory.</li>
-  <li>Build the client by typing: ant jar.client.</li>
-  <li>Make sure all of the jar files in the Axis2 lib directory are on the
-    CLASSPATH.</li>
-  <li>Assuming you have a corresponding service, run the client by adding the
-    generated Axis2UserGuideService-test-client.jar file in build/lib to the
-    CLASSPATH and typing:
-    <pre>java org.apache.axis2.axis2userguide.Client</pre>
-  </li>
-</ol>
-
-<p><b>The long story:</b></p>
-
-<p>If you have not done it already, <a
-href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">download</a>
-and unpack the Apache Axis2 Standard Distribution. The <a
-href="http://ws.apache.org/axis2/download/1_1/download.cgi#war">WAR
-distribution</a> does not include the necessary utilities for generating
-code, such as WSDL2Java.</p>
-
-<p>The XMLBeans method of generating clients, unlike ADB, creates individual
-classes for each object it must model. For example, generating a client for
-this WSDL file created 642 files and folders. A small number of these files
-are directly related to the actual client you're creating. The rest are
-related to the processing of XML, and include data bound objects for schemas,
-encodings and other objects needed to process messages.</p>
-
-<p>To generate the client, issue the following command in Listing 2.</p>
-
-<p><b>Code Listing 2. Generating the client</b></p>
-<pre>%AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d xmlbeans -s</pre>
-
-<p>This command analyzes the WSDL file and creates the stubs in the package
-org.apache.axis2.axis2userguide. The options specify that you want the
-XMLBeans data binding method (-d), and synchronous, or blocking, methods
-(-s). In other words, when the client makes an In-Out call to the service, it
-will wait for a response before continuing.</p>
-
-<p>Once you run this command, you will see several new items in the
-directory. The first is the build.xml file, which contains the instructions
-for <a href="http://ant.apache.org/">Ant</a> to compile the generated
-classes. The second is the src directory, which contains all of the generated
-classes. The third is the resources directory, which includes files related
-to the actual data binding process.</p>
-
-<p>Now you need a client. To create a client, create a new class and save it
-as Client.java in the org/apache/axis2/axis2userguide directory. It should
-contain the following code in Listing 3.</p>
-
-<p><b>Code Listing 3: Client.java</b></p>
-<pre>package org.apache.axis2.axis2userguide;
-
-public class Client{
-    public static void main(java.lang.String args[]){
-        try{
-            Axis2UserGuideServiceStub stub =
-                new Axis2UserGuideServiceStub
-                ("http://localhost:8080/axis2/services/Axis2UserGuideService");
-
-            doInOnly(stub);
-            twoWayOneParameterEcho(stub);
-            noParameters(stub);
-            multipleParameters(stub);
-
-        } catch(Exception e){
-            e.printStackTrace();
-            System.out.println("\n\n\n");
-        }
-    }
-
-    /* fire and forget */
-    public static void doInOnly(Axis2UserGuideServiceStub stub){
-        try{
-            DoInOnlyRequestDocument req =
-                DoInOnlyRequestDocument.Factory.newInstance();
-            DoInOnlyRequestDocument.DoInOnlyRequest data =
-                req.addNewDoInOnlyRequest();
-
-            data.setMessageString("fire and forget it!");
-
-            stub.DoInOnly(req);
-            System.out.println("done");
-        } catch(Exception e){
-            e.printStackTrace();
-            System.out.println("\n\n\n");
-        }
-    }
-
-    /* two way call/receive */
-    public static void twoWayOneParameterEcho(Axis2UserGuideServiceStub stub){
-        try{
-            TwoWayOneParameterEchoRequestDocument req =
-                TwoWayOneParameterEchoRequestDocument.Factory.newInstance();
-            TwoWayOneParameterEchoRequestDocument.TwoWayOneParameterEchoRequest data =
-                req.addNewTwoWayOneParameterEchoRequest();
-
-            data.setEchoString("echo! ... echo!");
-
-            TwoWayOneParameterEchoResponseDocument res =
-                stub.TwoWayOneParameterEcho(req);
-
-            System.out.println(res.getTwoWayOneParameterEchoResponse().getEchoString());
-        } catch(Exception e){
-            e.printStackTrace();
-            System.out.println("\n\n\n");
-        }
-    }
-
-    /* No parameters */
-    public static void noParameters(Axis2UserGuideServiceStub stub){
-        try{
-            NoParametersRequestDocument req =
-                NoParametersRequestDocument.Factory.newInstance();
-            NoParametersRequestDocument.NoParametersRequest data =
-                req.addNewNoParametersRequest();
-
-            System.out.println(stub.NoParameters(req));
-        } catch(Exception e){
-            e.printStackTrace();
-            System.out.println("\n\n\n");
-        }
-    }
-
-    /* multiple parameters */
-    public static void multipleParameters(Axis2UserGuideServiceStub stub){
-        try{
-            MultipleParametersAddItemRequestDocument req =
-                MultipleParametersAddItemRequestDocument.Factory.newInstance();
-            MultipleParametersAddItemRequestDocument.
-                MultipleParametersAddItemRequest data =
-                req.addNewMultipleParametersAddItemRequest();
-
-            data.setPrice((float)1.99);
-            data.setItemId((int)23872983);
-            data.setDescription("Must have for cooking");
-            data.setItemName("flour");
-
-            MultipleParametersAddItemResponseDocument res =
-                stub.MultipleParametersAddItem(req);
-            MultipleParametersAddItemResponseDocument.
-                MultipleParametersAddItemResponse dataRes =
-                res.getMultipleParametersAddItemResponse();
-
-            System.out.println(dataRes.getSuccessfulAdd());
-            System.out.println(dataRes.getItemId());
-        } catch(Exception e){
-            e.printStackTrace();
-            System.out.println("\n\n\n");
-        }
-    }
-}</pre>
-
-<p>XMLBeans uses a different architecture from ADB. In XMLBeans, processing
-centers around documents, which are created through the use of factories, and
-which include inner classes for the objects they contain. The process is
-still the same -- you create a request, and send it using the stub -- the
-code is just a bit more complex.</p>
-
-<p>To build the client, type: ant jar.client</p>
-
-<p>This action creates two new directories, build and test. The test
-directory will be empty, but the build directory contains two versions of the
-client. The first version, in the lib directory, consists of two jar files,
-one containing the Client class and the stub implementations, and the other
-containing the XMLBeans-related classes. The second version, in the classes
-directory, consists of just the raw classes.</p>
-
-<p>Make sure all of the jar files in the Axis2 lib directory are on the
-classpath.</p>
-
-<p>If you have a service corresponding to this client -- if you don't, check
-out the <a href="userguide-buildingservices.html">Building Services</a>
-document -- you can run the client by adding the two jar files to your
-classpath and typing: java org.apache.axis2.axis2userguide.Client</p>
-
-<p>You should see the response in a console window of your servlet container.
-It should look something like this:</p>
-
-<p><img alt="Response in a console window of your servlet container"
-src="images/fig04.jpg" /><br clear="all" />
-</p>
-</body>
-</html>
+<?xml version="1.0" encoding=""?>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <meta http-equiv="content-type" content="" />
+  <title>Generating a Web Service Client using Axis2 and XmlBeans</title>
+  <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+  media="all" />
+</head>
+
+<body>
+<h1 class="title">Generating a Web Service Client using Apache Axis2 and
+XMLBeans</h1>
+
+<p>This document explains how to generate a Web service client using Apache
+Axis2 and XMLBeans data binding. The service has the following WSDL:</p>
+
+<p><b>Code Listing 1: The WSDL file</b></p>
+<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;wsdl:definitions
+   xmlns:apachesoap="http://xml.apache.org/xml-soap"
+   xmlns:impl="http://apache.org/axis2/Axis2UserGuide"
+   xmlns:intf="http://apache.org/axis2/Axis2UserGuide"
+   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+   xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
+   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+   targetNamespace="http://apache.org/axis2/Axis2UserGuide"&gt;
+
+  &lt;wsdl:types&gt;
+    &lt;schema
+       elementFormDefault="qualified"
+       targetNamespace="http://apache.org/axis2/Axis2UserGuide"
+       xmlns="http://www.w3.org/2001/XMLSchema"&gt;
+      
+      &lt;!-- ELEMENTS --&gt;
+      
+      &lt;element name="DoInOnlyRequest"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name="messageString" type="xsd:string"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name="TwoWayOneParameterEchoRequest"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name="echoString" type="xsd:string"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      &lt;element name="TwoWayOneParameterEchoResponse"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name="echoString" type="xsd:string"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name="NoParametersRequest"&gt;
+        &lt;complexType/&gt;
+      &lt;/element&gt;
+      &lt;element name="NoParametersResponse"&gt;
+        &lt;complexType/&gt;
+      &lt;/element&gt;
+      
+      &lt;element name="MultipleParametersAddItemRequest"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name="itemId" type="xsd:int"/&gt;
+            &lt;element name="itemName" type="xsd:string"/&gt;
+            &lt;element name="price" type="xsd:float"/&gt;
+            &lt;element name="description" type="xsd:string"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+
+      &lt;element name="MultipleParametersAddItemResponse"&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+          &lt;element name="itemId" type="xsd:int"/&gt;
+          &lt;element name="successfulAdd" type="xsd:boolean"/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+
+    &lt;/schema&gt;
+  &lt;/wsdl:types&gt;
+
+  
+  &lt;!-- MESSAGES --&gt;
+
+  &lt;wsdl:message name="DoInOnlyRequestMessage"&gt;
+    &lt;wsdl:part name="input" element="impl:DoInOnlyRequest"/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name="TwoWayOneParameterEchoRequestMessage"&gt;
+    &lt;wsdl:part name="input" element="impl:TwoWayOneParameterEchoRequest"/&gt;
+  &lt;/wsdl:message&gt;
+  &lt;wsdl:message name="TwoWayOneParameterEchoResponseMessage"&gt;
+    &lt;wsdl:part name="output" element="impl:TwoWayOneParameterEchoResponse"/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name="NoParametersRequestMessage"&gt;
+    &lt;wsdl:part name="input" element="impl:NoParametersRequest"/&gt;
+  &lt;/wsdl:message&gt;
+  &lt;wsdl:message name="NoParametersResponseMessage"&gt;
+    &lt;wsdl:part name="output" element="impl:NoParametersResponse"/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name="MultipleParametersAddItemRequestMessage"&gt;
+    &lt;wsdl:part name="input" element="impl:MultipleParametersAddItemRequest"/&gt;
+  &lt;/wsdl:message&gt;
+  &lt;wsdl:message name="MultipleParametersAddItemResponseMessage"&gt;
+    &lt;wsdl:part name="output" element="impl:MultipleParametersAddItemResponse"/&gt;
+  &lt;/wsdl:message&gt;
+
+
+  &lt;!-- Port type (operations) --&gt;
+
+  &lt;wsdl:portType name="Axis2UserGuidePortType"&gt;
+
+    &lt;wsdl:operation name="DoInOnly" parameterOrder="input"&gt;
+      &lt;wsdl:input name="DoInOnlyRequestMessage"
+                  message="impl:DoInOnlyRequestMessage"/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name="TwoWayOneParameterEcho" parameterOrder="input"&gt;
+      &lt;wsdl:input name="TwoWayOneParameterEchoRequestMessage"
+                  message="impl:TwoWayOneParameterEchoRequestMessage"/&gt;
+      &lt;wsdl:output name="TwoWayOneParameterEchoResponseMessage"
+                  message="impl:TwoWayOneParameterEchoResponseMessage"/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name="NoParameters" parameterOrder="input"&gt;
+      &lt;wsdl:input name="NoParametersRequestMessage"
+                  message="impl:NoParametersRequestMessage"/&gt;
+      &lt;wsdl:output name="NoParametersResponseMessage"
+                   message="impl:NoParametersResponseMessage"/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name="MultipleParametersAddItem" parameterOrder="input"&gt;
+      &lt;wsdl:input name="MultipleParametersAddItemRequestMessage"
+                  message="impl:MultipleParametersAddItemRequestMessage"/&gt;
+      &lt;wsdl:output name="MultipleParametersAddItemResponseMessage"
+                  message="impl:MultipleParametersAddItemResponseMessage"/&gt;
+    &lt;/wsdl:operation&gt;
+
+  &lt;/wsdl:portType&gt;
+
+
+  &lt;!-- BINDING (bind operations) --&gt;
+  &lt;wsdl:binding
+     name="Axis2UserGuideSoapBinding"
+     type="impl:Axis2UserGuidePortType"&gt;
+    &lt;wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/&gt;
+
+    &lt;wsdl:operation name="DoInOnly"&gt;
+      &lt;wsdlsoap:operation soapAction="DoInOnly"/&gt;
+      &lt;wsdl:input&gt;
+        &lt;wsdlsoap:body use="literal"/&gt;
+      &lt;/wsdl:input&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name="TwoWayOneParameterEcho"&gt;
+      &lt;wsdlsoap:operation soapAction="TwoWayOneParameterEcho"/&gt;
+      &lt;wsdl:input&gt;
+        &lt;wsdlsoap:body use="literal"/&gt;
+      &lt;/wsdl:input&gt;
+      &lt;wsdl:output&gt;
+        &lt;wsdlsoap:body use="literal"/&gt;
+      &lt;/wsdl:output&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name="NoParameters"&gt;
+      &lt;wsdlsoap:operation soapAction="NoParameters"/&gt;
+      &lt;wsdl:input&gt;
+        &lt;wsdlsoap:body use="literal"/&gt;
+      &lt;/wsdl:input&gt;
+      &lt;wsdl:output&gt;
+        &lt;wsdlsoap:body use="literal"/&gt;
+      &lt;/wsdl:output&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name="MultipleParametersAddItem"&gt;
+      &lt;wsdlsoap:operation soapAction="MultipleParametersAddItem"/&gt;
+      &lt;wsdl:input&gt;
+        &lt;wsdlsoap:body use="literal"/&gt;
+      &lt;/wsdl:input&gt;
+      &lt;wsdl:output&gt;
+        &lt;wsdlsoap:body use="literal"/&gt;
+      &lt;/wsdl:output&gt;
+    &lt;/wsdl:operation&gt;
+  &lt;/wsdl:binding&gt;
+
+
+  &lt;!-- SERVICE --&gt;
+
+  &lt;wsdl:service name="Axis2UserGuideService"&gt;
+    &lt;wsdl:port binding="impl:Axis2UserGuideSoapBinding"
+               name="Axis2UserGuide"&gt;
+      &lt;wsdlsoap:address location="http://localhost:8080/axis2/services/Axis2UserGuide"/&gt;
+    &lt;/wsdl:port&gt;
+  &lt;/wsdl:service&gt;
+&lt;/wsdl:definitions&gt;</pre>
+
+<p>Note that the document defines four operations, DoInOnly, NoParameters,
+TwoWayOneParameterEcho, and MultipleParametersAddItem. Each client will
+include methods for calling each of these operations.</p>
+
+<p>(For more information on WSDL, refer to: <a
+href="http://www.w3.org/2002/ws/desc/">http://www.w3.org/2002/ws/desc/</a>
+.)</p>
+
+<p><b>The short story:</b></p>
+<ol>
+  <li><a
+    href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">Download</a>
+    and unpack the Apache Axis2 Standard Distribution, if you have not done
+    so already.</li>
+  <li>Create the client classes with the following command:<br />
+
+    <pre>%AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d xmlbeans -s</pre>
+  </li>
+  <li>Create the client (for example, Client.java) and save it in the
+    org/apache/axis2/axis2userguide directory.</li>
+  <li>Build the client by typing: <code>ant jar.client.</code></li>
+  <li>Make sure all the .jar files in the Axis2 lib directory are in the
+    CLASSPATH.</li>
+  <li>Assuming you have a corresponding service, run the client by adding the
+    generated Axis2UserGuideService-test-client.jar file in build/lib to the
+    CLASSPATH and type: <code>java
+    org.apache.axis2.axis2userguide.Client</code></li>
+</ol>
+
+<p><b>The long story:</b></p>
+
+<p><a
+href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">Download</a>
+and unpack the Apache Axis2 Standard Distribution, if you have not done so
+already. The <a
+href="http://ws.apache.org/axis2/download/1_1/download.cgi#war">WAR
+distribution</a> does not include the necessary utilities for generating
+code, such as WSDL2Java.</p>
+
+<p>The XMLBeans method of generating clients, unlike ADB, creates individual
+classes for each object it must model. For example, generating a client for
+this WSDL file created 642 files and folders. A small number of these files
+are directly related to the actual client you're creating. The rest are
+related to the processing of XML, and include data bound objects for schemas,
+encodings, and other objects needed to process messages.</p>
+
+<p>To generate the client, issue the following command in Listing 2.</p>
+
+<p><b>Code Listing 2. Generating the client</b></p>
+<pre>%AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d xmlbeans -s</pre>
+
+<p>This command analyzes the WSDL file and creates the stubs in the package
+org.apache.axis2.axis2userguide. The options specify that you want the
+XMLBeans data binding method (-d), and synchronous or blocking methods (-s).
+In other words, when the client makes an In-Out call to the service, it will
+wait for a response before continuing.</p>
+
+<p>Once you run this command, you will see several new items in the
+directory. The first is the build.xml file, which contains the instructions
+for <a href="http://ant.apache.org/">Ant</a> to compile the generated
+classes. The second is the src directory, which contains all the generated
+classes. The third is the resources directory, which includes files related
+to the actual data binding process.</p>
+
+<p>Now you need a client. To create a client, create a new class and save it
+as Client.java in the org/apache/axis2/axis2userguide directory. It should
+contain the following code in Listing 3.</p>
+
+<p><b>Code Listing 3: Client.java</b></p>
+<pre>package org.apache.axis2.axis2userguide;
+
+public class Client{
+    public static void main(java.lang.String args[]){
+        try{
+            Axis2UserGuideServiceStub stub =
+                new Axis2UserGuideServiceStub
+                ("http://localhost:8080/axis2/services/Axis2UserGuideService");
+
+            doInOnly(stub);
+            twoWayOneParameterEcho(stub);
+            noParameters(stub);
+            multipleParameters(stub);
+
+        } catch(Exception e){
+            e.printStackTrace();
+            System.out.println("\n\n\n");
+        }
+    }
+
+    /* fire and forget */
+    public static void doInOnly(Axis2UserGuideServiceStub stub){
+        try{
+            DoInOnlyRequestDocument req =
+                DoInOnlyRequestDocument.Factory.newInstance();
+            DoInOnlyRequestDocument.DoInOnlyRequest data =
+                req.addNewDoInOnlyRequest();
+
+            data.setMessageString("fire and forget it!");
+
+            stub.DoInOnly(req);
+            System.out.println("done");
+        } catch(Exception e){
+            e.printStackTrace();
+            System.out.println("\n\n\n");
+        }
+    }
+
+    /* two way call/receive */
+    public static void twoWayOneParameterEcho(Axis2UserGuideServiceStub stub){
+        try{
+            TwoWayOneParameterEchoRequestDocument req =
+                TwoWayOneParameterEchoRequestDocument.Factory.newInstance();
+            TwoWayOneParameterEchoRequestDocument.TwoWayOneParameterEchoRequest data =
+                req.addNewTwoWayOneParameterEchoRequest();
+
+            data.setEchoString("echo! ... echo!");
+
+            TwoWayOneParameterEchoResponseDocument res =
+                stub.TwoWayOneParameterEcho(req);
+
+            System.out.println(res.getTwoWayOneParameterEchoResponse().getEchoString());
+        } catch(Exception e){
+            e.printStackTrace();
+            System.out.println("\n\n\n");
+        }
+    }
+
+    /* No parameters */
+    public static void noParameters(Axis2UserGuideServiceStub stub){
+        try{
+            NoParametersRequestDocument req =
+                NoParametersRequestDocument.Factory.newInstance();
+            NoParametersRequestDocument.NoParametersRequest data =
+                req.addNewNoParametersRequest();
+
+            System.out.println(stub.NoParameters(req));
+        } catch(Exception e){
+            e.printStackTrace();
+            System.out.println("\n\n\n");
+        }
+    }
+
+    /* multiple parameters */
+    public static void multipleParameters(Axis2UserGuideServiceStub stub){
+        try{
+            MultipleParametersAddItemRequestDocument req =
+                MultipleParametersAddItemRequestDocument.Factory.newInstance();
+            MultipleParametersAddItemRequestDocument.
+                MultipleParametersAddItemRequest data =
+                req.addNewMultipleParametersAddItemRequest();
+
+            data.setPrice((float)1.99);
+            data.setItemId((int)23872983);
+            data.setDescription("Must have for cooking");
+            data.setItemName("flour");
+
+            MultipleParametersAddItemResponseDocument res =
+                stub.MultipleParametersAddItem(req);
+            MultipleParametersAddItemResponseDocument.
+                MultipleParametersAddItemResponse dataRes =
+                res.getMultipleParametersAddItemResponse();
+
+            System.out.println(dataRes.getSuccessfulAdd());
+            System.out.println(dataRes.getItemId());
+        } catch(Exception e){
+            e.printStackTrace();
+            System.out.println("\n\n\n");
+        }
+    }
+}</pre>
+
+<p>XMLBeans uses a different architecture from ADB. In XMLBeans, processing
+centers around documents, which are created through the use of factories, and
+which include inner classes for the objects they contain. The process is
+still the same -- you create a request, and send it using the stub -- the
+code is just a bit more complex.</p>
+
+<p>To build the client, type: <code>ant jar.client</code></p>
+
+<p>This action creates two new directories, build and test. The test
+directory will be empty, but the build directory will contain two versions of
+the client. The first version in the lib directory consists of two .jar
+files, one containing the Client class and the stub implementations, and the
+other containing the XMLBeans-related classes. The second version in the
+classes directory consists of just the raw classes.</p>
+
+<p>Make sure all the .jar files in the Axis2 lib directory are on the
+classpath.</p>
+
+<p>If you have a service corresponding to this client (if you don't, check
+out the <a href="userguide-buildingservices.html">Building Services</a>
+document) you can run the client by adding the two .jar files to your
+classpath and typing:
+<code>java.org.apache.axis2.axis2userguide.Client</code></p>
+
+<p>You should see the response in a console window of your servlet container.
+It should look something like this:</p>
+
+<p><img alt="Response in a console window of your servlet container"
+src="images/fig04.jpg" /><br clear="all" />
+</p>
+</body>
+</html>

Modified: webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients.html?view=diff&rev=523602&r1=523601&r2=523602
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients.html Thu Mar 29 00:32:33 2007
@@ -3,7 +3,7 @@
   <meta http-equiv="content-type" content="">
   <title>Apache Axis2 User's Guide- Creating Clients</title>
   <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
-  media="all" />
+  media="all">
 </head>
 
 <body>
@@ -23,21 +23,21 @@
   <li><a href="userguide.html#intro">Introducing Axis2</a><br>
 
     <ul>
-      <li><a href="userguide.html#whatis">What is Axis2</a></li>
-      <li><a href="userguide.html#underhood">What's under the hood?</a></li>
-      <li><a href="userguide.html#handlessoap">How Axis2 handles SOAP
-        messages</a></li>
-      <li><a href="userguide.html#distributions">Axis2 distributions</a></li>
+      <li><a href="userguide.html#whatis">What is Axis2?</a></li>
+      <li><a href="userguide.html#underhood">What's Under the hood?</a></li>
+      <li><a href="userguide.html#handlessoap">How Axis2 Handles SOAP
+        Messages</a></li>
+      <li><a href="userguide.html#distributions">Axis2 Distributions</a></li>
       <li><a href="userguide.html#sbd">The Axis2 Standard Binary
         Distribution</a></li>
       <li><a href="userguide.html#hierarchy">Axis2.war Directory
       hierarchy</a></li>
       <li><a href="userguide.html#docs">Axis2 Documents Distribution</a></li>
-      <li><a href="userguide.html#clients">Axis2 and clients</a></li>
+      <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>
+    and Testing Client Code</a></li>
   <li><a href="userguide-introtoservices.html#introservices">Introduction to
     Services</a><br>
 
@@ -67,11 +67,11 @@
       <li><a href="userguide-buildingservices.html#getcomfortable">Getting
         Comfortable with Available Options</a></li>
       <li><a href="userguide-buildingservices.html#createscratch">Creating a
-        service from scratch</a></li>
+        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>
+        Running an Axis2 Service Created from WSDL</a></li>
     </ul>
   </li>
   <li><a href="userguide-samples.html">Samples</a></li>
@@ -82,7 +82,7 @@
 <h2>Choosing a Client Generation Method</h2>
 
 <p>Axis2 gives you several options when it comes to mapping WSDL to objects
-in generating clients. Three of these options are Axis2 DataBinding
+when generating clients. Three of these options are Axis2 DataBinding
 Framework, XMLBeans, and JiBX databinding. All of these methods involve using
 databinding to create Java objects out of the XML structures used by the
 service, and each has its pros and cons. You can also generate XML in-out
@@ -98,18 +98,18 @@
 <p>XMLBeans: Unlike ADB, XMLBeans is a fully functional schema compiler, so
 it doesn't carry the same limitations as ADB. It is, however, a bit more
 complicated to use than ADB. It generates a huge number of files, and the
-programming model, while certainly usable, is not as straightforward as
+programming model, while being certainly usable, is not as straightforward as
 ADB.</p>
 
-<p>JiBX: JiBX is a full databinding framework that actually provides not only
-WSDL-to-Java conversion, as covered in this document, but also Java-to-XML
-conversion. In some ways, JiBX provides the best of both worlds. JiBX is
-extremely flexible, enabling you to choose the classes that represent your
-entities, but it can be complicated to set up. On the other hand, once it is
-set up, actually using the generated code is as easy as using ADB.</p>
+<p>JiBX: JiBX is a complete databinding framework that actually provides not
+only WSDL-to-Java conversion, as covered in this document, but also
+Java-to-XML conversion. In some ways, JiBX provides the best of both worlds.
+JiBX is extremely flexible, enabling you to choose the classes that represent
+your entities, but it can be complicated to set up. On the other hand, once
+it is set up, actually using the generated code is as easy as using ADB.</p>
 
 <p>In the end, for simple structures, ADB will likely be enough for you. If,
-on the other hand, you need more power or flexibility, whether you choose
+on the other hand you need more power or flexibility, whether you choose
 XMLBeans or JiBX depends on how much power or flexibility you need and your
 tolerance for complexity.</p>
 <a name="generating"></a>
@@ -121,7 +121,7 @@
 clients are generated from the same WSDL file (see <a
 href="userguide-codelisting5.html">Code Listing 5</a>).</p>
 
-<p>Notice that the document defines four operations, DoInOnly, NoParameters,
+<p>Note that the document defines four operations, DoInOnly, NoParameters,
 TwoWayOneParameterEcho, and MultipleParametersAddItem. Each of the clients
 will include methods for calling each of these operations.</p>
 
@@ -136,34 +136,33 @@
 
 <p><b>The short story:</b></p>
 <ol>
-  <li>href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin"If
-    you have not done it already, <a href="">download</a> and unpack the
-    Apache Axis2 Standard Distribution.</li>
+  <li>href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin" <a
+    href="">Download</a> and unpack the Apache Axis2 Standard Distribution,
+    if you have not done it already.</li>
   <li>Create the client stub with the following command:
     <pre>%AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d adb -s</pre>
   </li>
   <li>Create the client (for example, Client.java), a Java application that
     uses the generated stub, and save it in the
     org/apache/axis2/axis2userguide directory.</li>
-  <li>Build the client by typing ant jar.client.</li>
+  <li>Build the client by typing: ant jar.client.</li>
   <li>Assuming you have a corresponding service, run the client by adding the
     generated Axis2UserGuideService-test-client.jar file located in build/lib
-    to the classpath and typing:
-    <pre>java org.apache.axis2.axis2userguide.Client</pre>
-  </li>
+    to the classpath and type: java
+  org.apache.axis2.axis2userguide.Client</li>
 </ol>
 
 <p><b>The long story:</b></p>
 
 <p>If you have not done it already, <a
 href="http://ws.apache.org/axis2/download/1_1/download.cgi#std-bin">download</a>
-and unpack the Apache Axis2 Standard Distribution. The Axis2 War Distribution
+and unpack the Apache Axis2 Standard Distribution. The Axis2 WAR Distribution
 does not include the necessary utilities for generating code, such as
 WSDL2Java.</p>
 
-<p>In the ADB method of generating clients, all the functionality for the
-services are contained a single class called a stub. The stub contains inner
-classes corresponding to all of the necessary objects defined in the WSDL
+<p>In the ADB method of generating clients, all the functionalities of the
+services are contained in a single class called a stub. The stub contains
+inner classes corresponding to all the necessary objects defined in the WSDL
 file, such as, in the case of this WSDL, DoInOnlyRequestMessage. Once you
 have the stub, you will be able to create a client by simply referring to
 these classes and their methods. To generate the client, issue the following
@@ -174,60 +173,62 @@
 
 <p>This command analyzes the WSDL file and creates the stub in the package
 org.apache.axis2.axis2userguide. The options specify that you want the ADB
-data binding method (-d), and synchronous, or blocking, methods (-s). In
-other words, when the client makes a In-Out call to the service, it will wait
-for a response before continuing.</p>
+data binding method (-d), and synchronous or blocking, methods (-s). In other
+words, when the client makes an In-Out call to the service, it will wait for
+a response before continuing.</p>
 
 <p>Once you run this command, you will see two new items in the directory.
 The first is the build.xml file, which contains the instructions for <a
 href="http://ant.apache.org/">Ant</a> to compile the generated classes. The
 second is the src directory, which contains the actual
 Axis2UserGuideServiceStub.java file. If you open this file, you will see a
-collection of inner classes for each of the items in the wsdl file. You'll
+collection of inner classes for each of the items in the WSDL file. You'll
 also see a number of calls to the Axis2 client API, including those that use
-axiom to build and analyze the incoming and outgoing messages.</p>
+AXIOM to build and analyze the incoming and outgoing messages.</p>
 
 <p>Now you need a client to make use of this code. To create a client, create
 a new class and save it as Client.java in the org/apache/axis2/axis2userguide
 directory. It should contain the following code in <a
 href="userguide-codelisting7.html">Code Listing 7</a>.</p>
 
-<p>Notice that using the service is simply a matter of creating and
-populating the appropriate type of request using the names defined in the
-WSDL file, and then using the stub to actually send the request to the
-appropriate method. For example, to call the DoInOnly operation, you create a
-DoInOnlyRequest, use its setMessageString() method to set the contents of its
-messageString element, and pass it as an argument to stub.DoInOnly().</p>
+<p>Note that using the service is simply a matter of creating and populating
+the appropriate type of request using the names defined in the WSDL file, and
+then using the stub to actually send the request to the appropriate method.
+For example, to call the DoInOnly operation, you create a DoInOnlyRequest,
+use its setMessageString() method to set the contents of its messageString
+element, and pass it as an argument to stub.DoInOnly().</p>
 
 <p>To build the client, type: ant jar.client</p>
 
 <p>This action creates two new directories, build and test. The test
 directory will be empty, but the build directory contains two versions of the
-client. The first version, in the lib directory, is a jar file that contains
-the Client class and the stub. The second, in the classes directory, is just
-the raw classes.</p>
+client. The first version, in the lib directory, is a .jar file that contains
+the client class and the stub. The second, in the classes directory, is just
+raw classes.</p>
 
-<p>Make sure all of the jar files in the Axis2 lib directory are on the
+<p>Make sure all the jar files in the Axis2 lib directory are in the
 classpath.</p>
 
-<p>If you have a service corresponding to this client -- if you don't, check
-out the <a href="userguide-buildingservices.html">Building services</a>
-document -- you can run the client by adding the jar file to your classpath
-and typing: java org.apache.axis2.axis2userguide.Client</p>
+<p>If you have a service corresponding to this client you can run the client
+by adding the jar file to your classpath and typing: java
+org.apache.axis2.axis2userguide.Client </p>
+
+<p>(If you don't have such a service,, refer to the <a
+href="userguide-buildingservices.html">Building services</a> document.)</p>
 
-<p>You should see the response in a console window of your servlet container.
-It should look something like this:</p>
+<p>You should see the response in the console window of your servlet
+container. It should look something like this:</p>
 
 <p><img alt="Response in a console window of your servlet container"
 src="images/fig03.jpg"><br clear="all">
 </p>
 
-<p>ADB is not your only option for generating web service clients. Other
+<p>ADB is not your only option for generating Web service clients. Other
 options include <a
 href="userguide-creatingclients-xmlbeans.html">XmlBeans</a>, <a
 href="userguide-creatingclients-jibx.html">JiBX</a>, JAXME and JAXBRI.</p>
 
-<p><strong>See Next Section</strong> -<a
+<p><strong>See the Next Section</strong> -<a
 href="userguide-buildingservices.html#buildservices">Building Services</a></p>
 </body>
 </html>



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