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 2006/12/20 06:28:49 UTC
svn commit: r488922 [1/3] - /webservices/axis2/trunk/java/xdocs/1_1/
Author: chatra
Date: Tue Dec 19 21:28:45 2006
New Revision: 488922
URL: http://svn.apache.org/viewvc?view=rev&rev=488922
Log:
completed contents.html and added style to new documents
Modified:
webservices/axis2/trunk/java/xdocs/1_1/contents.html
webservices/axis2/trunk/java/xdocs/1_1/userguide-buildingservices.html
webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting5.html
webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting7.html
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
webservices/axis2/trunk/java/xdocs/1_1/userguide-forfurtherstudy.html
webservices/axis2/trunk/java/xdocs/1_1/userguide-installingtesting.html
webservices/axis2/trunk/java/xdocs/1_1/userguide-introtoservices.html
webservices/axis2/trunk/java/xdocs/1_1/userguide-samples.html
webservices/axis2/trunk/java/xdocs/1_1/userguide.html
Modified: webservices/axis2/trunk/java/xdocs/1_1/contents.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/contents.html?view=diff&rev=488922&r1=488921&r2=488922
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/contents.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/contents.html Tue Dec 19 21:28:45 2006
@@ -35,42 +35,55 @@
container, not forgetting the instructions on how to write Web services and
Web services client using Apache Axis2.</p>
<ul>
- <li><a href="userguide.html#intro">Introduction</a>- Outlines the overall
- direction of the User's guide itself, with a high level introduction on
- Axis2</li>
- <li><a href="installationguide.html">Download and Installation</a>-Will
- list the different distribution packages offered by Axis2, and
- installation methods for standalone and as part of a J2EE servlet
- container.</li>
- <!--<li><a href="userguide.html#ws_codegen">Creating a new Web Service with
- Code Generation</a> -Axis2 provides two ways to create new Web Services,
- using code generation and using XML based primary APIs. This section
- explains how to start from a WSDL, and create a new Service with code
- generation</li>
- <li><a href="xmlbased-server.html">Writing Web Services Using Axis2's
- Primary APIs</a> -Explains how to create new Web Services using XML based
- primary API</li>
- <li><a href="userguide.html#client">Writing a Web Service Client with Code
- Generation </a>-Axis2 also provides a more complex, yet powerful XML
- based client API which is intended for advanced users. However, if you
- are a new user we recommend using the code generation approach presented
- below</li>
- <li><a href="dii.html">Writing Web Service Clients Using Axis2's Primary
- APIs</a>- This section presents complex yet powerful XML based client API
- which is intended for advanced users to write Web services clients</li>
- <li><a href="userguide.html#config">Configuring Axis2</a>-Axis2
- configuration is based on a repository and standard archives formats.
- Here you will find details on how to configure Axis2. You will also find
- reference documents that lead to greater detail in this area.</li>-->
- <li><a href="pojoguide.html">POJO Web Services using Apache Axis2</a>-This
- guide will show you how to create a Plain Old Java Object (POJO) to
- deploy using Apache Axis2 on Apache Tomcat. POJOs are fast to build and
- easy to maintain, meaning you'll save a lot of time building and
- debugging your code</li>
- <li><a href="quickstartguide.html">Axis2 Quick Start Guide</a>-The purpose
- of this guide is to get you started creating services and clients using
- Axis2 as quickly as possible. It demonstrates how to create Web services
- using a variety of different technologies.</></li>
+ <li><a href="userguide.html#intro">Introduction</a>- This opening document
+ gives you an introduction to what Axis2 is, the life cycle of a Web
+ services messages, how Axis2 handles SOAP Messages and also includes
+ basic description on Axis2 distributions and how Axis2 behaves as part of
+ a Web application or as a standalone client that is not part of a J2EE
+ application.</li>
+ <li><a href="installationguide.html">Download and Installation</a>- Will
+ list the different distribution packages offered by Axis2, and in-depth
+ instructions on installation methods for standalone and as part of a J2EE
+ servlet container.</li>
+ <li><a href="userguide-installingtesting.html">Testing Client Code</a> -
+ The best way to make sure that your system is running Axis2 is to install
+ and test both a service and a client. This document describes this
+ process easy to understand steps.</li>
+ <li><a href="userguide-introtoservices.html">Introduction to Services</a> -
+ The term "Web services" can apply to a number of different ways to send
+ information back and forth, but this guide focuses on the sending and
+ receiving of SOAP messages and Message Exchange Patterns (MEPs).</li>
+ <li><a href="userguide-creatingclients.html">Creating Clients from WSDL</a>
+ - When it comes to creating a Web service client, you can do it manually
+ as described in the next document,, 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.
+ This document explains just how to create a client using WSDL
+ definitions.</li>
+ <li><a href="userguide-buildingservices.html">Building Services from
+ Scratch</a> - Now that you know how to use Axis2 to generate clients from
+ WSDL as described in the document before,, this document digs a little
+ deeper, showing you how to create services, and how to create both
+ services and clients "from scratch", so to speak.</li>
+ <li><a href="userguide-samples.html">Samples</a> - The Axis2 Standard
+ Distribution provides a number of samples you can use as a guide for
+ implementing specific features and capabilities. These services are
+ listed in this document with basic introductions.</li>
+ <li><a href="userguide-forfurtherstudy.html">For Further Study</a> - This
+ section lists resource documents for further study.
+ <ul>
+ <li><a href="pojoguide.html">POJO Web Services using Apache
+ Axis2</a>-This guide will show you how to create a Plain Old Java
+ Object (POJO) to deploy using Apache Axis2 on Apache Tomcat. POJOs
+ are fast to build and easy to maintain, meaning you'll save a lot of
+ time building and debugging your code</li>
+ <li><a href="quickstartguide.html">Axis2 Quick Start Guide</a>-The
+ purpose of this guide is to get you started creating services and
+ clients using Axis2 as quickly as possible. It demonstrates how to
+ create Web services using a variety of different technologies.</></li>
+ </ul>
+ </li>
</ul>
Also see our <a href="../faq.html">FAQ page</a> to answer those common
questions in mind.
@@ -162,7 +175,7 @@
code generation plug-in to create service archives and generate java
class files from WSDL files</li>
<li><a href="../tools/1_1/maven-plugins/maven-aar-plugin.html">Maven2 AAR
- Plug-in Guide</a> - Guid to generate an Axis 2 service file (AAR file)
+ Plug-in Guide</a> - Guide to generate an Axis 2 service file (AAR file)
using the maven plug-in.</li>
<li><a href="../tools/1_1/maven-plugins/maven-java2wsdl-plugin.html">Maven2
Java2WSDL Plug-in Guide</a> - Guide to using Java2WSDL Maven 2 Plug-in
Modified: webservices/axis2/trunk/java/xdocs/1_1/userguide-buildingservices.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/userguide-buildingservices.html?view=diff&rev=488922&r1=488921&r2=488922
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/userguide-buildingservices.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/userguide-buildingservices.html Tue Dec 19 21:28:45 2006
@@ -3,14 +3,14 @@
<head>
<meta http-equiv="content-type" content="" />
<title>Introducing Axis2</title>
+ <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+ media="all">
</head>
<body>
<a name="buildservices"></a>
-<h1>Apache Axis2 User's Guide</h1>
-
-<h1>-Building Services</h1>
+<h1>Apache Axis2 User's Guide -Building Services</h1>
<p>Now that you know how to use Axis2 to generate clients from WSDL, this
section digs a little deeper, showing you how to create services, and how to
Modified: webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting5.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting5.html?view=diff&rev=488922&r1=488921&r2=488922
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting5.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting5.html Tue Dec 19 21:28:45 2006
@@ -1,198 +1,200 @@
-<?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>Code Listing 4: Generating clients from the WSDL file</title>
-</head>
-
-<body>
-<h1>Code Listing 5 - Generating clients from the WSDL file</h1>
-<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>
-</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>Code Listing 4: Generating clients from the WSDL file</title>
+ <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+ media="all">
+</head>
+
+<body>
+<h1>Code Listing 5 - Generating clients from the WSDL file</h1>
+<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>
+</body>
+</html>
Modified: webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting7.html
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting7.html?view=diff&rev=488922&r1=488921&r2=488922
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting7.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/userguide-codelisting7.html Tue Dec 19 21:28:45 2006
@@ -1,106 +1,108 @@
-<?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>Code Listing 6: Client.java</title>
-</head>
-
-<body>
-<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>
-</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>Code Listing 6: Client.java</title>
+ <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+ media="all">
+</head>
+
+<body>
+<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>
+</body>
+</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=488922&r1=488921&r2=488922
==============================================================================
--- webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-jibx.html (original)
+++ webservices/axis2/trunk/java/xdocs/1_1/userguide-creatingclients-jibx.html Tue Dec 19 21:28:45 2006
@@ -1,482 +1,484 @@
-<?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 JiBX</title>
-</head>
-
-<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
-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>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>
-<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 setup work 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
- 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
- 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 of JiBX, so download <a
- 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 on 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
- 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:
- <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>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>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
-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>
-
-<p>Download <a
-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
-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 in to the Java classes. As defined in the sample WSDL
-file, its content should be as follows 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
-thexsd2jibx/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 onto it. Execute 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. 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>Compile the first set of classes by typing: ant jar.client</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, rerun the ant task to generate
-the client: ant jar.client</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
-org.apache.axis2.axis2userguide.Client</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 JiBX</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 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>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>
+<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 setup work 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
+ 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
+ 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 of JiBX, so download <a
+ 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 on 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
+ 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:
+ <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>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>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
+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>
+
+<p>Download <a
+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
+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 in to the Java classes. As defined in the sample WSDL
+file, its content should be as follows 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
+thexsd2jibx/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 onto it. Execute 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. 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>Compile the first set of classes by typing: ant jar.client</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, rerun the ant task to generate
+the client: ant jar.client</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
+org.apache.axis2.axis2userguide.Client</p>
+</body>
+</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org