You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2008/08/25 20:10:09 UTC
svn commit: r688807 [15/17] - in /webservices/axis2/site/1_4_1: ./ adb/
adb/images/ images/ images/archi-guide/ images/userguide/ jibx/ src/
Added: webservices/axis2/site/1_4_1/userguide-codelisting7.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/userguide-codelisting7.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/userguide-codelisting7.html (added)
+++ webservices/axis2/site/1_4_1/userguide-codelisting7.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,414 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Apache Axis2 - </title>
+ <style type="text/css" media="all">
+ @import url("../css/maven-base.css");
+ @import url("../css/maven-theme.css");
+ @import url("../css/site.css");
+ </style>
+ <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="../" id="bannerLeft">
+
+ <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+
+ </a>
+ <span id="bannerRight">
+
+ <img src="../../images/axis.jpg" alt="" />
+
+ </span>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 2008-08-24
+ </div>
+ <div class="xright"> <a href="../index.html">Axis2/Java</a>
+ |
+ <a href="../../c">Axis2/C</a>
+ |
+ <a href="../../..">Apache WS</a>
+ |
+ <a href="http://www.apache.org" class="externalLink">Apache</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Axis2/Java</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../index.html">Home</a>
+ </li>
+ </ul>
+ <h5>Downloads</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../download.cgi">Releases</a>
+ </li>
+
+ <li class="none">
+ <a href="../modules/index.html">Modules</a>
+ </li>
+
+ <li class="none">
+ <a href="../tools/index.html">Tools</a>
+ </li>
+ </ul>
+ <h5>Documentation</h5>
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="expanded">
+ <a href="../1_4_1/contents.html">Version 1.4.1</a>
+ <ul>
+
+ <li class="none">
+ <a href="../1_4_1/toc.html">Table of Contents</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/installationguide.html">Installation Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/quickstartguide.html">QuickStart Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/userguide.html">User Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/jaxws-guide.html">JAXWS Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/pojoguide.html">POJO Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/spring.html">Spring Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/webadminguide.html">Web Administrator's Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/migration.html">Migration Guide (from Axis1)</a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="none">
+ <a href="../1_4/contents.html">Version 1.4</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_3/contents.html">Version 1.3</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_2/contents.html">Version 1.2</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_1_1/contents.html">Version 1.1.1</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_1/contents.html">Version 1.1</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_0/index.html">Version 1.0</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_95/index.html">Version 0.95</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_94/index.html">Version 0.94</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_93/index.html">Version 0.93</a>
+ </li>
+ </ul>
+ <h5>Resources</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../faq.html">FAQ</a>
+ </li>
+
+ <li class="none">
+ <a href="../articles.html">Articles</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="../refLib.html">Reference Library</a>
+ </li>
+
+ <li class="none">
+ <a href="../../1_4_1/api/index.html">Online Java Docs</a>
+ </li>
+ </ul>
+ <h5>Get Involved</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../overview.html">Overview</a>
+ </li>
+
+ <li class="none">
+ <a href="../svn.html">Checkout the Source</a>
+ </li>
+
+ <li class="none">
+ <a href="../mail-lists.html">Mailing Lists</a>
+ </li>
+
+ <li class="none">
+ <a href="../release-process.html">Release Process</a>
+ </li>
+
+ <li class="none">
+ <a href="../guidelines.html">Developer Guidelines</a>
+ </li>
+
+ <li class="none">
+ <a href="../siteHowTo.html">Build the Site</a>
+ </li>
+ </ul>
+ <h5>Project Information</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../team-list.html">Project Team</a>
+ </li>
+
+ <li class="none">
+ <a href="../issue-tracking.html">Issue Tracking</a>
+ </li>
+
+ <li class="none">
+ <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+ </li>
+
+ <li class="none">
+ <a href="../thanks.html">Acknowledgements</a>
+ </li>
+
+ <li class="none">
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">Code Listing 6: Client.java<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><h1>Code Listing 7- Client.java</h1><pre>
+package org.apache.axis2.axis2userguide;
+
+import org.apache.axis2.axis2userguide.Axis2UserGuideServiceStub.DoInOnlyRequest;
+import org.apache.axis2.axis2userguide.Axis2UserGuideServiceStub.TwoWayOneParameterEchoRequest;
+import org.apache.axis2.axis2userguide.Axis2UserGuideServiceStub.NoParametersRequest;
+import org.apache.axis2.axis2userguide.Axis2UserGuideServiceStub.MultipleParametersAddItemRequest;
+
+import org.apache.axis2.axis2userguide.Axis2UserGuideServiceStub.TwoWayOneParameterEchoResponse;
+import org.apache.axis2.axis2userguide.Axis2UserGuideServiceStub.NoParametersResponse;
+import org.apache.axis2.axis2userguide.Axis2UserGuideServiceStub.MultipleParametersAddItemResponse;
+
+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");
+ }
+ }
+
+ /* do in only */
+ public static void doInOnly(Axis2UserGuideServiceStub stub){
+ try{
+ DoInOnlyRequest req = new DoInOnlyRequest();
+
+ req.setMessageString("An in only request");
+
+ 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{
+ TwoWayOneParameterEchoRequest req = new TwoWayOneParameterEchoRequest();
+
+ req.setEchoString("echo! ... echo!");
+
+ TwoWayOneParameterEchoResponse res =
+ stub.TwoWayOneParameterEcho(req);
+
+ System.out.println(res.getEchoString());
+ } catch(Exception e){
+ e.printStackTrace();
+ System.out.println("\n\n\n");
+ }
+ }
+
+ /* No parameters */
+ public static void noParameters(Axis2UserGuideServiceStub stub){
+ try{
+ NoParametersRequest req = new NoParametersRequest();
+
+ 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{
+ MultipleParametersAddItemRequest req =
+ new MultipleParametersAddItemRequest();
+
+ req.setPrice((float)1.99);
+ req.setItemId((int)23872983);
+ req.setDescription("Must have for cooking");
+ req.setItemName("flour");
+
+ MultipleParametersAddItemResponse res =
+ stub.MultipleParametersAddItem(req);
+
+ System.out.println(res.getSuccessfulAdd());
+ System.out.println(res.getItemId());
+ } catch(Exception e){
+ e.printStackTrace();
+ System.out.println("\n\n\n");
+ }
+ }
+}
+</pre></html>
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2008
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Added: webservices/axis2/site/1_4_1/userguide-creatingclients-jibx.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/userguide-creatingclients-jibx.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/userguide-creatingclients-jibx.html (added)
+++ webservices/axis2/site/1_4_1/userguide-creatingclients-jibx.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,774 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Apache Axis2 - </title>
+ <style type="text/css" media="all">
+ @import url("../css/maven-base.css");
+ @import url("../css/maven-theme.css");
+ @import url("../css/site.css");
+ </style>
+ <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="../" id="bannerLeft">
+
+ <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+
+ </a>
+ <span id="bannerRight">
+
+ <img src="../../images/axis.jpg" alt="" />
+
+ </span>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 2008-08-24
+ </div>
+ <div class="xright"> <a href="../index.html">Axis2/Java</a>
+ |
+ <a href="../../c">Axis2/C</a>
+ |
+ <a href="../../..">Apache WS</a>
+ |
+ <a href="http://www.apache.org" class="externalLink">Apache</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Axis2/Java</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../index.html">Home</a>
+ </li>
+ </ul>
+ <h5>Downloads</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../download.cgi">Releases</a>
+ </li>
+
+ <li class="none">
+ <a href="../modules/index.html">Modules</a>
+ </li>
+
+ <li class="none">
+ <a href="../tools/index.html">Tools</a>
+ </li>
+ </ul>
+ <h5>Documentation</h5>
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="expanded">
+ <a href="../1_4_1/contents.html">Version 1.4.1</a>
+ <ul>
+
+ <li class="none">
+ <a href="../1_4_1/toc.html">Table of Contents</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/installationguide.html">Installation Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/quickstartguide.html">QuickStart Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/userguide.html">User Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/jaxws-guide.html">JAXWS Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/pojoguide.html">POJO Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/spring.html">Spring Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/webadminguide.html">Web Administrator's Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/migration.html">Migration Guide (from Axis1)</a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="none">
+ <a href="../1_4/contents.html">Version 1.4</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_3/contents.html">Version 1.3</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_2/contents.html">Version 1.2</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_1_1/contents.html">Version 1.1.1</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_1/contents.html">Version 1.1</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_0/index.html">Version 1.0</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_95/index.html">Version 0.95</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_94/index.html">Version 0.94</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_93/index.html">Version 0.93</a>
+ </li>
+ </ul>
+ <h5>Resources</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../faq.html">FAQ</a>
+ </li>
+
+ <li class="none">
+ <a href="../articles.html">Articles</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="../refLib.html">Reference Library</a>
+ </li>
+
+ <li class="none">
+ <a href="../../1_4_1/api/index.html">Online Java Docs</a>
+ </li>
+ </ul>
+ <h5>Get Involved</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../overview.html">Overview</a>
+ </li>
+
+ <li class="none">
+ <a href="../svn.html">Checkout the Source</a>
+ </li>
+
+ <li class="none">
+ <a href="../mail-lists.html">Mailing Lists</a>
+ </li>
+
+ <li class="none">
+ <a href="../release-process.html">Release Process</a>
+ </li>
+
+ <li class="none">
+ <a href="../guidelines.html">Developer Guidelines</a>
+ </li>
+
+ <li class="none">
+ <a href="../siteHowTo.html">Build the Site</a>
+ </li>
+ </ul>
+ <h5>Project Information</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../team-list.html">Project Team</a>
+ </li>
+
+ <li class="none">
+ <a href="../issue-tracking.html">Issue Tracking</a>
+ </li>
+
+ <li class="none">
+ <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+ </li>
+
+ <li class="none">
+ <a href="../thanks.html">Acknowledgements</a>
+ </li>
+
+ <li class="none">
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">Generating a Web Service Client using Axis2 and JiBX<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><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 and JiBX data binding. The service has the following
+WSDL:</p>
+<p><b>Code Listing 1: The WSDL file</b></p>
+<pre>
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+
+ <wsdl:types>
+ <schema
+ elementFormDefault="qualified"
+ targetNamespace="http://apache.org/axis2/Axis2UserGuide"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <!-- ELEMENTS -->
+
+ <element name="DoInOnlyRequest">
+ <complexType>
+ <sequence>
+ <element name="messageString" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="TwoWayOneParameterEchoRequest">
+ <complexType>
+ <sequence>
+ <element name="echoString" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="TwoWayOneParameterEchoResponse">
+ <complexType>
+ <sequence>
+ <element name="echoString" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="NoParametersRequest">
+ <complexType/>
+ </element>
+ <element name="NoParametersResponse">
+ <complexType/>
+ </element>
+
+ <element name="MultipleParametersAddItemRequest">
+ <complexType>
+ <sequence>
+ <element name="itemId" type="xsd:int"/>
+ <element name="itemName" type="xsd:string"/>
+ <element name="price" type="xsd:float"/>
+ <element name="description" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="MultipleParametersAddItemResponse">
+ <complexType>
+ <sequence>
+ <element name="itemId" type="xsd:int"/>
+ <element name="successfulAdd" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ </schema>
+ </wsdl:types>
+
+
+ <!-- MESSAGES -->
+
+ <wsdl:message name="DoInOnlyRequestMessage">
+ <wsdl:part name="input" element="impl:DoInOnlyRequest"/>
+ </wsdl:message>
+
+ <wsdl:message name="TwoWayOneParameterEchoRequestMessage">
+ <wsdl:part name="input" element="impl:TwoWayOneParameterEchoRequest"/>
+ </wsdl:message>
+ <wsdl:message name="TwoWayOneParameterEchoResponseMessage">
+ <wsdl:part name="output" element="impl:TwoWayOneParameterEchoResponse"/>
+ </wsdl:message>
+
+ <wsdl:message name="NoParametersRequestMessage">
+ <wsdl:part name="input" element="impl:NoParametersRequest"/>
+ </wsdl:message>
+ <wsdl:message name="NoParametersResponseMessage">
+ <wsdl:part name="output" element="impl:NoParametersResponse"/>
+ </wsdl:message>
+
+ <wsdl:message name="MultipleParametersAddItemRequestMessage">
+ <wsdl:part name="input" element="impl:MultipleParametersAddItemRequest"/>
+ </wsdl:message>
+ <wsdl:message name="MultipleParametersAddItemResponseMessage">
+ <wsdl:part name="output" element="impl:MultipleParametersAddItemResponse"/>
+ </wsdl:message>
+
+
+ <!-- Port type (operations) -->
+
+ <wsdl:portType name="Axis2UserGuidePortType">
+
+ <wsdl:operation name="DoInOnly" parameterOrder="input">
+ <wsdl:input name="DoInOnlyRequestMessage"
+ message="impl:DoInOnlyRequestMessage"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="TwoWayOneParameterEcho" parameterOrder="input">
+ <wsdl:input name="TwoWayOneParameterEchoRequestMessage"
+ message="impl:TwoWayOneParameterEchoRequestMessage"/>
+ <wsdl:output name="TwoWayOneParameterEchoResponseMessage"
+ message="impl:TwoWayOneParameterEchoResponseMessage"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="NoParameters" parameterOrder="input">
+ <wsdl:input name="NoParametersRequestMessage"
+ message="impl:NoParametersRequestMessage"/>
+ <wsdl:output name="NoParametersResponseMessage"
+ message="impl:NoParametersResponseMessage"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="MultipleParametersAddItem" parameterOrder="input">
+ <wsdl:input name="MultipleParametersAddItemRequestMessage"
+ message="impl:MultipleParametersAddItemRequestMessage"/>
+ <wsdl:output name="MultipleParametersAddItemResponseMessage"
+ message="impl:MultipleParametersAddItemResponseMessage"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+
+ <!-- BINDING (bind operations) -->
+ <wsdl:binding
+ name="Axis2UserGuideSoapBinding"
+ type="impl:Axis2UserGuidePortType">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="DoInOnly">
+ <wsdlsoap:operation soapAction="DoInOnly"/>
+ <wsdl:input>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ </wsdl:operation>
+
+ <wsdl:operation name="TwoWayOneParameterEcho">
+ <wsdlsoap:operation soapAction="TwoWayOneParameterEcho"/>
+ <wsdl:input>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="NoParameters">
+ <wsdlsoap:operation soapAction="NoParameters"/>
+ <wsdl:input>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="MultipleParametersAddItem">
+ <wsdlsoap:operation soapAction="MultipleParametersAddItem"/>
+ <wsdl:input>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+
+ <!-- SERVICE -->
+
+ <wsdl:service name="Axis2UserGuideService">
+ <wsdl:port binding="impl:Axis2UserGuideSoapBinding"
+ name="Axis2UserGuide">
+ <wsdlsoap:address location="http://localhost:8080/axis2/services/Axis2UserGuide"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+</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>(You can get more information on WSDL at <a class="externalLink" href="http://www.w3.org/2002/ws/desc/">http://www.w3.org/2002/ws/desc/</a>
+.)</p>
+<a name="jibx"></a><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 setting up to start
+with. To generate your client, execute the following steps:</p>
+<p><b>The short story</b>:</p>
+<ol type="1"><li>Download the latest JiBX package (tested with JiBX v1.1) from
+<a class="externalLink" 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.)</li>
+<li>Download <a class="externalLink" href="http://sourceforge.net/project/showfiles.php?group_id=69358&package_id=122897">
+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 (v1.1)
+of JiBX, so download <a class="externalLink" href="http://sourceforge.net/project/showfiles.php?group_id=69358&package_id=68290">
+jibx-1.0RC1</a> 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 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 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 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: <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></li>
+</ol>
+<p><b>The long story:</b></p>
+<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 class="externalLink" 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 files
+pertain to the main JiBX application.</p>
+<p>Download <a class="externalLink" href="http://sourceforge.net/project/showfiles.php?group_id=69358&package_id=122897">
+xsd2jibx version beta2a</a> from Sourceforge. Create a directory
+called xsd2jibx in your working directory and extract the files
+into it. Unfortunately, this utility does not work with the latest
+release of JiBX, so you will need to download <a class="externalLink" href="http://sourceforge.net/project/showfiles.php?group_id=69358&package_id=68290">
+jibx-1.0RC1</a> from Sourceforge. Extract the files from this
+archive and place the *.jar files in the lib directory into the
+xsd2jibx/lib directory. This way, you can 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 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>
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema
+ elementFormDefault="qualified"
+ targetNamespace="http://apache.org/axis2/Axis2UserGuide"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <!-- ELEMENTS -->
+ <xsd:element name="DoInOnlyRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="messageString" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="TwoWayOneParameterEchoRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="echoString" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="TwoWayOneParameterEchoResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="echoString" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="NoParametersRequest">
+ <xsd:complexType/>
+ </xsd:element>
+ <xsd:element name="NoParametersResponse">
+ <xsd:complexType/>
+ </xsd:element>
+
+ <xsd:element name="MultipleParametersAddItemRequest">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="itemId" type="xsd:int"/>
+ <xsd:element name="itemName" type="xsd:string"/>
+ <xsd:element name="price" type="xsd:float"/>
+ <xsd:element name="description" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="MultipleParametersAddItemResponse">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="itemId" type="xsd:int"/>
+ <xsd:element name="successfulAdd" type="xsd:boolean"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+</xsd:schema>
+</pre><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 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><p>This operation creates the basic class files, as well as the
+mapping file, 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 into it. Execute the command in Code Listing
+3 to generate the stubs.</p>
+<p><b>Code Listing 3: Generating the stubs</b></p>
+<pre>
+%AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d jibx -Ebindingfile org\apache\axis2\axis2userguide\binding.xml -s
+</pre><p>Create the client file, Client.java, in the
+org/apache/axis2/axis2userguide directory. Add the following code
+in Code Listing 4.</p>
+<p><b>Code Listing 4: Creating 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");
+ }
+ }
+
+ public static void doInOnly(Axis2UserGuideServiceStub stub){
+ try{
+ DoInOnlyRequest req =
+ new DoInOnlyRequest();
+
+ req.setMessageString("fire and forget it!");
+
+ stub.DoInOnly(req);
+ } catch(Exception e){
+ e.printStackTrace();
+ System.out.println("\n\n\n");
+ }
+ }
+
+ public static void twoWayOneParameterEcho(Axis2UserGuideServiceStub stub){
+ try{
+ TwoWayOneParameterEchoRequest req =
+ new TwoWayOneParameterEchoRequest();
+
+ req.setEchoString("echo! ... echo!");
+ System.out.println(stub.TwoWayOneParameterEcho(req).getEchoString());
+ } catch(Exception e){
+ e.printStackTrace();
+ System.out.println("\n\n\n");
+ }
+ }
+
+ public static void noParameters(Axis2UserGuideServiceStub stub){
+ try{
+ NoParametersRequest req =
+ new NoParametersRequest();
+
+ System.out.println(stub.NoParameters(req));
+ } catch(Exception e){
+ e.printStackTrace();
+ System.out.println("\n\n\n");
+ }
+ }
+
+ public static void multipleParameters(Axis2UserGuideServiceStub stub){
+ try{
+ MultipleParametersAddItemRequest req =
+ new MultipleParametersAddItemRequest();
+
+ req.setPrice((float)1.99);
+ req.setItemId((int)23872983);
+ req.setDescription("Must have for cooking");
+ req.setItemName("flour");
+
+ MultipleParametersAddItemResponse res =
+ stub.MultipleParametersAddItem(req);
+
+ System.out.println(res.getItemId());
+ System.out.println(res.getSuccessfulAdd());
+ } catch(Exception e){
+ e.printStackTrace();
+ System.out.println("\n\n\n");
+ }
+ }
+}
+</pre><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: <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 can now generate the actual JiBX resources.
+Change to the build/classes 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, re-run the Ant task to
+generate the client: <code>ant jar.client</code></p>
+<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>
+</html>
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2008
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Added: webservices/axis2/site/1_4_1/userguide-creatingclients-xmlbeans.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/userguide-creatingclients-xmlbeans.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/userguide-creatingclients-xmlbeans.html (added)
+++ webservices/axis2/site/1_4_1/userguide-creatingclients-xmlbeans.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,698 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Apache Axis2 - </title>
+ <style type="text/css" media="all">
+ @import url("../css/maven-base.css");
+ @import url("../css/maven-theme.css");
+ @import url("../css/site.css");
+ </style>
+ <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="../" id="bannerLeft">
+
+ <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+
+ </a>
+ <span id="bannerRight">
+
+ <img src="../../images/axis.jpg" alt="" />
+
+ </span>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 2008-08-24
+ </div>
+ <div class="xright"> <a href="../index.html">Axis2/Java</a>
+ |
+ <a href="../../c">Axis2/C</a>
+ |
+ <a href="../../..">Apache WS</a>
+ |
+ <a href="http://www.apache.org" class="externalLink">Apache</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Axis2/Java</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../index.html">Home</a>
+ </li>
+ </ul>
+ <h5>Downloads</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../download.cgi">Releases</a>
+ </li>
+
+ <li class="none">
+ <a href="../modules/index.html">Modules</a>
+ </li>
+
+ <li class="none">
+ <a href="../tools/index.html">Tools</a>
+ </li>
+ </ul>
+ <h5>Documentation</h5>
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="expanded">
+ <a href="../1_4_1/contents.html">Version 1.4.1</a>
+ <ul>
+
+ <li class="none">
+ <a href="../1_4_1/toc.html">Table of Contents</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/installationguide.html">Installation Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/quickstartguide.html">QuickStart Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/userguide.html">User Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/jaxws-guide.html">JAXWS Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/pojoguide.html">POJO Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/spring.html">Spring Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/webadminguide.html">Web Administrator's Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/migration.html">Migration Guide (from Axis1)</a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="none">
+ <a href="../1_4/contents.html">Version 1.4</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_3/contents.html">Version 1.3</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_2/contents.html">Version 1.2</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_1_1/contents.html">Version 1.1.1</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_1/contents.html">Version 1.1</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_0/index.html">Version 1.0</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_95/index.html">Version 0.95</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_94/index.html">Version 0.94</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_93/index.html">Version 0.93</a>
+ </li>
+ </ul>
+ <h5>Resources</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../faq.html">FAQ</a>
+ </li>
+
+ <li class="none">
+ <a href="../articles.html">Articles</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="../refLib.html">Reference Library</a>
+ </li>
+
+ <li class="none">
+ <a href="../../1_4_1/api/index.html">Online Java Docs</a>
+ </li>
+ </ul>
+ <h5>Get Involved</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../overview.html">Overview</a>
+ </li>
+
+ <li class="none">
+ <a href="../svn.html">Checkout the Source</a>
+ </li>
+
+ <li class="none">
+ <a href="../mail-lists.html">Mailing Lists</a>
+ </li>
+
+ <li class="none">
+ <a href="../release-process.html">Release Process</a>
+ </li>
+
+ <li class="none">
+ <a href="../guidelines.html">Developer Guidelines</a>
+ </li>
+
+ <li class="none">
+ <a href="../siteHowTo.html">Build the Site</a>
+ </li>
+ </ul>
+ <h5>Project Information</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../team-list.html">Project Team</a>
+ </li>
+
+ <li class="none">
+ <a href="../issue-tracking.html">Issue Tracking</a>
+ </li>
+
+ <li class="none">
+ <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+ </li>
+
+ <li class="none">
+ <a href="../thanks.html">Acknowledgements</a>
+ </li>
+
+ <li class="none">
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">Generating a Web Service Client using Axis2 and
+XmlBeans<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><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>
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+
+ <wsdl:types>
+ <schema
+ elementFormDefault="qualified"
+ targetNamespace="http://apache.org/axis2/Axis2UserGuide"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <!-- ELEMENTS -->
+
+ <element name="DoInOnlyRequest">
+ <complexType>
+ <sequence>
+ <element name="messageString" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="TwoWayOneParameterEchoRequest">
+ <complexType>
+ <sequence>
+ <element name="echoString" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="TwoWayOneParameterEchoResponse">
+ <complexType>
+ <sequence>
+ <element name="echoString" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="NoParametersRequest">
+ <complexType/>
+ </element>
+ <element name="NoParametersResponse">
+ <complexType/>
+ </element>
+
+ <element name="MultipleParametersAddItemRequest">
+ <complexType>
+ <sequence>
+ <element name="itemId" type="xsd:int"/>
+ <element name="itemName" type="xsd:string"/>
+ <element name="price" type="xsd:float"/>
+ <element name="description" type="xsd:string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="MultipleParametersAddItemResponse">
+ <complexType>
+ <sequence>
+ <element name="itemId" type="xsd:int"/>
+ <element name="successfulAdd" type="xsd:boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ </schema>
+ </wsdl:types>
+
+
+ <!-- MESSAGES -->
+
+ <wsdl:message name="DoInOnlyRequestMessage">
+ <wsdl:part name="input" element="impl:DoInOnlyRequest"/>
+ </wsdl:message>
+
+ <wsdl:message name="TwoWayOneParameterEchoRequestMessage">
+ <wsdl:part name="input" element="impl:TwoWayOneParameterEchoRequest"/>
+ </wsdl:message>
+ <wsdl:message name="TwoWayOneParameterEchoResponseMessage">
+ <wsdl:part name="output" element="impl:TwoWayOneParameterEchoResponse"/>
+ </wsdl:message>
+
+ <wsdl:message name="NoParametersRequestMessage">
+ <wsdl:part name="input" element="impl:NoParametersRequest"/>
+ </wsdl:message>
+ <wsdl:message name="NoParametersResponseMessage">
+ <wsdl:part name="output" element="impl:NoParametersResponse"/>
+ </wsdl:message>
+
+ <wsdl:message name="MultipleParametersAddItemRequestMessage">
+ <wsdl:part name="input" element="impl:MultipleParametersAddItemRequest"/>
+ </wsdl:message>
+ <wsdl:message name="MultipleParametersAddItemResponseMessage">
+ <wsdl:part name="output" element="impl:MultipleParametersAddItemResponse"/>
+ </wsdl:message>
+
+
+ <!-- Port type (operations) -->
+
+ <wsdl:portType name="Axis2UserGuidePortType">
+
+ <wsdl:operation name="DoInOnly" parameterOrder="input">
+ <wsdl:input name="DoInOnlyRequestMessage"
+ message="impl:DoInOnlyRequestMessage"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="TwoWayOneParameterEcho" parameterOrder="input">
+ <wsdl:input name="TwoWayOneParameterEchoRequestMessage"
+ message="impl:TwoWayOneParameterEchoRequestMessage"/>
+ <wsdl:output name="TwoWayOneParameterEchoResponseMessage"
+ message="impl:TwoWayOneParameterEchoResponseMessage"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="NoParameters" parameterOrder="input">
+ <wsdl:input name="NoParametersRequestMessage"
+ message="impl:NoParametersRequestMessage"/>
+ <wsdl:output name="NoParametersResponseMessage"
+ message="impl:NoParametersResponseMessage"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="MultipleParametersAddItem" parameterOrder="input">
+ <wsdl:input name="MultipleParametersAddItemRequestMessage"
+ message="impl:MultipleParametersAddItemRequestMessage"/>
+ <wsdl:output name="MultipleParametersAddItemResponseMessage"
+ message="impl:MultipleParametersAddItemResponseMessage"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+
+
+ <!-- BINDING (bind operations) -->
+ <wsdl:binding
+ name="Axis2UserGuideSoapBinding"
+ type="impl:Axis2UserGuidePortType">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+ <wsdl:operation name="DoInOnly">
+ <wsdlsoap:operation soapAction="DoInOnly"/>
+ <wsdl:input>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ </wsdl:operation>
+
+ <wsdl:operation name="TwoWayOneParameterEcho">
+ <wsdlsoap:operation soapAction="TwoWayOneParameterEcho"/>
+ <wsdl:input>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="NoParameters">
+ <wsdlsoap:operation soapAction="NoParameters"/>
+ <wsdl:input>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+
+ <wsdl:operation name="MultipleParametersAddItem">
+ <wsdlsoap:operation soapAction="MultipleParametersAddItem"/>
+ <wsdl:input>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <wsdlsoap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+
+
+ <!-- SERVICE -->
+
+ <wsdl:service name="Axis2UserGuideService">
+ <wsdl:port binding="impl:Axis2UserGuideSoapBinding"
+ name="Axis2UserGuide">
+ <wsdlsoap:address location="http://localhost:8080/axis2/services/Axis2UserGuide"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
+</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 class="externalLink" 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 type="1"><li><a class="externalLink" 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 class="externalLink" 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 class="externalLink" 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 class="externalLink" 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 src="images/fig04.jpg" alt="Response in a console window of your servlet container" /><br />
+</p>
+</html>
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2008
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>
Added: webservices/axis2/site/1_4_1/userguide-creatingclients.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4_1/userguide-creatingclients.html?rev=688807&view=auto
==============================================================================
--- webservices/axis2/site/1_4_1/userguide-creatingclients.html (added)
+++ webservices/axis2/site/1_4_1/userguide-creatingclients.html Mon Aug 25 11:10:04 2008
@@ -0,0 +1,500 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>Apache Axis2 - </title>
+ <style type="text/css" media="all">
+ @import url("../css/maven-base.css");
+ @import url("../css/maven-theme.css");
+ @import url("../css/site.css");
+ </style>
+ <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ </head>
+ <body class="composite">
+ <div id="banner">
+ <a href="../" id="bannerLeft">
+
+ <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+
+ </a>
+ <span id="bannerRight">
+
+ <img src="../../images/axis.jpg" alt="" />
+
+ </span>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+
+
+
+
+
+
+
+
+ <div class="xleft">
+ Last Published: 2008-08-24
+ </div>
+ <div class="xright"> <a href="../index.html">Axis2/Java</a>
+ |
+ <a href="../../c">Axis2/C</a>
+ |
+ <a href="../../..">Apache WS</a>
+ |
+ <a href="http://www.apache.org" class="externalLink">Apache</a>
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+
+
+
+
+
+
+
+
+ <h5>Axis2/Java</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../index.html">Home</a>
+ </li>
+ </ul>
+ <h5>Downloads</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../download.cgi">Releases</a>
+ </li>
+
+ <li class="none">
+ <a href="../modules/index.html">Modules</a>
+ </li>
+
+ <li class="none">
+ <a href="../tools/index.html">Tools</a>
+ </li>
+ </ul>
+ <h5>Documentation</h5>
+ <ul>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="expanded">
+ <a href="../1_4_1/contents.html">Version 1.4.1</a>
+ <ul>
+
+ <li class="none">
+ <a href="../1_4_1/toc.html">Table of Contents</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/installationguide.html">Installation Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/quickstartguide.html">QuickStart Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/userguide.html">User Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/jaxws-guide.html">JAXWS Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/pojoguide.html">POJO Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/spring.html">Spring Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/webadminguide.html">Web Administrator's Guide</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_4_1/migration.html">Migration Guide (from Axis1)</a>
+ </li>
+ </ul>
+ </li>
+
+ <li class="none">
+ <a href="../1_4/contents.html">Version 1.4</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_3/contents.html">Version 1.3</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_2/contents.html">Version 1.2</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_1_1/contents.html">Version 1.1.1</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_1/contents.html">Version 1.1</a>
+ </li>
+
+ <li class="none">
+ <a href="../1_0/index.html">Version 1.0</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_95/index.html">Version 0.95</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_94/index.html">Version 0.94</a>
+ </li>
+
+ <li class="none">
+ <a href="../0_93/index.html">Version 0.93</a>
+ </li>
+ </ul>
+ <h5>Resources</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../faq.html">FAQ</a>
+ </li>
+
+ <li class="none">
+ <a href="../articles.html">Articles</a>
+ </li>
+
+ <li class="none">
+ <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+ </li>
+
+ <li class="none">
+ <a href="../refLib.html">Reference Library</a>
+ </li>
+
+ <li class="none">
+ <a href="../../1_4_1/api/index.html">Online Java Docs</a>
+ </li>
+ </ul>
+ <h5>Get Involved</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../overview.html">Overview</a>
+ </li>
+
+ <li class="none">
+ <a href="../svn.html">Checkout the Source</a>
+ </li>
+
+ <li class="none">
+ <a href="../mail-lists.html">Mailing Lists</a>
+ </li>
+
+ <li class="none">
+ <a href="../release-process.html">Release Process</a>
+ </li>
+
+ <li class="none">
+ <a href="../guidelines.html">Developer Guidelines</a>
+ </li>
+
+ <li class="none">
+ <a href="../siteHowTo.html">Build the Site</a>
+ </li>
+ </ul>
+ <h5>Project Information</h5>
+ <ul>
+
+ <li class="none">
+ <a href="../team-list.html">Project Team</a>
+ </li>
+
+ <li class="none">
+ <a href="../issue-tracking.html">Issue Tracking</a>
+ </li>
+
+ <li class="none">
+ <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+ </li>
+
+ <li class="none">
+ <a href="../thanks.html">Acknowledgements</a>
+ </li>
+
+ <li class="none">
+ <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+ </li>
+ </ul>
+ <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+ <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+ </a>
+
+
+
+
+
+
+
+
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">Apache Axis2 User's Guide- Creating Clients<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><a name="createclients"></a><h1>Apache Axis2 User's Guide - Creating Clients</h1><p>When it comes to creating a Web service client, you can do it
+manually (see <a href="userguide-buildingservices.html">Building
+Services</a>), but in most cases you have a Web Service Description
+Language (WSDL) definition that describes the messages clients
+should send and expect to receive. Axis2 provides several ways to
+use this definition to automatically generate a client.</p>
+<h2>Content</h2><ul><li><a href="userguide.html#intro">Introducing Axis2</a><br />
+<ul><li><a href="userguide.html#whatis">What is Axis2?</a></li>
+<li><a href="userguide.html#underhood">What's Under the
+hood?</a></li>
+<li><a href="userguide.html#handlessoap">How Axis2 Handles SOAP
+Messages</a></li>
+<li><a href="userguide.html#distributions">Axis2
+Distributions</a></li>
+<li><a href="userguide.html#sbd">The Axis2 Standard Binary
+Distribution</a></li>
+<li><a href="userguide.html#hierarchy">Axis2.war Directory
+hierarchy</a></li>
+<li><a href="userguide.html#docs">Axis2 Documents
+Distribution</a></li>
+<li><a href="userguide.html#clients">Axis2 and Clients</a></li>
+</ul>
+</li>
+<li><a href="userguide-installingtesting.html#installingtesting">Installing and
+Testing Client Code</a></li>
+<li><a href="userguide-introtoservices.html#introservices">Introduction to
+Services</a><br />
+<ul><li><a href="userguide-introtoservices.html#messageexchange">Message Exchange
+Patterns</a></li>
+</ul>
+</li>
+<li><a href="userguide-creatingclients.html#createclients"><strong>Creating
+Clients</strong></a><br />
+<ul><li><a href="userguide-creatingclients.html#choosingclient"><strong>Choosing a
+Client Generation Method</strong></a></li>
+<li><a href="userguide-creatingclients.html#generating"><strong>Generating
+Clients</strong></a></li>
+<li><a href="userguide-creatingclients.html#adb"><strong>Axis Data
+Binding (ADB)</strong></a></li>
+</ul>
+</li>
+<li><a href="userguide-buildingservices.html#buildservices">Building
+Services</a><br />
+<ul><li><a href="userguide-buildingservices.html#getcomfortable">Getting
+Comfortable with Available Options</a></li>
+<li><a href="userguide-buildingservices.html#createscratch">Creating a service
+from Scratch</a></li>
+<li><a href="userguide-buildingservices.html#deploypojo">Deploying
+Plain Old Java Objects</a></li>
+<li><a href="userguide-buildingservices.html#deployrun">Deploying
+and Running an Axis2 Service Created from WSDL</a></li>
+</ul>
+</li>
+<li><a href="userguide-samples.html">Samples</a></li>
+<li><a href="userguide-forfurtherstudy.html">For Further
+Study</a></li>
+</ul>
+<a name="choosingclient"></a><h2>Choosing a Client Generation Method</h2><p>Axis2 gives you several options when it comes to mapping WSDL to
+objects 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 stubs that are not based on
+databinding.</p>
+<p>Axis2 Databinding Framework (ADB): ADB is probably the simplest
+method of generating an Axis2 client. In most cases, all of the
+pertinent classes are created as inner classes of a main stub
+class. ADB is very easy to use, but it does have limitations. It is
+not meant to be a full schema binding application, and has
+difficulty with structures such as XML Schema element extensions
+and restrictions.</p>
+<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 being
+certainly usable, is not as straightforward as 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 XMLBeans or JiBX depends on how much power or
+flexibility you need and your tolerance for complexity.</p>
+<a name="generating"></a><h2>Generating Clients</h2><p>The process for generating and using a client varies slightly
+depending on the method of generation you choose. In all three
+cases in this document, clients are generated from the same WSDL
+file (see <a href="userguide-codelisting5.html">Code Listing
+5</a>).</p>
+<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>
+<p>(You can get more information on WSDL at <a class="externalLink" href="http://www.w3.org/2002/ws/desc/">http://www.w3.org/2002/ws/desc/</a>
+.)</p>
+<a name="adb"></a><h2>Axis Data Binding (ADB)</h2><p>To create a client using ADB, execute the following steps:</p>
+<p><b>The short story:</b></p>
+<ol type="1"><li>
+href="http://ws.apache.org/axis2/download/1_4_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>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 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 class="externalLink" href="http://ws.apache.org/axis2/download/1_4_1/download.cgi#std-bin">
+download</a> 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 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 command
+in Code Listing 6.</p>
+<h3><b>Code Listing 6 - Generating the Client</b></h3><pre>
+%AXIS2_HOME%\bin\WSDL2Java -uri Axis2UserGuide.wsdl -p org.apache.axis2.axis2userguide -d adb -s
+</pre><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 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 class="externalLink" 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 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>
+<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>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 raw classes.</p>
+<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 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 the console window of your
+servlet container. It should look something like this:</p>
+<p><img src="images/fig03.jpg" alt="Response in a console window of your servlet container" /><br />
+</p>
+<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> and
+JAXBRI.</p>
+<p><strong>See the Next Section</strong> -<a href="userguide-buildingservices.html#buildservices">Building
+Services</a></p>
+</html>
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">©
+ 2004-2008
+
+ Apache Software Foundation
+
+
+
+
+
+
+
+
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
+</html>