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 di...@apache.org on 2007/07/14 06:37:36 UTC
svn commit: r556222 [5/22] - in /webservices/axis2/trunk/java/xdocs: ./
@axis2_version_dir@/ @axis2_version_dir@/adb/ @axis2_version_dir@/jibx/
@axis2_version_dir@/src/ download/0_9/ download/0_91/ download/0_92/
download/0_93/ download/0_94/ download/...
Copied: webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/installationguide.xml (from r556217, webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/installationguide.html)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/installationguide.xml?view=diff&rev=556222&p1=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/installationguide.html&r1=556217&p2=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/installationguide.xml&r2=556222
==============================================================================
--- webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/installationguide.html (original)
+++ webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/installationguide.xml Fri Jul 13 21:37:26 2007
@@ -1,506 +1,438 @@
-<!--
-~ Licensed to the Apache Software Foundation (ASF) under one
-~ or more contributor license agreements. See the NOTICE file
-~ distributed with this work for additional information
-~ regarding copyright ownership. The ASF licenses this file
-~ to you under the Apache License, Version 2.0 (the
-~ "License"); you may not use this file except in compliance
-~ with the License. You may obtain a copy of the License at
-~
-~ http://www.apache.org/licenses/LICENSE-2.0
-~
-~ Unless required by applicable law or agreed to in writing,
-~ software distributed under the License is distributed on an
-~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-~ KIND, either express or implied. See the License for the
-~ specific language governing permissions and limitations
-~ under the License.
--->
-<html>
-<head>
- <meta http-equiv="content-type" content="">
- <title>Axis2 Installation Guide</title>
- <link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
- media="all">
-</head>
-
-<body lang="en">
-<h1 align="center">Apache Axis2 Installation Guide</h1>
-
-<p>This document provides information on Axis2 distribution packages, system
-prerequisites and setting up environment variables and tools followed by
-detailed instructions on installation methods.</p>
-
-<p><i>Send your feedback to: <a
-href="mailto:axis-dev@ws.apache.org?subject=[Axis2]">axis-dev@ws.apache.org</a></i>
-mailing list. (Subscription details are available on <a
-href="http://ws.apache.org/axis2/mail-lists.html">Axis2 site</a>.) Kindly
-prefix every email subject with [Axis2].</p>
-
-<h2>Contents</h2>
-<ul>
- <li><a href="#Download_Axis2">Axis2 Distributions</a></li>
- <li><a href="#requirements">System Requirements</a></li>
- <li><a href="#standalone">Installing Axis2 as a Standalone Server using the
- Standard Binary Distribution</a>
- <ul>
- <li><a href="#standalone1">Installing the Apache Axis2 Binary
- Distribution</a></li>
- <li><a href="#standalone2">Starting up Axis2 Standalone Server</a></li>
- <li><a href="#standalone3">Building the Axis2 WAR File Using the
- Standard Binary Distribution</a></li>
- <li><a href="#standalone4">Getting Familiar with Convenient Axis2
- Scripts</a></li>
- </ul>
- </li>
- <li><a href="#servlet_container">Installing Axis2 in a Servlet
- Container</a></li>
- <li><a href="#upload">Uploading Services</a></li>
- <li><a href="#advanced">Advanced</a>
- <ul>
- <li><a href="#source">Axis2 Source Distribution</a>
- <ul>
- <li><a href="#_Toc96698083">Setting up the Environment and
- Tools</a></li>
- <li><a href="#_Toc96698085">Building Axis2 Binaries and the WAR
- file Using the Source Distribution</a></li>
- </ul>
- </li>
- </ul>
- </li>
-</ul>
-<a name="Download_Axis2"></a>
-
-<h2>Axis2 Distributions</h2>
-
-<p>Axis2 is distributed in several convenient distribution packages and can
-be installed either as a standalone server or as part of a J2EE compliant
-servlet container. Axis2 is distributed under the Apache License, version
-2.0. This Installation Guide will mainly focus on running Apache Axis2 using
-the Standard Binary Distribution.</p>
-
-<p><a
-href="http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">Download</a>
-distribution packages of the Apache Axis2 @axis2_version@ version
-(latest).</p>
-
-<p></p>
-
-<p><a href="http://ws.apache.org/axis2/download.cgi">Download</a>
-distribution packages of all versions of Apache Axis2.</p>
-
-<p>The distribution packages provided are as follows:</p>
-<a name="std-bin" id="std-bin"></a>
-
-<h3>1. Standard Binary Distribution</h3>
-
-<p>This is the complete version of Axis2 and includes samples and convenient
-scripts as well.</p>
-
-<p><a
-href="http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">Download</a>
-Standard Binary Distribution</p>
-<a name="war1"></a>
-
-<h3>2. WAR (Web Archive) Distribution</h3>
-
-<p>This is the Web application of Axis2, which can be deployed in most of the
-servlet containers.</p>
-
-<p><a
-href="http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">Download</a>
-WAR (Web Archive) Distribution</p>
-
-<p></p>
-
-<h3>3. Documents Distribution</h3>
-
-<p>This contains all the documentation in one package. The package includes
-the xdocs and the Java API docs of this project.</p>
-
-<p><a
-href="http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">Download</a>
-Documents Distribution</p>
-
-<p></p>
-
-<h3>4. Source Distribution</h3>
-
-<p>This contains the sources of Axis2 standard distribution, and is mainly
-for the benefit of advanced users. One can generate a binary distribution
-using the source by typing <span class="style1">$maven dist-bin. </span> You
-need to set up the Axis2 environment before running this command. Step by
-step details on how to create the binary distribution is available in the <a
-href="#advanced">Advanced</a> section.</p>
-
-<p><a
-href="http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">Download</a>
-Source Distribution</p>
-<a name="requirements"></a>
-
-<h2>System Requirements</h2>
-
-<table border="2">
- <caption></caption>
- <tbody>
- <tr>
- <td>Java Development Kit (JDK)</td>
- <td>1.4 or later (For instructions on setting up the JDK in different
- operating systems, visit <a
- href="http://java.sun.com/">http://java.sun.com</a>)</td>
- </tr>
- <tr>
- <td>Disk</td>
- <td>Approximately 11 MB separately for standard binary distribution</td>
- </tr>
- <tr>
- <td>Operating system</td>
- <td>Tested on Windows XP, Linux, Mac OS X, Fedora core, Ubuntu,
- Gentoo</td>
- </tr>
- <tr>
- <td><strong>Build Tool</strong>-<a href="http://ant.apache.org/">Apache
- Ant</a>
-
- <p>To run samples and to build WAR files from Axis2 binary
- distribution.</p>
- </td>
- <td>Version 1.6.5 or higher (<a
- href="http://ant.apache.org/bindownload.cgi">download</a>).</td>
- </tr>
- <tr>
- <td><strong>Build Tool</strong>- <a
- href="http://maven.apache.org/maven-1.x/">Apache Maven 1.x</a>
-
- <p>Required <em>only</em> for building Axis2 from Source
- Distribution</p>
- </td>
- <td>1.0.2 or higher in Maven 1.x series (<a
- href="http://maven.apache.org/maven-1.x/start/download.html">download</a>).
- <strong>Please download Maven 1.x version. Axis2 does not support
- Maven 2.</strong></td>
- </tr>
- </tbody>
-</table>
-
-<p>Make sure that the above prerequisites are available for the Axis2
-installation.</p>
-<a name="standalone"></a>
-
-<h2>Installing Axis2 as a Standalone Server using the Standard Binary
-Distribution</h2>
-<a name="standalone1"></a>
-
-<p>This section provides you with the following information</p>
-<ol>
- <li>Install Axis2 as a standalone server using the Standard Binary
- Distribution</li>
- <li>Start up the Axis2 standalone server</li>
- <li>Building the axis2.war file (using the Standard Binary Distribution)
- which is required to run Axis2 as part of a J2EE compliant servlet
- container</li>
- <li>Running Axis2 convenient scripts</li>
-</ol>
-
-<h3>1. Download and Install the Apache Axis2 Binary Distribution</h3>
-
-<p><a href="http://java.sun.com/j2se/">Download</a> and install a Java
-Development Kit (JDK) release (version 1.4 or later). Install the JDK
-according to the instructions included with the release. Set an environment
-variable JAVA_HOME to the pathname of the directory into which you installed
-the JDK release.</p>
-
-<p>Download and unpack the <a
-href="http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">Axis2
-Standard Binary Distribution</a> into a convenient location so that the
-distribution resides in its own directory. Set an environment variable
-AXIS2_HOME to the pathname of the extracted directory of Axis2 (Eg:
-/opt/axis2-@axis2_version@). Linux users can alternatively run the setenv.sh
-file available in the AXIS2_HOME/bin directory to set the AXIS2_HOME
-environment variable to the Axis2 classpath.</p>
-
-<h3>2. Starting up Axis2 Standalone Server</h3>
-
-<p>The standalone Axis2 server can be started by executing the following
-commands: <br>
-$AXIS2_HOME\bin\axis2server.bat (Windows) <br>
-$AXIS2_HOME/bin/axis2server.sh (Unix)</p>
-
-<p>After startup, the default web services included with Axis2 will be
-available by visiting http://localhost:8080/axis2/services/</p>
-<a name="standalone3" id="standalone3"></a>
-
-<h3>3. Building the Axis2 Web Application (axis2.war) Using Standard Binary
-Distribution</h3>
-
-<p><a href="http://ant.apache.org/bindownload.cgi">Download</a> and install
-Apache Ant (version 1.6.5 or later). Install Apache Ant according to the
-instructions included with the Ant release.</p>
-
-<p>Locate the Ant build file (build.xml) inside the webapp directory, which
-resides in your Axis2 home directory (i.e:- $AXIS_HOME/webapp)". Run the Ant
-build by executing "ant create.war" inside the $AXIS2_HOME/webapps folder.
-You can find the generated axis2.war inside the $AXIS2_HOME/dist directory.
-All the services and modules that are present in the AXIS2_HOME/repository
-will be packed into the created axis2.war together with the Axis2
-configuration found at $AXIS2_HOME/conf/axis2.xml.</p>
-
-<p>Read <a href="#servlet_container">Installing Axis2 in a Servlet
-Container</a> to find out how to deploy the Axis2 Web application in a
-servlet container.</p>
-<a name="standalone4"></a>
-
-<h3>4. Getting Familiar with the Convenient Axis2 Scripts</h3>
-
-<p>It is advised to add the $AXIS2_HOME/bin to the PATH, so that you'll be
-able to run the following scripts from anywhere.</p>
-
-<table border="1">
- <tbody>
- <tr>
- <td><b>Script Name</b></td>
- <td><b>Description</b></td>
- </tr>
- <tr>
- <td>axis2.{bat|sh}</td>
- <td>You can use this script to run web service clients written using
- Axis2. This script calls the "java" command after adding the
- classpath for Axis2 dependent libraries (*.jar files present in your
- AXIS2_HOME/lib), setting the Axis2 repository location
- (AXIS2_HOME/repository) and setting the Axis2 configuration file
- location(AXIS2_HOME/conf/axis2.xml) for you. With this you can be
- relieved from setting all the above Axis2 specific parameters.<br>
-
-
- <p><em>Usage : axis2.{sh.bat} [-options] class [args...]</em></p>
- </td>
- </tr>
- <tr>
- <td>axis2server.{sh|bat}</td>
- <td>This script will start a standalone Axis2 server using the
- AXIS2_HOME/repository as the Axis2 repository and the
- AXIS2_HOME/conf/axis2.xml as the Axis2 configuration file. This will
- start all the transport listeners listed in the
- AXIS2_HOME/conf/axis2.xml.
-
- <p>For example, if you want to deploy a service using a standalone
- Axis2 server,then copy your service archive to the
- AXIS2_HOME/repository/services directory. Next, go to the "Transport
- Ins" section of the AXIS2_HOME/conf/axis2.xml and configure the
- transport receivers (simpleHttpServer in port 8080 is listed by
- default). Then invoke this script.</p>
- </td>
- </tr>
- <tr>
- <td>wsdl2java.{bat|sh}</td>
- <td>This script generates Java code according to a given WSDL file to
- handle Web service invocations (client-side stubs). This script also
- has the ability to generate web service skeletons according to the
- given WSDL.<br>
-
-
- <p><em>Usage: wsdl2java.{sh|bat} [OPTION]... -uri <Location of
- WSDL></em></p>
-
- <p>e.g., wsdl2java.sh -uri ../wsdl/Axis2Sample.wsdl</p>
-
- <p>A more detailed reference about this script can be found <a
- href="reference.html">here</a></p>
- </td>
- </tr>
- <tr>
- <td>java2wsdl.{bat|sh}</td>
- <td>This script generates the appropriate WSDL file for a given Java
- class.<br>
-
-
- <p><em>Usage: Java2WSDL.{sh|bat} [OPTION]... -cn <fully qualified
- class name></em></p>
-
- <p>e.g., Java2WSDL.sh -cn ../samples/test/searchTool.Search</p>
-
- <p>A more detailed reference about this script can be found <a
- href="reference.html">here</a></p>
- </td>
- </tr>
- </tbody>
-</table>
-<a name="servlet_container"></a>
-
-<h2>Installing Axis2 in a Servlet Container</h2>
-
-<p>Whichever the distribution, installing Axis2 in a J2EE compliant servlet
-container is as follows:</p>
-<ol>
- <li>Build the Axis2 WAR file using the Axis2 <a
- href="#standalone3">Standard Binary Distribution</a>. (Alternatively you
- can <a
- href="http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">download</a>
- the axis2.war file or you can build axis2.war using the <a
- href="#war">Source Distribution</a>.</li>
- <li>Drop the WAR file in the webapps folder of the servlet container. Most
- servlet containers will automatically install the WAR file. (Some servlet
- containers may require a restart in order to capture the new web
- application. Refer to your servlet container documentation for more
- information.)</li>
- <li>Once the WAR is successfully installed, test it by pointing the web
- browser to the <strong>http://<host :port>/axis2. </strong>It
- should produce the following page which is the <strong>Axis2 Web
- Application Home Page</strong>.</li>
-
- <p align="center"><strong><img src="images/clip_image006.jpg"
- alt=""></strong></p>
- <li>Use the link "Validate" to ensure that everything is running correctly.
- If the validation fails then the WAR has failed to install properly or
- some essential jars are missing. In such a situation, refer to the
- documentation of the particular servlet container to find the problem.
- The following page shows a successful validation. Note the statement that
- indicates the core Axis2 libraries are present.</li>
-</ol>
-
-<p align="center"><img src="images/happyaxis.jpg"></p>
-<a name="upload"></a>
-
-<p><strong>Note:</strong> For any Application server specific installation
-information please refer to the <a href="app_server.html">Application Server
-Specific Configuration Guide</a>.</p>
-
-<h2>Uploading Services</h2>
-<ol>
- <p>The Axis2 Web application also provides an interface to upload services.
- Once a service archive file is created according to the service
- specification as described in the <a name="adv-userguide.html"
- target="_blank">Advanced User's Guide</a>, that .aar file can be uploaded
- using the upload page.</p>
-
- <p align="center"><strong><img src="images/clip_image010.jpg"
- alt=""></strong></p>
-
- <p>The uploaded .aar files will be stored in the default service directory.
- For Axis2, this will be the <webapps>/axis2/WEB-INF/services
- directory. Once a service is uploaded, it will be installed instantly.</p>
- <a name="hot_deployment"></a>
-
- <p>Since Axis2 supports <strong>hot deployment</strong>, you can drop the
- service archive directly through the file system to the above mentioned
- services directory. It will also cause the service to be automatically
- installed without the container being restarted.</p>
-
- <p>Use the 'Services' link on the Web Application home page to check the
- successful installation of a service. The services and the operations of
- successfully installed services will be displayed on the available services
- page.</p>
-
- <p align="center"><img src="images/clip_image012.jpg" alt=""></p>
-
- <p></p>
-
- <p>If the service has deployment time errors it will list those services as
- faulty services. If you click on the link, you will see the deployment
- fault error messages.</p>
-
- <p align="center"><img src="images/faultservice.jpg" alt=""></p>
-
- <p>Deployment time error message</p>
-
- <p align="center"><strong><img src="images/faultmsg.jpg"
- alt=""></strong></p>
-
- <p></p>
-
- <p>Axis2 Administration is all about configuring Axis2 at the run time and
- the configuration will be transient. More descriptions are available in the
- <a href="webadminguide.html" target="_blank">Axis2 Web Administration
- Guide</a></p>
-</ol>
-<a name="advanced"></a>
-
-<h2>Advanced</h2>
-<a name="source"></a>
-
-<h2>Axis2 Source Distribution</h2>
-<a name="_Toc96698083"></a> By using the Source Distribution, both binary
-files (which can be downloaded as the <a href="#std-bin">Standard Binary
-Distribution</a>) and the axis2.war file (which can be downloaded as the <a
-href="#war1">WAR distribution</a>) can be built using Maven commands.
-
-<p>Required jar files do not come with the distribution and they will also
-have to be built by running the maven command. Before we go any further, it
-is necessary to install <a href="http://maven.apache.org/maven-1.x/"
-target="_blank">Maven</a> and set up its environment, as explained below.</p>
-<a name="env-src"></a>
-
-<h3>Setting Up the Environment and Tools</h3>
-<a name="maven"></a>
-
-<h4>Maven</h4>
-
-<p>The Axis2 build is based on <a href="http://maven.apache.org/maven-1.x/"
-target="_blank">Maven </a>. Hence the only prerequisite to build Axis2 from
-the source distribution is to have Maven installed. Extensive instruction
-guides are available at the Maven site. This guide however contains the
-easiest path for quick environment setting. Advanced users who wish to know
-more about Maven can visit <a
-href="http://maven.apache.org/maven-1.x/start/index.html"
-target="_blank">this site.</a></p>
-<ul>
- <li>MS Windows</li>
-</ul>
-<ol>
- <li>Download and run the Windows installer package for Maven.</li>
- <li>Set the 'Environment Variables' ( create system variable MAVEN_HOME and
- edit path. eg: "C:\Program Files\Apache Software Foundation\maven-1.0.2";
- path %MAVEN_HOME%\bin)</li>
- <li>Make sure that the system variable JAVA_HOME is set to the location of
- your JDK, eg. C:\Program Files\Java\jdk1.5.0_02</li>
- <li>Run maven --version to verify that it is correctly installed.</li>
-</ol>
-
-<p align="center"><img alt="clip_image002 (15K)"
-src="images/clip_image002.jpg" height="211" width="477"></p>
-<ul>
- <li>Unix based OS (Linux etc)</li>
-</ul>
-
-<p>The tar ball or the zip archive is the best option. Once the archive is
-downloaded expand it to a directory of choice and set the environment
-variable MAVEN_HOME and add MAVEN_HOME/bin to the path as well. <a
-href="http://maven.apache.org/download.html#Installation">More
-instructions</a> for installing Maven in Unix based operating systems.</p>
-
-<p>Once Maven is properly installed, you can start building Axis2.</p>
-
-<p><a href="../faq.html#d4">Maven commands that are frequently used</a> in
-Axis2 are listed on the <a href="../faq.html">FAQs</a> page.</p>
-<a name="_Toc96698085"></a>
-
-<h3>Building Binaries and the WAR File Using the Source Distribution</h3>
-
-<p>The Source Distribution is available as a zipped archive. All the
-necessary build scripts are included with the source distribution. Once the
-source archive is expanded into a directory of choice, moving to the
-particular directory and running <code>maven</code> command will build the
-Axis2 jar file.</p>
-
-<p align="center"><img alt="clip_image004 (43K)" src="images/maven.png"><br
-clear="all">
-</p>
-
-<p>Once the command completes, the binaries (jar files in this case) can be
-found at a newly created "target" directory.</p>
-
-<p><strong>Note: For the first Maven build (if the maven repository is not
-built first) it will take a while since the required jars need to be
-downloaded. However, this is a once only process and will not affect any
-successive builds.</strong></p>
-<a name="war"></a>
-
-<p><strong></strong>The default maven build will however build only the Axis2
-jar file. To obtain a <strong>WAR (Web Archive)</strong>, <code>maven
-war</code> command should be issued. This will create a complete WAR with the
-name axis2.war inside the target directory.</p>
-
-<p>Once this build step is complete, the binaries are ready to be
-deployed.</p>
-<a name="_Toc96698086"></a></body>
-</html>
+<!--
+~ Licensed to the Apache Software Foundation (ASF) under one
+~ or more contributor license agreements. See the NOTICE file
+~ distributed with this work for additional information
+~ regarding copyright ownership. The ASF licenses this file
+~ to you under the Apache License, Version 2.0 (the
+~ "License"); you may not use this file except in compliance
+~ with the License. You may obtain a copy of the License at
+~
+~ http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing,
+~ software distributed under the License is distributed on an
+~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~ KIND, either express or implied. See the License for the
+~ specific language governing permissions and limitations
+~ under the License.
+-->
+<!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>
+<meta name="generator" content=
+"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
+<meta http-equiv="content-type" content="" />
+<title>Axis2 Installation Guide</title>
+<link href="../css/axis-docs.css" rel="stylesheet" type="text/css"
+media="all" />
+</head>
+<body lang="en" xml:lang="en">
+<h1 align="center">Apache Axis2 Installation Guide</h1>
+<p>This document provides information on Axis2 distribution
+packages, system prerequisites and setting up environment variables
+and tools followed by detailed instructions on installation
+methods.</p>
+<p><i>Send your feedback to: <a href=
+"mailto:axis-dev@ws.apache.org?subject=[Axis2]">axis-dev@ws.apache.org</a></i>
+mailing list. (Subscription details are available on <a href=
+"http://ws.apache.org/axis2/mail-lists.html">Axis2 site</a>.)
+Kindly prefix every email subject with [Axis2].</p>
+<h2>Contents</h2>
+<ul>
+<li><a href="#Download_Axis2">Axis2 Distributions</a></li>
+<li><a href="#requirements">System Requirements</a></li>
+<li><a href="#standalone">Installing Axis2 as a Standalone Server
+using the Standard Binary Distribution</a>
+<ul>
+<li><a href="#standalone1">Installing the Apache Axis2 Binary
+Distribution</a></li>
+<li><a href="#standalone2">Starting up Axis2 Standalone
+Server</a></li>
+<li><a href="#standalone3">Building the Axis2 WAR File Using the
+Standard Binary Distribution</a></li>
+<li><a href="#standalone4">Getting Familiar with Convenient Axis2
+Scripts</a></li>
+</ul>
+</li>
+<li><a href="#servlet_container">Installing Axis2 in a Servlet
+Container</a></li>
+<li><a href="#upload">Uploading Services</a></li>
+<li><a href="#advanced">Advanced</a>
+<ul>
+<li><a href="#source">Axis2 Source Distribution</a>
+<ul>
+<li><a href="#_Toc96698083">Setting up the Environment and
+Tools</a></li>
+<li><a href="#_Toc96698085">Building Axis2 Binaries and the WAR
+file Using the Source Distribution</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<a name="Download_Axis2" id="Download_Axis2"></a>
+<h2>Axis2 Distributions</h2>
+<p>Axis2 is distributed in several convenient distribution packages
+and can be installed either as a standalone server or as part of a
+J2EE compliant servlet container. Axis2 is distributed under the
+Apache License, version 2.0. This Installation Guide will mainly
+focus on running Apache Axis2 using the Standard Binary
+Distribution.</p>
+<p><a href=
+"http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">
+Download</a> distribution packages of the Apache Axis2
+@axis2_version@ version (latest).</p>
+<p><a href="http://ws.apache.org/axis2/download.cgi">Download</a>
+distribution packages of all versions of Apache Axis2.</p>
+<p>The distribution packages provided are as follows:</p>
+<a name="std-bin" id="std-bin"></a>
+<h3>1. Standard Binary Distribution</h3>
+<p>This is the complete version of Axis2 and includes samples and
+convenient scripts as well.</p>
+<p><a href=
+"http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">
+Download</a> Standard Binary Distribution</p>
+<a name="war1" id="war1"></a>
+<h3>2. WAR (Web Archive) Distribution</h3>
+<p>This is the Web application of Axis2, which can be deployed in
+most of the servlet containers.</p>
+<p><a href=
+"http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">
+Download</a> WAR (Web Archive) Distribution</p>
+<h3>3. Documents Distribution</h3>
+<p>This contains all the documentation in one package. The package
+includes the xdocs and the Java API docs of this project.</p>
+<p><a href=
+"http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">
+Download</a> Documents Distribution</p>
+<h3>4. Source Distribution</h3>
+<p>This contains the sources of Axis2 standard distribution, and is
+mainly for the benefit of advanced users. One can generate a binary
+distribution using the source by typing <span class="style1">$maven
+dist-bin.</span> You need to set up the Axis2 environment before
+running this command. Step by step details on how to create the
+binary distribution is available in the <a href=
+"#advanced">Advanced</a> section.</p>
+<p><a href=
+"http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">
+Download</a> Source Distribution</p>
+<a name="requirements" id="requirements"></a>
+<h2>System Requirements</h2>
+<table border="2">
+<tbody>
+<tr>
+<td>Java Development Kit (JDK)</td>
+<td>1.4 or later (For instructions on setting up the JDK in
+different operating systems, visit <a href=
+"http://java.sun.com/">http://java.sun.com</a>)</td>
+</tr>
+<tr>
+<td>Disk</td>
+<td>Approximately 11 MB separately for standard binary
+distribution</td>
+</tr>
+<tr>
+<td>Operating system</td>
+<td>Tested on Windows XP, Linux, Mac OS X, Fedora core, Ubuntu,
+Gentoo</td>
+</tr>
+<tr>
+<td><strong>Build Tool</strong>-<a href=
+"http://ant.apache.org/">Apache Ant</a>
+<p>To run samples and to build WAR files from Axis2 binary
+distribution.</p>
+</td>
+<td>Version 1.6.5 or higher (<a href=
+"http://ant.apache.org/bindownload.cgi">download</a>).</td>
+</tr>
+<tr>
+<td><strong>Build Tool</strong>- <a href=
+"http://maven.apache.org/maven-1.x/">Apache Maven 1.x</a>
+<p>Required <em>only</em> for building Axis2 from Source
+Distribution</p>
+</td>
+<td>1.0.2 or higher in Maven 1.x series (<a href=
+"http://maven.apache.org/maven-1.x/start/download.html">download</a>).
+<strong>Please download Maven 1.x version. Axis2 does not support
+Maven 2.</strong></td>
+</tr>
+</tbody>
+</table>
+<p>Make sure that the above prerequisites are available for the
+Axis2 installation.</p>
+<a name="standalone" id="standalone"></a>
+<h2>Installing Axis2 as a Standalone Server using the Standard
+Binary Distribution</h2>
+<a name="standalone1" id="standalone1"></a>
+<p>This section provides you with the following information</p>
+<ol>
+<li>Install Axis2 as a standalone server using the Standard Binary
+Distribution</li>
+<li>Start up the Axis2 standalone server</li>
+<li>Building the axis2.war file (using the Standard Binary
+Distribution) which is required to run Axis2 as part of a J2EE
+compliant servlet container</li>
+<li>Running Axis2 convenient scripts</li>
+</ol>
+<h3>1. Download and Install the Apache Axis2 Binary
+Distribution</h3>
+<p><a href="http://java.sun.com/j2se/">Download</a> and install a
+Java Development Kit (JDK) release (version 1.4 or later). Install
+the JDK according to the instructions included with the release.
+Set an environment variable JAVA_HOME to the pathname of the
+directory into which you installed the JDK release.</p>
+<p>Download and unpack the <a href=
+"http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">
+Axis2 Standard Binary Distribution</a> into a convenient location
+so that the distribution resides in its own directory. Set an
+environment variable AXIS2_HOME to the pathname of the extracted
+directory of Axis2 (Eg: /opt/axis2-@axis2_version@). Linux users
+can alternatively run the setenv.sh file available in the
+AXIS2_HOME/bin directory to set the AXIS2_HOME environment variable
+to the Axis2 classpath.</p>
+<h3>2. Starting up Axis2 Standalone Server</h3>
+<p>The standalone Axis2 server can be started by executing the
+following commands:<br />
+$AXIS2_HOME\bin\axis2server.bat (Windows)<br />
+$AXIS2_HOME/bin/axis2server.sh (Unix)</p>
+<p>After startup, the default web services included with Axis2 will
+be available by visiting http://localhost:8080/axis2/services/</p>
+<a name="standalone3" id="standalone3"></a>
+<h3>3. Building the Axis2 Web Application (axis2.war) Using
+Standard Binary Distribution</h3>
+<p><a href="http://ant.apache.org/bindownload.cgi">Download</a> and
+install Apache Ant (version 1.6.5 or later). Install Apache Ant
+according to the instructions included with the Ant release.</p>
+<p>Locate the Ant build file (build.xml) inside the webapp
+directory, which resides in your Axis2 home directory (i.e:-
+$AXIS_HOME/webapp)". Run the Ant build by executing "ant
+create.war" inside the $AXIS2_HOME/webapps folder. You can find the
+generated axis2.war inside the $AXIS2_HOME/dist directory. All the
+services and modules that are present in the AXIS2_HOME/repository
+will be packed into the created axis2.war together with the Axis2
+configuration found at $AXIS2_HOME/conf/axis2.xml.</p>
+<p>Read <a href="#servlet_container">Installing Axis2 in a Servlet
+Container</a> to find out how to deploy the Axis2 Web application
+in a servlet container.</p>
+<a name="standalone4" id="standalone4"></a>
+<h3>4. Getting Familiar with the Convenient Axis2 Scripts</h3>
+<p>It is advised to add the $AXIS2_HOME/bin to the PATH, so that
+you'll be able to run the following scripts from anywhere.</p>
+<table border="1">
+<tbody>
+<tr>
+<td><b>Script Name</b></td>
+<td><b>Description</b></td>
+</tr>
+<tr>
+<td>axis2.{bat|sh}</td>
+<td>You can use this script to run web service clients written
+using Axis2. This script calls the "java" command after adding the
+classpath for Axis2 dependent libraries (*.jar files present in
+your AXIS2_HOME/lib), setting the Axis2 repository location
+(AXIS2_HOME/repository) and setting the Axis2 configuration file
+location(AXIS2_HOME/conf/axis2.xml) for you. With this you can be
+relieved from setting all the above Axis2 specific
+parameters.<br />
+<p><em>Usage : axis2.{sh.bat} [-options] class [args...]</em></p>
+</td>
+</tr>
+<tr>
+<td>axis2server.{sh|bat}</td>
+<td>This script will start a standalone Axis2 server using the
+AXIS2_HOME/repository as the Axis2 repository and the
+AXIS2_HOME/conf/axis2.xml as the Axis2 configuration file. This
+will start all the transport listeners listed in the
+AXIS2_HOME/conf/axis2.xml.
+<p>For example, if you want to deploy a service using a standalone
+Axis2 server,then copy your service archive to the
+AXIS2_HOME/repository/services directory. Next, go to the
+"Transport Ins" section of the AXIS2_HOME/conf/axis2.xml and
+configure the transport receivers (simpleHttpServer in port 8080 is
+listed by default). Then invoke this script.</p>
+</td>
+</tr>
+<tr>
+<td>wsdl2java.{bat|sh}</td>
+<td>This script generates Java code according to a given WSDL file
+to handle Web service invocations (client-side stubs). This script
+also has the ability to generate web service skeletons according to
+the given WSDL.<br />
+<p><em>Usage: wsdl2java.{sh|bat} [OPTION]... -uri <Location of
+WSDL></em></p>
+<p>e.g., wsdl2java.sh -uri ../wsdl/Axis2Sample.wsdl</p>
+<p>A more detailed reference about this script can be found
+<a href="reference.html">here</a></p>
+</td>
+</tr>
+<tr>
+<td>java2wsdl.{bat|sh}</td>
+<td>This script generates the appropriate WSDL file for a given
+Java class.<br />
+<p><em>Usage: Java2WSDL.{sh|bat} [OPTION]... -cn <fully
+qualified class name></em></p>
+<p>e.g., Java2WSDL.sh -cn ../samples/test/searchTool.Search</p>
+<p>A more detailed reference about this script can be found
+<a href="reference.html">here</a></p>
+</td>
+</tr>
+</tbody>
+</table>
+<a name="servlet_container" id="servlet_container"></a>
+<h2>Installing Axis2 in a Servlet Container</h2>
+<p>Whichever the distribution, installing Axis2 in a J2EE compliant
+servlet container is as follows:</p>
+<ol>
+<li>Build the Axis2 WAR file using the Axis2 <a href=
+"#standalone3">Standard Binary Distribution</a>. (Alternatively you
+can <a href=
+"http://ws.apache.org/axis2/download/@axis2_version_dir@/download.cgi">
+download</a> the axis2.war file or you can build axis2.war using
+the <a href="#war">Source Distribution</a>.</li>
+<li>Drop the WAR file in the webapps folder of the servlet
+container. Most servlet containers will automatically install the
+WAR file. (Some servlet containers may require a restart in order
+to capture the new web application. Refer to your servlet container
+documentation for more information.)
+<p align="center"><strong><img src="images/clip_image006.jpg" alt=
+"" /></strong></p>
+</li>
+<li>Once the WAR is successfully installed, test it by pointing the
+web browser to the <strong>http://<host
+:port>/axis2.</strong> It should produce the following page
+which is the <strong>Axis2 Web Application Home Page</strong>.</li>
+<li>Use the link "Validate" to ensure that everything is running
+correctly. If the validation fails then the WAR has failed to
+install properly or some essential jars are missing. In such a
+situation, refer to the documentation of the particular servlet
+container to find the problem. The following page shows a
+successful validation. Note the statement that indicates the core
+Axis2 libraries are present.</li>
+</ol>
+<p align="center"><img src="images/happyaxis.jpg" /></p>
+<a name="upload" id="upload"></a>
+<p><strong>Note:</strong> For any Application server specific
+installation information please refer to the <a href=
+"app_server.html">Application Server Specific Configuration
+Guide</a>.</p>
+<h2>Uploading Services</h2>
+<div style="margin-left: 2em">
+<p>The Axis2 Web application also provides an interface to upload
+services. Once a service archive file is created according to the
+service specification as described in the <a name=
+"adv-userguide.html" target="_blank" id=
+"adv-userguide.html">Advanced User's Guide</a>, that .aar file can
+be uploaded using the upload page.</p>
+<p align="center"><strong><img src="images/clip_image010.jpg" alt=
+"" /></strong></p>
+<p>The uploaded .aar files will be stored in the default service
+directory. For Axis2, this will be the
+<webapps>/axis2/WEB-INF/services directory. Once a service is
+uploaded, it will be installed instantly.</p>
+<a name="hot_deployment" id="hot_deployment"></a>
+<p>Since Axis2 supports <strong>hot deployment</strong>, you can
+drop the service archive directly through the file system to the
+above mentioned services directory. It will also cause the service
+to be automatically installed without the container being
+restarted.</p>
+<p>Use the 'Services' link on the Web Application home page to
+check the successful installation of a service. The services and
+the operations of successfully installed services will be displayed
+on the available services page.</p>
+<p align="center"><img src="images/clip_image012.jpg" alt="" /></p>
+<p>If the service has deployment time errors it will list those
+services as faulty services. If you click on the link, you will see
+the deployment fault error messages.</p>
+<p align="center"><img src="images/faultservice.jpg" alt="" /></p>
+<p>Deployment time error message</p>
+<p align="center"><strong><img src="images/faultmsg.jpg" alt=
+"" /></strong></p>
+<p>Axis2 Administration is all about configuring Axis2 at the run
+time and the configuration will be transient. More descriptions are
+available in the <a href="webadminguide.html" target="_blank">Axis2
+Web Administration Guide</a></p>
+</div>
+<a name="advanced" id="advanced"></a>
+<h2>Advanced</h2>
+<a name="source" id="source"></a>
+<h2>Axis2 Source Distribution</h2>
+<a name="_Toc96698083"></a> By using the Source Distribution, both
+binary files (which can be downloaded as the <a href=
+"#std-bin">Standard Binary Distribution</a>) and the axis2.war file
+(which can be downloaded as the <a href="#war1">WAR
+distribution</a>) can be built using Maven commands.
+<p>Required jar files do not come with the distribution and they
+will also have to be built by running the maven command. Before we
+go any further, it is necessary to install <a href=
+"http://maven.apache.org/maven-1.x/" target="_blank">Maven</a> and
+set up its environment, as explained below.</p>
+<a name="env-src" id="env-src"></a>
+<h3>Setting Up the Environment and Tools</h3>
+<a name="maven" id="maven"></a>
+<h4>Maven</h4>
+<p>The Axis2 build is based on <a href=
+"http://maven.apache.org/maven-1.x/" target="_blank">Maven</a> .
+Hence the only prerequisite to build Axis2 from the source
+distribution is to have Maven installed. Extensive instruction
+guides are available at the Maven site. This guide however contains
+the easiest path for quick environment setting. Advanced users who
+wish to know more about Maven can visit <a href=
+"http://maven.apache.org/maven-1.x/start/index.html" target=
+"_blank">this site.</a></p>
+<ul>
+<li>MS Windows</li>
+</ul>
+<ol>
+<li>Download and run the Windows installer package for Maven.</li>
+<li>Set the 'Environment Variables' ( create system variable
+MAVEN_HOME and edit path. eg: "C:\Program Files\Apache Software
+Foundation\maven-1.0.2"; path %MAVEN_HOME%\bin)</li>
+<li>Make sure that the system variable JAVA_HOME is set to the
+location of your JDK, eg. C:\Program Files\Java\jdk1.5.0_02</li>
+<li>Run maven --version to verify that it is correctly
+installed.</li>
+</ol>
+<p align="center"><img alt="clip_image002 (15K)" src=
+"images/clip_image002.jpg" height="211" width="477" /></p>
+<ul>
+<li>Unix based OS (Linux etc)</li>
+</ul>
+<p>The tar ball or the zip archive is the best option. Once the
+archive is downloaded expand it to a directory of choice and set
+the environment variable MAVEN_HOME and add MAVEN_HOME/bin to the
+path as well. <a href=
+"http://maven.apache.org/download.html#Installation">More
+instructions</a> for installing Maven in Unix based operating
+systems.</p>
+<p>Once Maven is properly installed, you can start building
+Axis2.</p>
+<p><a href="../faq.html#d4">Maven commands that are frequently
+used</a> in Axis2 are listed on the <a href="../faq.html">FAQs</a>
+page.</p>
+<a name="_Toc96698085"></a>
+<h3>Building Binaries and the WAR File Using the Source
+Distribution</h3>
+<p>The Source Distribution is available as a zipped archive. All
+the necessary build scripts are included with the source
+distribution. Once the source archive is expanded into a directory
+of choice, moving to the particular directory and running
+<code>maven</code> command will build the Axis2 jar file.</p>
+<p align="center"><img alt="clip_image004 (43K)" src=
+"images/maven.png" /><br clear="all" /></p>
+<p>Once the command completes, the binaries (jar files in this
+case) can be found at a newly created "target" directory.</p>
+<p><strong>Note: For the first Maven build (if the maven repository
+is not built first) it will take a while since the required jars
+need to be downloaded. However, this is a once only process and
+will not affect any successive builds.</strong></p>
+<a name="war" id="war"></a>
+<p>The default maven build will however build only the Axis2 jar
+file. To obtain a <strong>WAR (Web Archive)</strong>, <code>maven
+war</code> command should be issued. This will create a complete
+WAR with the name axis2.war inside the target directory.</p>
+<p>Once this build step is complete, the binaries are ready to be
+deployed.</p>
+<a name="_Toc96698086"></a>
+</body>
+</html>
Copied: webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-codegen-integration.xml (from r556217, webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-codegen-integration.html)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-codegen-integration.xml?view=diff&rev=556222&p1=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-codegen-integration.html&r1=556217&p2=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-codegen-integration.xml&r2=556222
==============================================================================
--- webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-codegen-integration.html (original)
+++ webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-codegen-integration.xml Fri Jul 13 21:37:26 2007
@@ -1,228 +1,220 @@
-
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
- -->
-<html>
-
-<head>
- <meta http-equiv="content-type" content="">
- <title>JiBX Integration with Axis2</title>
- <link href="../../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
-</head>
-
-<body>
-
-<h1>JiBX Integration With Axis2</h1>
-
-<p>This document describes using JiBX data binding with Axis2. JiBX differs from
-the other data binding techniques supported by Axis2 in that it allows you to
-use your own Java data objects (as opposed to Java data objects generated from a
-schema definition). JiBX also provides a nicer form of unwrapped Web services
-interface than is supported by the other data binding techniques. On the
-downside, JiBX requires more setup than the other data binding techniques - in
-particular, you need to come up with a set of data classes and a binding
-definition in order to work with JiBX in Axis2.</p>
-
-<p>JiBX support for Axis2 and Web services in general is continuing to evolve.
-This page covers the basics of using JiBX with Axis2 as of the current release.
-Check the <a href="http://www.sosnoski.com/jibx-wiki/space/axis2-jibx">JiBX
-Axis2 Wiki page</a> for updated information about using JiBX with Axis2.</p>
-
-<h2>Content</h2>
-<ul>
- <li><a href="#intro">Introduction</a></li>
- <li><a href="#wrapped">Wrapped vs. unwrapped</a></li>
- <li><a href="#java">Starting from Java</a></li>
- <li><a href="#wsdl">Starting from WSDL</a></li>
- <li><a href="#codegen">Axis2 JiBX Code Generation</a></li>
- <li><a href="#coming">Coming Attractions</a></li>
-</ul>
-
-<a name="intro"></a>
-<h2>Introduction</h2>
-
-<p><a href="http://www.jibx.org">JiBX data binding</a> supports fast and
-flexible conversions between plain old Java objects (POJOs) and XML. JiBX
-uses a mapped binding approach that's based on binding definition documents
-you provide. This approach let's you customize the way your Java objects are
-converted to and from XML. You can even define multiple bindings to use the same
-Java objects with different XML representations. These features make JiBX
-especially useful if you're developing a Web service based on existing Java
-code, or when you need to support multiple XML representations for a Web service
-(as when you're using versioned schema definitions).</p>
-
-<p>Axis2 supports using JiBX with your Web services, including generating the
-necessary linkage code for both client and server sides. However, the Axis2
-support for JiBX does not currently include code generation from the schema
-for a Web service - you need to provide your own data classes and JiBX
-binding definition, and you also need to make sure that the binding
-definition matches the XML structures defined for your Web service. The JiBX
-project provides some basic tools to help with code generation from schema,
-binding generation from Java classes, and schema generation from the
-combination of Java classes and a binding definition. In the future, improved
-versions of these tools will be integrated directly into the Axis2 framework
-support, but for now you're on your own with this part of the setup.</p>
-
-<p>You can use JiBX data binding both to expose existing Java code as a
-service, and to build a client for an existing service. This document runs
-through the sequence of steps involved for each of these cases, just to help
-users understand the basic approach to working with JiBX in Axis2. You can
-find full instructions on the standard JiBX parts of this sequence on the <a
-href="http://www.jibx.org">JiBX Web site</a>.</p>
-
-<a name="wrapped"></a>
-<h2>Wrapped vs. unwrapped</h2>
-
-<p>Axis2 support for JiBX currently only works with the document-literal
-(doc/lit) form of Web services definitions. Doc/lit Web services generally use
-particular schema elements as input and output from each operation, and the
-Axis2 support for JiBX assumes this structure (which is also the structure
-required for compatibility with the
-<a href="http://www.ws-i.org/Profiles/BasicProfile-1.1.html">WS-I Basic Profile</a>).
-</p>
-
-<p>A popular subset of doc/lit Web services use a form called "wrapped". Wrapped
-doc/lit Web services define service operations that correspond to method calls,
-using input and output element names based on the method name and embedding the
-actual parameter values for the method call within the input element.
-</p>
-
-<p>When used with Axis2, JiBX supports both general doc/lit and wrapped service
-definitions. Wrapped service definitions can be "unwrapped" during code
-generation to provide a greatly simplified interface. JiBX unwrapping of service
-definitions is not compatible with the unwrapping support for other data binding
-frameworks used with Axis2, but most users will find the JiBX approach easy and
-convenient. See the <a href="./jibx-unwrapped-example.html">JiBX Unwrapped
-Example</a> and the <a href="./jibx-doclit-example.html">JiBX Document/Literal
-Example</a> pages for a detailed comparison of the two forms of service
-interface.
-</p>
-
-<a name="java"></a>
-<h2>Starting from Java</h2>
-
-<p>Here's the sequence of steps for using JiBX with Axis2 to expose existing
-Java code as a Web service:</p>
-<ol>
- <li>Create a JiBX binding definition for the data being transferred by the
- Web service (you may be able to use the JiBX binding generator to help with
- this step).</li>
- <li>Create a schema that matches the XML defined by your binding (you may
- be able to use the JiBX schema generator to help with this). If you're using
- a wrapped form of interface to your service you'll also need to create
- schema definitions for the wrapper input and output elements used by each
- operation.</li>
- <li>Create a WSDL document for your service, with the schema embedded or
- imported.</li>
- <li>Generate Axis2 server-side linkage code using WSDL2Java with the WSDL
- and your binding definition.</li>
- <li>Run the JiBX binding compiler on your Java classes to add the actual
- binding code.</li>
- <li>Include the <i>axis2-jibx.jar</i> in your runtime classpath, along with
- the <i>jibx-runtime.jar</i>.</li>
-</ol>
-
-<p>If you use a wrapped interface for your Web service you can expose method
-calls in your existing code directly as operations in the service. In this case
-you normally just use your existing data objects with JiBX data binding, and add
-schema definitions for the wrapper elements. See the
-<a href="./jibx-unwrapped-example.html">JiBX Unwrapped Example</a> page for more
-details on how this works.
-</p>
-
-<p>If you use a non-wrapped interface for your Web service you need to define
-classes to hold the data input and output from each operation. In this case
-these holder classes need to be included in the JiBX binding definition. See the
-<a href="./jibx-doclit-example.html">JiBX Document/Literal Example</a> page for
-more details on this case.
-</p>
-
-<a name="wsdl"></a>
-<h2>Starting from WSDL</h2>
-
-<p>Here's the sequence of steps for using JiBX with Axis2 to implement a
-client for an existing Web service (or the actual service, when you've been
-supplied with the WSDL your service is to implement):</p>
-<ol>
- <li>Create Java classes for the data being transferred by the Web service,
- and a JiBX binding definition that maps these classes to the schema
- defined by the Web service (you may be able to use the JiBX xsd2jibx tool
- to help with this).</li>
- <li>Generate Axis2 client linkage code using WSDL2Java with the WSDL and
- your binding definition.</li>
- <li>Run the JiBX binding compiler on your Java classes to add the actual
- binding code.</li>
- <li>Include the <i>axis2-jibx.jar</i> in your runtime classpath, along with
- the <i>jibx-runtime.jar</i></li>
-</ol>
-
-<p>As with the starting from Java case, there are some differences in the
-handling depending on whether your service definition fits the wrapped form. See
-the <a href="./jibx-unwrapped-example.html">JiBX Unwrapped Example</a> and
-<a href="./jibx-doclit-example.html">JiBX Document/Literal Example</a> pages for
-more details.</p>
-
-<a name="codegen"></a>
-<h2>WSDL2Java usage</h2>
-
-<p>To run the WSDL2Java tool for JiBX data binding you need:</p>
-<ol>
- <li>To specify <i>-d jibx</i> to select JiBX binding.</li>
- <li>You also generally need an additional parameter, <i>-Ebindingfile {file}</i>
- (where <i>{file}</i> is the file path to your JiBX binding definition).</li>
- <li>Finally, you need to have the <i>axis2-jibx-XXXX.jar</i>, the
- <i>jibx-bind-XXXX.jar</i>, and the <i>jibx-run-XXXX.jar</i> files
- from your Axis2 distribution included in the WSDL2Java classpath.</li>
-</ol>
-
-<p>If you want to use the unwrapped form of interface you also need to specify
-the <i>-uw</i> option to WSDL2Java. In this case your JiBX binding definition
-must include abstact mappings for all the complex objects which correspond to
-method parameters, and each abstract mapping must specify a <i>type-name</i>
-attribute that matches the schema <i>complexType</i> used in the WSDL. You can
-also use formats in the binding definition to define the handling of schema
-<i>simpleType</i>s. Schema types corresponding to Java primitives and simple
-objects with built-in JiBX conversions are handled automatically, and if all the
-parameter and return values in your wrapped WSDL are of these types you don't
-even need a JiBX binding definition. This is the one case where the
-<i>-Ebindingfile {file}</i> parameter is not needed.</p>
-
-<p>If you're not unwrapping the interface, you must use a JiBX binding
-definition and it must include a concrete mapping for each element used as input
-or output by any operation.</p>
-
-<a name="coming"></a>
-<h2>Coming Attractions</h2>
-
-<p>Work is in-progress on better tools to support generating Java classes and
-corresponding JiBX binding definitions from an input schema, and also for
-generating binding+schema generation from existing code. These features will be
-integrated into the Axis2 JiBX support when they are available. Check the <a
-href="http://www.jibx.org">JiBX project site</a> for updates on JiBX, and the
-<a href="http://www.sosnoski.com/jibx-wiki/space/axis2-jibx">JiBX
-Axis2 Wiki page</a> for updated information about using JiBX with Axis2.</p>
-
-<h2>References</h2>
-
-<p><a href="http://jibx.sourceforge.net/tutorial/binding-tutorial.html">JiBX:
-Bindings Tutorial</a>
-</p>
-
-</body>
-
-</html>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<!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>
+<meta name="generator" content=
+"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
+<meta http-equiv="content-type" content="" />
+<title>JiBX Integration with Axis2</title>
+<link href="../../css/axis-docs.css" rel="stylesheet" type=
+"text/css" media="all" />
+</head>
+<body>
+<h1>JiBX Integration With Axis2</h1>
+<p>This document describes using JiBX data binding with Axis2. JiBX
+differs from the other data binding techniques supported by Axis2
+in that it allows you to use your own Java data objects (as opposed
+to Java data objects generated from a schema definition). JiBX also
+provides a nicer form of unwrapped Web services interface than is
+supported by the other data binding techniques. On the downside,
+JiBX requires more setup than the other data binding techniques -
+in particular, you need to come up with a set of data classes and a
+binding definition in order to work with JiBX in Axis2.</p>
+<p>JiBX support for Axis2 and Web services in general is continuing
+to evolve. This page covers the basics of using JiBX with Axis2 as
+of the current release. Check the <a href=
+"http://www.sosnoski.com/jibx-wiki/space/axis2-jibx">JiBX Axis2
+Wiki page</a> for updated information about using JiBX with
+Axis2.</p>
+<h2>Content</h2>
+<ul>
+<li><a href="#intro">Introduction</a></li>
+<li><a href="#wrapped">Wrapped vs. unwrapped</a></li>
+<li><a href="#java">Starting from Java</a></li>
+<li><a href="#wsdl">Starting from WSDL</a></li>
+<li><a href="#codegen">Axis2 JiBX Code Generation</a></li>
+<li><a href="#coming">Coming Attractions</a></li>
+</ul>
+<a name="intro" id="intro"></a>
+<h2>Introduction</h2>
+<p><a href="http://www.jibx.org">JiBX data binding</a> supports
+fast and flexible conversions between plain old Java objects
+(POJOs) and XML. JiBX uses a mapped binding approach that's based
+on binding definition documents you provide. This approach let's
+you customize the way your Java objects are converted to and from
+XML. You can even define multiple bindings to use the same Java
+objects with different XML representations. These features make
+JiBX especially useful if you're developing a Web service based on
+existing Java code, or when you need to support multiple XML
+representations for a Web service (as when you're using versioned
+schema definitions).</p>
+<p>Axis2 supports using JiBX with your Web services, including
+generating the necessary linkage code for both client and server
+sides. However, the Axis2 support for JiBX does not currently
+include code generation from the schema for a Web service - you
+need to provide your own data classes and JiBX binding definition,
+and you also need to make sure that the binding definition matches
+the XML structures defined for your Web service. The JiBX project
+provides some basic tools to help with code generation from schema,
+binding generation from Java classes, and schema generation from
+the combination of Java classes and a binding definition. In the
+future, improved versions of these tools will be integrated
+directly into the Axis2 framework support, but for now you're on
+your own with this part of the setup.</p>
+<p>You can use JiBX data binding both to expose existing Java code
+as a service, and to build a client for an existing service. This
+document runs through the sequence of steps involved for each of
+these cases, just to help users understand the basic approach to
+working with JiBX in Axis2. You can find full instructions on the
+standard JiBX parts of this sequence on the <a href=
+"http://www.jibx.org">JiBX Web site</a>.</p>
+<a name="wrapped" id="wrapped"></a>
+<h2>Wrapped vs. unwrapped</h2>
+<p>Axis2 support for JiBX currently only works with the
+document-literal (doc/lit) form of Web services definitions.
+Doc/lit Web services generally use particular schema elements as
+input and output from each operation, and the Axis2 support for
+JiBX assumes this structure (which is also the structure required
+for compatibility with the <a href=
+"http://www.ws-i.org/Profiles/BasicProfile-1.1.html">WS-I Basic
+Profile</a>).</p>
+<p>A popular subset of doc/lit Web services use a form called
+"wrapped". Wrapped doc/lit Web services define service operations
+that correspond to method calls, using input and output element
+names based on the method name and embedding the actual parameter
+values for the method call within the input element.</p>
+<p>When used with Axis2, JiBX supports both general doc/lit and
+wrapped service definitions. Wrapped service definitions can be
+"unwrapped" during code generation to provide a greatly simplified
+interface. JiBX unwrapping of service definitions is not compatible
+with the unwrapping support for other data binding frameworks used
+with Axis2, but most users will find the JiBX approach easy and
+convenient. See the <a href="./jibx-unwrapped-example.html">JiBX
+Unwrapped Example</a> and the <a href=
+"./jibx-doclit-example.html">JiBX Document/Literal Example</a>
+pages for a detailed comparison of the two forms of service
+interface.</p>
+<a name="java" id="java"></a>
+<h2>Starting from Java</h2>
+<p>Here's the sequence of steps for using JiBX with Axis2 to expose
+existing Java code as a Web service:</p>
+<ol>
+<li>Create a JiBX binding definition for the data being transferred
+by the Web service (you may be able to use the JiBX binding
+generator to help with this step).</li>
+<li>Create a schema that matches the XML defined by your binding
+(you may be able to use the JiBX schema generator to help with
+this). If you're using a wrapped form of interface to your service
+you'll also need to create schema definitions for the wrapper input
+and output elements used by each operation.</li>
+<li>Create a WSDL document for your service, with the schema
+embedded or imported.</li>
+<li>Generate Axis2 server-side linkage code using WSDL2Java with
+the WSDL and your binding definition.</li>
+<li>Run the JiBX binding compiler on your Java classes to add the
+actual binding code.</li>
+<li>Include the <i>axis2-jibx.jar</i> in your runtime classpath,
+along with the <i>jibx-runtime.jar</i>.</li>
+</ol>
+<p>If you use a wrapped interface for your Web service you can
+expose method calls in your existing code directly as operations in
+the service. In this case you normally just use your existing data
+objects with JiBX data binding, and add schema definitions for the
+wrapper elements. See the <a href=
+"./jibx-unwrapped-example.html">JiBX Unwrapped Example</a> page for
+more details on how this works.</p>
+<p>If you use a non-wrapped interface for your Web service you need
+to define classes to hold the data input and output from each
+operation. In this case these holder classes need to be included in
+the JiBX binding definition. See the <a href=
+"./jibx-doclit-example.html">JiBX Document/Literal Example</a> page
+for more details on this case.</p>
+<a name="wsdl" id="wsdl"></a>
+<h2>Starting from WSDL</h2>
+<p>Here's the sequence of steps for using JiBX with Axis2 to
+implement a client for an existing Web service (or the actual
+service, when you've been supplied with the WSDL your service is to
+implement):</p>
+<ol>
+<li>Create Java classes for the data being transferred by the Web
+service, and a JiBX binding definition that maps these classes to
+the schema defined by the Web service (you may be able to use the
+JiBX xsd2jibx tool to help with this).</li>
+<li>Generate Axis2 client linkage code using WSDL2Java with the
+WSDL and your binding definition.</li>
+<li>Run the JiBX binding compiler on your Java classes to add the
+actual binding code.</li>
+<li>Include the <i>axis2-jibx.jar</i> in your runtime classpath,
+along with the <i>jibx-runtime.jar</i></li>
+</ol>
+<p>As with the starting from Java case, there are some differences
+in the handling depending on whether your service definition fits
+the wrapped form. See the <a href=
+"./jibx-unwrapped-example.html">JiBX Unwrapped Example</a> and
+<a href="./jibx-doclit-example.html">JiBX Document/Literal
+Example</a> pages for more details.</p>
+<a name="codegen" id="codegen"></a>
+<h2>WSDL2Java usage</h2>
+<p>To run the WSDL2Java tool for JiBX data binding you need:</p>
+<ol>
+<li>To specify <i>-d jibx</i> to select JiBX binding.</li>
+<li>You also generally need an additional parameter,
+<i>-Ebindingfile {file}</i> (where <i>{file}</i> is the file path
+to your JiBX binding definition).</li>
+<li>Finally, you need to have the <i>axis2-jibx-XXXX.jar</i>, the
+<i>jibx-bind-XXXX.jar</i>, and the <i>jibx-run-XXXX.jar</i> files
+from your Axis2 distribution included in the WSDL2Java
+classpath.</li>
+</ol>
+<p>If you want to use the unwrapped form of interface you also need
+to specify the <i>-uw</i> option to WSDL2Java. In this case your
+JiBX binding definition must include abstact mappings for all the
+complex objects which correspond to method parameters, and each
+abstract mapping must specify a <i>type-name</i> attribute that
+matches the schema <i>complexType</i> used in the WSDL. You can
+also use formats in the binding definition to define the handling
+of schema <i>simpleType</i>s. Schema types corresponding to Java
+primitives and simple objects with built-in JiBX conversions are
+handled automatically, and if all the parameter and return values
+in your wrapped WSDL are of these types you don't even need a JiBX
+binding definition. This is the one case where the <i>-Ebindingfile
+{file}</i> parameter is not needed.</p>
+<p>If you're not unwrapping the interface, you must use a JiBX
+binding definition and it must include a concrete mapping for each
+element used as input or output by any operation.</p>
+<a name="coming" id="coming"></a>
+<h2>Coming Attractions</h2>
+<p>Work is in-progress on better tools to support generating Java
+classes and corresponding JiBX binding definitions from an input
+schema, and also for generating binding+schema generation from
+existing code. These features will be integrated into the Axis2
+JiBX support when they are available. Check the <a href=
+"http://www.jibx.org">JiBX project site</a> for updates on JiBX,
+and the <a href=
+"http://www.sosnoski.com/jibx-wiki/space/axis2-jibx">JiBX Axis2
+Wiki page</a> for updated information about using JiBX with
+Axis2.</p>
+<h2>References</h2>
+<p><a href=
+"http://jibx.sourceforge.net/tutorial/binding-tutorial.html">JiBX:
+Bindings Tutorial</a></p>
+</body>
+</html>
Copied: webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-doclit-example.xml (from r556217, webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-doclit-example.html)
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-doclit-example.xml?view=diff&rev=556222&p1=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-doclit-example.html&r1=556217&p2=webservices/axis2/trunk/java/xdocs/%40axis2_version_dir%40/jibx/jibx-doclit-example.xml&r2=556222
==============================================================================
--- webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-doclit-example.html (original)
+++ webservices/axis2/trunk/java/xdocs/@axis2_version_dir@/jibx/jibx-doclit-example.xml Fri Jul 13 21:37:26 2007
@@ -1,304 +1,302 @@
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one
- ~ or more contributor license agreements. See the NOTICE file
- ~ distributed with this work for additional information
- ~ regarding copyright ownership. The ASF licenses this file
- ~ to you under the Apache License, Version 2.0 (the
- ~ "License"); you may not use this file except in compliance
- ~ with the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing,
- ~ software distributed under the License is distributed on an
- ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- ~ KIND, either express or implied. See the License for the
- ~ specific language governing permissions and limitations
- ~ under the License.
- -->
-<html>
-<head>
- <meta http-equiv="content-type" content="">
- <title>JiBX general document/literal</title>
- <link href="../../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
-</head>
-
-<body>
-<h1>JiBX general document/literal</h1>
-
-<p>Code generation for JiBX data binding converts operations defined by a Web
-service to method calls. With general document/literal (doc/lit) Web services
-the generated methods each take a single parameter object and return a single
-result object. Here's a sample doc/lit WSDL (partial) by way of an example:</p>
-
-<pre>
-<wsdl:definitions targetNamespace="http://ws.sosnoski.com/library/wsdl"
- xmlns:tns="http://ws.sosnoski.com/library/types"
- xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
- xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/">
-
- <wsdl:types>
-
- <schema elementFormDefault="qualified"
- targetNamespace="http://ws.sosnoski.com/library/types"
- xmlns="http://www.w3.org/2001/XMLSchema">
-
- <element name="getBook">
- <complexType>
- <sequence>
- <element name="isbn" type="string"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="getBookResponse">
- <complexType>
- <sequence>
- <element name="book" minOccurs="0" type="tns:BookInformation"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="addBook">
- <complexType>
- <sequence>
- <element name="type" type="string"/>
- <element name="isbn" type="string"/>
- <element name="author" minOccurs="0" maxOccurs="unbounded" type="string"/>
- <element name="title" type="string"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="addBookResponse">
- <complexType>
- <sequence>
- <element name="success" type="boolean"/>
- </sequence>
- </complexType>
- </element>
-
- <complexType name="BookInformation">
- <sequence>
- <element name="author" minOccurs="0" maxOccurs="unbounded" type="string"/>
- <element name="title" type="string"/>
- </sequence>
- <attribute name="type" use="required" type="string"/>
- <attribute name="isbn" use="required" type="string"/>
- </complexType>
-
- </schema>
-
- </wsdl:types>
-
- <wsdl:message name="getBookRequest">
- <wsdl:part element="wns:getBook" name="parameters"/>
- </wsdl:message>
-
- <wsdl:message name="getBookResponse">
- <wsdl:part element="wns:getBookResponse" name="parameters"/>
- </wsdl:message>
-
- <wsdl:message name="addBookRequest">
- <wsdl:part element="wns:addBook" name="parameters"/>
- </wsdl:message>
-
- <wsdl:message name="addBookResponse">
- <wsdl:part element="wns:addBookResponse" name="parameters"/>
- </wsdl:message>
-
- <wsdl:portType name="Library">
-
- <wsdl:operation name="getBook">
- <wsdl:input message="wns:getBookRequest" name="getBookRequest"/>
- <wsdl:output message="wns:getBookResponse" name="getBookResponse"/>
- </wsdl:operation>
-
- <wsdl:operation name="addBook">
- <wsdl:input message="wns:addBookRequest" name="addBookRequest"/>
- <wsdl:output message="wns:addBookResponse" name="addBookResponse"/>
- </wsdl:operation>
-
- </wsdl:portType>
- ...
-</wsdl:definitions>
-</pre>
-
-<p>This WSDL defines a service with just two operations: <b>getBook</b> and
-<b>addBook</b>. The <b>getBook</b> operation takes a <i>getBook</i> element as
-input, and returns a <i>getBookResponse</i> element as output, while
-<b>addBook</b> takes an <i>addBook</i> element as input and returns an
-<i>addBookResponse</i> as output. Here's the body of the client interface
-generated by the standard JiBX code generation:</p>
-
-<pre>
- public interface LibraryJibxUnwrapped {
-
-
- /**
- * Auto generated method signatures
- * @param addBook
- */
- public com.sosnoski.ws.library.jibx.wrappers.AddBookResponse addBook(
- com.sosnoski.ws.library.jibx.wrappers.AddBookRequest addBook) throws java.rmi.RemoteException
-
-
- ;
-
-
- /**
- * Auto generated method signatures
- * @param getBook
- */
- public com.sosnoski.ws.library.jibx.wrappers.GetBookResponse getBook(
- com.sosnoski.ws.library.jibx.wrappers.GetBookRequest getBook) throws java.rmi.RemoteException
-
-
- ;
-
-
-
- //
- }
-</pre>
-
-<p>You can see that the JiBX code generation converted the operations into
-simple method call interfaces using objects corresponding to the input and
-output elements of the operation (see
-<a href="./jibx-unwrapped-example.html">JiBX Unwrapped Example</a> for the
-interface generated when unwrapping is instead used). The server-side interface
-is the same.</p>
-
-<p>You need to supply an appropriate JiBX binding definition for use in code
-generation (using the <i>-Ebindingfile {file}</i> parameter for WSDL2Java - see
-<a href="./jibx-codegen-integration.html#codegen">JiBX Codegen Integration -
-WSDL2Java usage</a> for more details). This must define concrete <i>mappings</i>
-for each element used as the input or output of an operation. The JiBX code
-generation extension matches the element names to the binding in order to
-determine the corresponding class to use in generated code.</p>
-
-<p>For example, here's a binding definition that matches the above WSDL:</p>
-
-<pre>
-<binding add-constructors="true">
-
- <namespace uri="http://ws.sosnoski.com/library/types" default="elements"/>
-
- <mapping name="getBook"
- class="com.sosnoski.ws.library.jibx.wrappers.GetBookRequest">
- <value name="isbn" field="m_isbn"/>
- </mapping>
-
- <mapping name="getBookResponse"
- class="com.sosnoski.ws.library.jibx.wrappers.GetBookResponse">
- <structure name="book" field="m_book"/>
- </mapping>
-
- <mapping name="addBook"
- class="com.sosnoski.ws.library.jibx.wrappers.AddBookRequest">
- <structure field="m_book">
- <value name="type" field="m_type"/>
- <value name="isbn" field="m_isbn"/>
- <collection field="m_authors">
- <value name="author" type="java.lang.String"/>
- </collection>
- <value name="title" field="m_title"/>
- </structure>
- </mapping>
-
- <mapping name="addBookResponse"
- class="com.sosnoski.ws.library.jibx.wrappers.AddBookResponse"/>
-
- <mapping abstract="true" class="com.sosnoski.ws.library.jibx.beans.Book">
- <value name="type" style="attribute" field="m_type"/>
- <value name="isbn" style="attribute" field="m_isbn"/>
- <collection field="m_authors">
- <value name="author" type="java.lang.String"/>
- </collection>
- <value name="title" field="m_title"/>
- </mapping>
-
-</binding>
-</pre>
-
-<p>And here are the actual data object classes:</p>
-
-<pre>
-package com.sosnoski.ws.library.jibx.wrappers;
-
-import com.sosnoski.ws.library.jibx.beans.Book;
-
-public class AddBookRequest
-{
- private Book m_book;
-
- public AddBookRequest(Book book) {
- m_book = book;
- }
-
- public Book getBook() {
- return m_book;
- }
-}
-
-public class AddBookResponse
-{
-}
-
-public class GetBookRequest
-{
- private String m_isbn;
-
- public GetBookRequest(String isbn) {
- m_isbn = isbn;
- }
-
- public String getIsbn() {
- return m_isbn;
- }
-}
-
-public class GetBookResponse
-{
- private Book m_book;
-
- public GetBookResponse(Book book) {
- m_book = book;
- }
-
- public Book getBook() {
- return m_book;
- }
-}
-
-package com.sosnoski.ws.library.jibx.beans;
-
-public class Book
-{
- private String m_type;
- private String m_isbn;
- private String m_title;
- private String[] m_authors;
-
- public Book() {}
-
- public String getType() {
- return m_type;
- }
-
- public String getIsbn() {
- return m_isbn;
- }
-
- public String getTitle() {
- return m_title;
- }
-
- public String[] getAuthors() {
- return m_authors;
- }
-}
-</pre>
-
-</body>
-</html>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta name="generator" content=
+"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
+<meta http-equiv="content-type" content="" />
+<title>JiBX general document/literal</title>
+<link href="../../css/axis-docs.css" rel="stylesheet" type=
+"text/css" media="all" />
+</head>
+<body>
+<h1>JiBX general document/literal</h1>
+<p>Code generation for JiBX data binding converts operations
+defined by a Web service to method calls. With general
+document/literal (doc/lit) Web services the generated methods each
+take a single parameter object and return a single result object.
+Here's a sample doc/lit WSDL (partial) by way of an example:</p>
+<pre>
+<wsdl:definitions targetNamespace="http://ws.sosnoski.com/library/wsdl"
+ xmlns:tns="http://ws.sosnoski.com/library/types"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+ <wsdl:types>
+
+ <schema elementFormDefault="qualified"
+ targetNamespace="http://ws.sosnoski.com/library/types"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <element name="getBook">
+ <complexType>
+ <sequence>
+ <element name="isbn" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="getBookResponse">
+ <complexType>
+ <sequence>
+ <element name="book" minOccurs="0" type="tns:BookInformation"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="addBook">
+ <complexType>
+ <sequence>
+ <element name="type" type="string"/>
+ <element name="isbn" type="string"/>
+ <element name="author" minOccurs="0" maxOccurs="unbounded" type="string"/>
+ <element name="title" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="addBookResponse">
+ <complexType>
+ <sequence>
+ <element name="success" type="boolean"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <complexType name="BookInformation">
+ <sequence>
+ <element name="author" minOccurs="0" maxOccurs="unbounded" type="string"/>
+ <element name="title" type="string"/>
+ </sequence>
+ <attribute name="type" use="required" type="string"/>
+ <attribute name="isbn" use="required" type="string"/>
+ </complexType>
+
+ </schema>
+
+ </wsdl:types>
+
+ <wsdl:message name="getBookRequest">
+ <wsdl:part element="wns:getBook" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="getBookResponse">
+ <wsdl:part element="wns:getBookResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="addBookRequest">
+ <wsdl:part element="wns:addBook" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:message name="addBookResponse">
+ <wsdl:part element="wns:addBookResponse" name="parameters"/>
+ </wsdl:message>
+
+ <wsdl:portType name="Library">
+
+ <wsdl:operation name="getBook">
+ <wsdl:input message="wns:getBookRequest" name="getBookRequest"/>
+ <wsdl:output message="wns:getBookResponse" name="getBookResponse"/>
+ </wsdl:operation>
+
+ <wsdl:operation name="addBook">
+ <wsdl:input message="wns:addBookRequest" name="addBookRequest"/>
+ <wsdl:output message="wns:addBookResponse" name="addBookResponse"/>
+ </wsdl:operation>
+
+ </wsdl:portType>
+ ...
+</wsdl:definitions>
+</pre>
+<p>This WSDL defines a service with just two operations:
+<b>getBook</b> and <b>addBook</b>. The <b>getBook</b> operation
+takes a <i>getBook</i> element as input, and returns a
+<i>getBookResponse</i> element as output, while <b>addBook</b>
+takes an <i>addBook</i> element as input and returns an
+<i>addBookResponse</i> as output. Here's the body of the client
+interface generated by the standard JiBX code generation:</p>
+<pre>
+ public interface LibraryJibxUnwrapped {
+
+
+ /**
+ * Auto generated method signatures
+ * @param addBook
+ */
+ public com.sosnoski.ws.library.jibx.wrappers.AddBookResponse addBook(
+ com.sosnoski.ws.library.jibx.wrappers.AddBookRequest addBook) throws java.rmi.RemoteException
+
+
+ ;
+
+
+ /**
+ * Auto generated method signatures
+ * @param getBook
+ */
+ public com.sosnoski.ws.library.jibx.wrappers.GetBookResponse getBook(
+ com.sosnoski.ws.library.jibx.wrappers.GetBookRequest getBook) throws java.rmi.RemoteException
+
+
+ ;
+
+
+
+ //
+ }
+</pre>
+<p>You can see that the JiBX code generation converted the
+operations into simple method call interfaces using objects
+corresponding to the input and output elements of the operation
+(see <a href="./jibx-unwrapped-example.html">JiBX Unwrapped
+Example</a> for the interface generated when unwrapping is instead
+used). The server-side interface is the same.</p>
+<p>You need to supply an appropriate JiBX binding definition for
+use in code generation (using the <i>-Ebindingfile {file}</i>
+parameter for WSDL2Java - see <a href=
+"./jibx-codegen-integration.html#codegen">JiBX Codegen Integration
+- WSDL2Java usage</a> for more details). This must define concrete
+<i>mappings</i> for each element used as the input or output of an
+operation. The JiBX code generation extension matches the element
+names to the binding in order to determine the corresponding class
+to use in generated code.</p>
+<p>For example, here's a binding definition that matches the above
+WSDL:</p>
+<pre>
+<binding add-constructors="true">
+
+ <namespace uri="http://ws.sosnoski.com/library/types" default="elements"/>
+
+ <mapping name="getBook"
+ class="com.sosnoski.ws.library.jibx.wrappers.GetBookRequest">
+ <value name="isbn" field="m_isbn"/>
+ </mapping>
+
+ <mapping name="getBookResponse"
+ class="com.sosnoski.ws.library.jibx.wrappers.GetBookResponse">
+ <structure name="book" field="m_book"/>
+ </mapping>
+
+ <mapping name="addBook"
+ class="com.sosnoski.ws.library.jibx.wrappers.AddBookRequest">
+ <structure field="m_book">
+ <value name="type" field="m_type"/>
+ <value name="isbn" field="m_isbn"/>
+ <collection field="m_authors">
+ <value name="author" type="java.lang.String"/>
+ </collection>
+ <value name="title" field="m_title"/>
+ </structure>
+ </mapping>
+
+ <mapping name="addBookResponse"
+ class="com.sosnoski.ws.library.jibx.wrappers.AddBookResponse"/>
+
+ <mapping abstract="true" class="com.sosnoski.ws.library.jibx.beans.Book">
+ <value name="type" style="attribute" field="m_type"/>
+ <value name="isbn" style="attribute" field="m_isbn"/>
+ <collection field="m_authors">
+ <value name="author" type="java.lang.String"/>
+ </collection>
+ <value name="title" field="m_title"/>
+ </mapping>
+
+</binding>
+</pre>
+<p>And here are the actual data object classes:</p>
+<pre>
+package com.sosnoski.ws.library.jibx.wrappers;
+
+import com.sosnoski.ws.library.jibx.beans.Book;
+
+public class AddBookRequest
+{
+ private Book m_book;
+
+ public AddBookRequest(Book book) {
+ m_book = book;
+ }
+
+ public Book getBook() {
+ return m_book;
+ }
+}
+
+public class AddBookResponse
+{
+}
+
+public class GetBookRequest
+{
+ private String m_isbn;
+
+ public GetBookRequest(String isbn) {
+ m_isbn = isbn;
+ }
+
+ public String getIsbn() {
+ return m_isbn;
+ }
+}
+
+public class GetBookResponse
+{
+ private Book m_book;
+
+ public GetBookResponse(Book book) {
+ m_book = book;
+ }
+
+ public Book getBook() {
+ return m_book;
+ }
+}
+
+package com.sosnoski.ws.library.jibx.beans;
+
+public class Book
+{
+ private String m_type;
+ private String m_isbn;
+ private String m_title;
+ private String[] m_authors;
+
+ public Book() {}
+
+ public String getType() {
+ return m_type;
+ }
+
+ public String getIsbn() {
+ return m_isbn;
+ }
+
+ public String getTitle() {
+ return m_title;
+ }
+
+ public String[] getAuthors() {
+ return m_authors;
+ }
+}
+</pre>
+</body>
+</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org