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 di...@apache.org on 2008/05/01 23:20:38 UTC

svn commit: r652665 [8/45] - in /webservices/axis2/site: ./ 1_4/ 1_4/adb/ 1_4/adb/images/ 1_4/images/ 1_4/images/archi-guide/ 1_4/images/userguide/ 1_4/jibx/ 1_4/src/ css/ download/0_9/ download/0_91/ download/0_92/ download/0_93/ download/0_94/ downlo...

Added: webservices/axis2/site/1_4/jibx/jibx-codegen-integration.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4/jibx/jibx-codegen-integration.html?rev=652665&view=auto
==============================================================================
--- webservices/axis2/site/1_4/jibx/jibx-codegen-integration.html (added)
+++ webservices/axis2/site/1_4/jibx/jibx-codegen-integration.html Thu May  1 14:20:27 2008
@@ -0,0 +1,513 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Maven - </title>
+    <style type="text/css" media="all">
+      @import url("../../css/maven-base.css");
+      @import url("../../css/maven-theme.css");
+      @import url("../../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../../css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="../" id="bannerLeft">
+    
+                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                            <img src="../../../images/axis.jpg" alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+    
+            <div class="xleft">
+        Last Published: 2008-05-01
+                      </div>
+            <div class="xright">            <a href="../../index.html">Axis2/Java</a>
+            |
+                <a href="../../../c">Axis2/C</a>
+            |
+                <a href="../../../..">Apache WS</a>
+            |
+                <a href="http://www.apache.org" class="externalLink">Apache</a>
+            
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+    
+                   <h5>Axis2/Java</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../index.html">Home</a>
+          </li>
+          </ul>
+              <h5>Downloads</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../download.cgi">Releases</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../modules/index.html">Modules</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../tools/index.html">Tools</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="expanded">
+                    <a href="../../1_4/contents.html">Version 1.4</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../../1_4/toc.html">Table of Contents</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/installationguide.html">Installation Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/quickstartguide.html">QuickStart Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/userguide.html">User Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/jaxws-guide.html">JAXWS Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/pojoguide.html">POJO Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/spring.html">Spring Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/webadminguide.html">Web Administrator's Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/migration.html">Migration Guide (from Axis1)</a>
+          </li>
+              </ul>
+        </li>
+              
+    <li class="none">
+                    <a href="../../1_3/contents.html">Version 1.3</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_2/contents.html">Version 1.2</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_1_1/contents.html">Version 1.1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_1/contents.html">Version 1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_0/index.html">Version 1.0</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_95/index.html">Version 0.95</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_94/index.html">Version 0.94</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_93/index.html">Version 0.93</a>
+          </li>
+          </ul>
+              <h5>Resources</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../articles.html">Articles</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../refLib.html">Reference Library</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../../1_4/api/index.html">Online Java Docs</a>
+          </li>
+          </ul>
+              <h5>Get Involved</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../overview.html">Overview</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../svn.html">Checkout the Source</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../release-process.html">Release Process</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../guidelines.html">Developer Guidelines</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../siteHowTo.html">Build the Site</a>
+          </li>
+          </ul>
+              <h5>Project Information</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../issue-tracking.html">Issue Tracking</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../thanks.html">Acknowledgements</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+          </li>
+          </ul>
+                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+            <img alt="Built by Maven" src="../../images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+    
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">JiBX Integration with Axis2<link href="../../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><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 class="externalLink" 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 class="externalLink" 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 class="externalLink" 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 class="externalLink" 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
+&quot;wrapped&quot;. 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
+&quot;unwrapped&quot; 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 type="1"><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 type="1"><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 type="1"><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 class="externalLink" href="http://www.jibx.org">JiBX project site</a>
+ for updates on JiBX,
+and the <a class="externalLink" 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 class="externalLink" href="http://jibx.sourceforge.net/tutorial/binding-tutorial.html">JiBX:
+Bindings Tutorial</a>
+</p>
+</html>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2008
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: webservices/axis2/site/1_4/jibx/jibx-doclit-example.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4/jibx/jibx-doclit-example.html?rev=652665&view=auto
==============================================================================
--- webservices/axis2/site/1_4/jibx/jibx-doclit-example.html (added)
+++ webservices/axis2/site/1_4/jibx/jibx-doclit-example.html Thu May  1 14:20:27 2008
@@ -0,0 +1,590 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Maven - </title>
+    <style type="text/css" media="all">
+      @import url("../../css/maven-base.css");
+      @import url("../../css/maven-theme.css");
+      @import url("../../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../../css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="../" id="bannerLeft">
+    
+                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                            <img src="../../../images/axis.jpg" alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+    
+            <div class="xleft">
+        Last Published: 2008-05-01
+                      </div>
+            <div class="xright">            <a href="../../index.html">Axis2/Java</a>
+            |
+                <a href="../../../c">Axis2/C</a>
+            |
+                <a href="../../../..">Apache WS</a>
+            |
+                <a href="http://www.apache.org" class="externalLink">Apache</a>
+            
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+    
+                   <h5>Axis2/Java</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../index.html">Home</a>
+          </li>
+          </ul>
+              <h5>Downloads</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../download.cgi">Releases</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../modules/index.html">Modules</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../tools/index.html">Tools</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="expanded">
+                    <a href="../../1_4/contents.html">Version 1.4</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../../1_4/toc.html">Table of Contents</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/installationguide.html">Installation Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/quickstartguide.html">QuickStart Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/userguide.html">User Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/jaxws-guide.html">JAXWS Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/pojoguide.html">POJO Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/spring.html">Spring Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/webadminguide.html">Web Administrator's Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/migration.html">Migration Guide (from Axis1)</a>
+          </li>
+              </ul>
+        </li>
+              
+    <li class="none">
+                    <a href="../../1_3/contents.html">Version 1.3</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_2/contents.html">Version 1.2</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_1_1/contents.html">Version 1.1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_1/contents.html">Version 1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_0/index.html">Version 1.0</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_95/index.html">Version 0.95</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_94/index.html">Version 0.94</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_93/index.html">Version 0.93</a>
+          </li>
+          </ul>
+              <h5>Resources</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../articles.html">Articles</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../refLib.html">Reference Library</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../../1_4/api/index.html">Online Java Docs</a>
+          </li>
+          </ul>
+              <h5>Get Involved</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../overview.html">Overview</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../svn.html">Checkout the Source</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../release-process.html">Release Process</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../guidelines.html">Developer Guidelines</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../siteHowTo.html">Build the Site</a>
+          </li>
+          </ul>
+              <h5>Project Information</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../issue-tracking.html">Issue Tracking</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../thanks.html">Acknowledgements</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+          </li>
+          </ul>
+                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+            <img alt="Built by Maven" src="../../images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+    
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">JiBX general document/literal<link href="../../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><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>
+&lt;wsdl:definitions targetNamespace=&quot;http://ws.sosnoski.com/library/wsdl&quot;
+    xmlns:tns=&quot;http://ws.sosnoski.com/library/types&quot;
+    xmlns:wsdl=&quot;http://schemas.xmlsoap.org/wsdl/&quot;
+    xmlns:wsdlsoap=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot;&gt;
+    
+  &lt;wsdl:types&gt;
+  
+    &lt;schema elementFormDefault=&quot;qualified&quot;
+        targetNamespace=&quot;http://ws.sosnoski.com/library/types&quot;
+        xmlns=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
+        
+      &lt;element name=&quot;getBook&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;isbn&quot; type=&quot;string&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;getBookResponse&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;book&quot; minOccurs=&quot;0&quot; type=&quot;tns:BookInformation&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;addBook&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;type&quot; type=&quot;string&quot;/&gt;
+            &lt;element name=&quot;isbn&quot; type=&quot;string&quot;/&gt;
+            &lt;element name=&quot;author&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot; type=&quot;string&quot;/&gt;
+            &lt;element name=&quot;title&quot; type=&quot;string&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;addBookResponse&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;success&quot; type=&quot;boolean&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;complexType name=&quot;BookInformation&quot;&gt;
+        &lt;sequence&gt;
+          &lt;element name=&quot;author&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot; type=&quot;string&quot;/&gt;
+          &lt;element name=&quot;title&quot; type=&quot;string&quot;/&gt;
+        &lt;/sequence&gt;
+        &lt;attribute name=&quot;type&quot; use=&quot;required&quot; type=&quot;string&quot;/&gt;
+        &lt;attribute name=&quot;isbn&quot; use=&quot;required&quot; type=&quot;string&quot;/&gt;
+      &lt;/complexType&gt;
+      
+    &lt;/schema&gt;
+
+  &lt;/wsdl:types&gt;
+
+  &lt;wsdl:message name=&quot;getBookRequest&quot;&gt;
+    &lt;wsdl:part element=&quot;wns:getBook&quot; name=&quot;parameters&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name=&quot;getBookResponse&quot;&gt;
+    &lt;wsdl:part element=&quot;wns:getBookResponse&quot; name=&quot;parameters&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name=&quot;addBookRequest&quot;&gt;
+    &lt;wsdl:part element=&quot;wns:addBook&quot; name=&quot;parameters&quot;/&gt;
+  &lt;/wsdl:message&gt;
+  
+  &lt;wsdl:message name=&quot;addBookResponse&quot;&gt;
+    &lt;wsdl:part element=&quot;wns:addBookResponse&quot; name=&quot;parameters&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:portType name=&quot;Library&quot;&gt;
+
+    &lt;wsdl:operation name=&quot;getBook&quot;&gt;
+      &lt;wsdl:input message=&quot;wns:getBookRequest&quot; name=&quot;getBookRequest&quot;/&gt;
+      &lt;wsdl:output message=&quot;wns:getBookResponse&quot; name=&quot;getBookResponse&quot;/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name=&quot;addBook&quot;&gt;
+      &lt;wsdl:input message=&quot;wns:addBookRequest&quot; name=&quot;addBookRequest&quot;/&gt;
+      &lt;wsdl:output message=&quot;wns:addBookResponse&quot; name=&quot;addBookResponse&quot;/&gt;
+    &lt;/wsdl:operation&gt;
+
+  &lt;/wsdl:portType&gt;
+  ...
+&lt;/wsdl:definitions&gt;
+</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>
+&lt;binding add-constructors=&quot;true&quot;&gt;
+
+  &lt;namespace uri=&quot;http://ws.sosnoski.com/library/types&quot; default=&quot;elements&quot;/&gt;
+  
+  &lt;mapping name=&quot;getBook&quot;
+      class=&quot;com.sosnoski.ws.library.jibx.wrappers.GetBookRequest&quot;&gt;
+    &lt;value name=&quot;isbn&quot; field=&quot;m_isbn&quot;/&gt;
+  &lt;/mapping&gt;
+  
+  &lt;mapping name=&quot;getBookResponse&quot;
+      class=&quot;com.sosnoski.ws.library.jibx.wrappers.GetBookResponse&quot;&gt;
+    &lt;structure name=&quot;book&quot; field=&quot;m_book&quot;/&gt;
+  &lt;/mapping&gt;
+  
+  &lt;mapping name=&quot;addBook&quot;
+      class=&quot;com.sosnoski.ws.library.jibx.wrappers.AddBookRequest&quot;&gt;
+    &lt;structure field=&quot;m_book&quot;&gt;
+      &lt;value name=&quot;type&quot; field=&quot;m_type&quot;/&gt;
+      &lt;value name=&quot;isbn&quot; field=&quot;m_isbn&quot;/&gt;
+      &lt;collection field=&quot;m_authors&quot;&gt;
+        &lt;value name=&quot;author&quot; type=&quot;java.lang.String&quot;/&gt;
+      &lt;/collection&gt;
+      &lt;value name=&quot;title&quot; field=&quot;m_title&quot;/&gt;
+    &lt;/structure&gt;
+  &lt;/mapping&gt;
+  
+  &lt;mapping name=&quot;addBookResponse&quot;
+      class=&quot;com.sosnoski.ws.library.jibx.wrappers.AddBookResponse&quot;/&gt;
+  
+  &lt;mapping abstract=&quot;true&quot; class=&quot;com.sosnoski.ws.library.jibx.beans.Book&quot;&gt;
+    &lt;value name=&quot;type&quot; style=&quot;attribute&quot; field=&quot;m_type&quot;/&gt;
+    &lt;value name=&quot;isbn&quot; style=&quot;attribute&quot; field=&quot;m_isbn&quot;/&gt;
+    &lt;collection field=&quot;m_authors&quot;&gt;
+      &lt;value name=&quot;author&quot; type=&quot;java.lang.String&quot;/&gt;
+    &lt;/collection&gt;
+    &lt;value name=&quot;title&quot; field=&quot;m_title&quot;/&gt;
+  &lt;/mapping&gt;
+
+&lt;/binding&gt;
+</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></html>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2008
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: webservices/axis2/site/1_4/jibx/jibx-unwrapped-example.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4/jibx/jibx-unwrapped-example.html?rev=652665&view=auto
==============================================================================
--- webservices/axis2/site/1_4/jibx/jibx-unwrapped-example.html (added)
+++ webservices/axis2/site/1_4/jibx/jibx-unwrapped-example.html Thu May  1 14:20:27 2008
@@ -0,0 +1,589 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Maven - </title>
+    <style type="text/css" media="all">
+      @import url("../../css/maven-base.css");
+      @import url("../../css/maven-theme.css");
+      @import url("../../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../../css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="../" id="bannerLeft">
+    
+                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                            <img src="../../../images/axis.jpg" alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+    
+            <div class="xleft">
+        Last Published: 2008-05-01
+                      </div>
+            <div class="xright">            <a href="../../index.html">Axis2/Java</a>
+            |
+                <a href="../../../c">Axis2/C</a>
+            |
+                <a href="../../../..">Apache WS</a>
+            |
+                <a href="http://www.apache.org" class="externalLink">Apache</a>
+            
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+    
+                   <h5>Axis2/Java</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../index.html">Home</a>
+          </li>
+          </ul>
+              <h5>Downloads</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../download.cgi">Releases</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../modules/index.html">Modules</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../tools/index.html">Tools</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="expanded">
+                    <a href="../../1_4/contents.html">Version 1.4</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../../1_4/toc.html">Table of Contents</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/installationguide.html">Installation Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/quickstartguide.html">QuickStart Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/userguide.html">User Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/jaxws-guide.html">JAXWS Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/pojoguide.html">POJO Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/spring.html">Spring Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/webadminguide.html">Web Administrator's Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../../1_4/migration.html">Migration Guide (from Axis1)</a>
+          </li>
+              </ul>
+        </li>
+              
+    <li class="none">
+                    <a href="../../1_3/contents.html">Version 1.3</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_2/contents.html">Version 1.2</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_1_1/contents.html">Version 1.1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_1/contents.html">Version 1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_0/index.html">Version 1.0</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_95/index.html">Version 0.95</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_94/index.html">Version 0.94</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../0_93/index.html">Version 0.93</a>
+          </li>
+          </ul>
+              <h5>Resources</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../articles.html">Articles</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../refLib.html">Reference Library</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../../1_4/api/index.html">Online Java Docs</a>
+          </li>
+          </ul>
+              <h5>Get Involved</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../overview.html">Overview</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../svn.html">Checkout the Source</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../release-process.html">Release Process</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../guidelines.html">Developer Guidelines</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../siteHowTo.html">Build the Site</a>
+          </li>
+          </ul>
+              <h5>Project Information</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../issue-tracking.html">Issue Tracking</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../thanks.html">Acknowledgements</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+          </li>
+          </ul>
+                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+            <img alt="Built by Maven" src="../../images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+    
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">JiBX unwrapped document/literal<link href="../../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><h1>JiBX Unwrapped document/literal</h1><p>Code generation for JiBX data binding converts operations
+defined by a Web service to method calls. In the most general case
+of document/literal (doc/lit) Web services the generated methods
+each take a single parameter object and return a single result
+object. This type of interface can be painful for developers
+because it adds both a layer of indirection and potentially a large
+number of extra classes (one input and one output class for each
+generated method).</p>
+<p>Fortunately, there's an alternative way of generating methods
+that gives a much more usable API for many Web services. This
+alternative is called <i>unwrapping</i>
+, and the service
+definitions that it applies to are called <i>wrapped</i>
+
+definitions. The key difference that qualifies a service definition
+as wrapped is the structure of the input and output elements used
+for operations.</p>
+<p>Here's a sample wrapped WSDL (partial) by way of an example:</p>
+<pre>
+&lt;wsdl:definitions targetNamespace=&quot;http://ws.sosnoski.com/library/wsdl&quot;
+    xmlns:tns=&quot;http://ws.sosnoski.com/library/types&quot;
+    xmlns:wsdl=&quot;http://schemas.xmlsoap.org/wsdl/&quot;
+    xmlns:wsdlsoap=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot;&gt;
+    
+  &lt;wsdl:types&gt;
+  
+    &lt;schema elementFormDefault=&quot;qualified&quot;
+        targetNamespace=&quot;http://ws.sosnoski.com/library/types&quot;
+        xmlns=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
+        
+      &lt;element name=&quot;getBook&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;isbn&quot; type=&quot;string&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;getBookResponse&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;book&quot; minOccurs=&quot;0&quot; type=&quot;tns:BookInformation&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;addBook&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;type&quot; type=&quot;string&quot;/&gt;
+            &lt;element name=&quot;isbn&quot; type=&quot;string&quot;/&gt;
+            &lt;element name=&quot;author&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot; type=&quot;string&quot;/&gt;
+            &lt;element name=&quot;title&quot; type=&quot;string&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;element name=&quot;addBookResponse&quot;&gt;
+        &lt;complexType&gt;
+          &lt;sequence&gt;
+            &lt;element name=&quot;success&quot; type=&quot;boolean&quot;/&gt;
+          &lt;/sequence&gt;
+        &lt;/complexType&gt;
+      &lt;/element&gt;
+      
+      &lt;complexType name=&quot;BookInformation&quot;&gt;
+        &lt;sequence&gt;
+          &lt;element name=&quot;author&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot; type=&quot;string&quot;/&gt;
+          &lt;element name=&quot;title&quot; type=&quot;string&quot;/&gt;
+        &lt;/sequence&gt;
+        &lt;attribute name=&quot;type&quot; use=&quot;required&quot; type=&quot;string&quot;/&gt;
+        &lt;attribute name=&quot;isbn&quot; use=&quot;required&quot; type=&quot;string&quot;/&gt;
+      &lt;/complexType&gt;
+      
+    &lt;/schema&gt;
+
+  &lt;/wsdl:types&gt;
+
+  &lt;wsdl:message name=&quot;getBookRequest&quot;&gt;
+    &lt;wsdl:part element=&quot;wns:getBook&quot; name=&quot;parameters&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name=&quot;getBookResponse&quot;&gt;
+    &lt;wsdl:part element=&quot;wns:getBookResponse&quot; name=&quot;parameters&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:message name=&quot;addBookRequest&quot;&gt;
+    &lt;wsdl:part element=&quot;wns:addBook&quot; name=&quot;parameters&quot;/&gt;
+  &lt;/wsdl:message&gt;
+  
+  &lt;wsdl:message name=&quot;addBookResponse&quot;&gt;
+    &lt;wsdl:part element=&quot;wns:addBookResponse&quot; name=&quot;parameters&quot;/&gt;
+  &lt;/wsdl:message&gt;
+
+  &lt;wsdl:portType name=&quot;Library&quot;&gt;
+
+    &lt;wsdl:operation name=&quot;getBook&quot;&gt;
+      &lt;wsdl:input message=&quot;wns:getBookRequest&quot; name=&quot;getBookRequest&quot;/&gt;
+      &lt;wsdl:output message=&quot;wns:getBookResponse&quot; name=&quot;getBookResponse&quot;/&gt;
+    &lt;/wsdl:operation&gt;
+
+    &lt;wsdl:operation name=&quot;addBook&quot;&gt;
+      &lt;wsdl:input message=&quot;wns:addBookRequest&quot; name=&quot;addBookRequest&quot;/&gt;
+      &lt;wsdl:output message=&quot;wns:addBookResponse&quot; name=&quot;addBookResponse&quot;/&gt;
+    &lt;/wsdl:operation&gt;
+
+  &lt;/wsdl:portType&gt;
+  ...
+&lt;/wsdl:definitions&gt;
+</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. Each of these input and output
+elements in turn consists of a sequence of child elements, with
+some of the child elements defined directly using standard schema
+types and others referencing user-defined schema types.</p>
+<p>As I said up front, this WSDL qualifies for unwrapped handling
+using JiBX. Here's the body of the client interface generated when
+using unwrapping (the <i>-uw</i>
+ option for WSDL2Java):</p>
+<pre>
+    public interface LibraryJibxUnwrapped {
+          
+             
+        /**
+         * Auto generated method signatures
+         * @param type* @param isbn* @param author* @param title
+         */
+         public boolean addBook(
+         java.lang.String type,java.lang.String isbn,java.lang.String[] author,java.lang.String title) throws java.rmi.RemoteException
+          
+                       
+             ;
+             
+             
+        /**
+         * Auto generated method signatures
+         * @param isbn
+         */
+         public com.sosnoski.ws.library.jibx.beans.Book getBook(
+         java.lang.String isbn) throws java.rmi.RemoteException
+          
+                       
+             ;
+             
+
+        
+       //
+       }
+</pre><p>You can see that the JiBX code generation converted the
+operations into simple method call interfaces without introducing
+any extraneous objects (see <a href="./jibx-doclit-example.html">JiBX Document/Literal Example</a>
+ for
+the interface generated when unwrapping is not used). The
+server-side interface is the same.</p>
+<p>The key points that allow unwrapped handling with JiBX are:</p>
+<ol type="1"><li>Each operation either accepts no input, or the input consists
+of a single element.</li>
+<li>Each input element is defined as a schema <i>complexType</i>
+
+consisting of a <i>sequence</i>
+ of any number of child
+elements.</li>
+<li>Each operation either generates no output, or the output
+consists of a single element.</li>
+<li>Each output element is defined as a schema <i>complexType</i>
+
+consisting of a <i>sequence</i>
+ that's either empty or contains a
+single child element.</li>
+<li>The child elements of both inputs and outputs are defined using
+<i>type</i>
+ references, rather than an embedded type
+definitions.</li>
+</ol>
+<p>You also need to supply an appropriate JiBX binding definition
+(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 abstract <i>mapping</i>
+s for the <i>complexType</i>
+s
+referenced by child elements of the inputs and outputs, with a
+<i>type-name</i>
+ attribute matching the schema <i>complexType</i>
+
+name. If the child elements reference schema <i>simpleType</i>
+
+definitions the binding must also define a <i>format</i>
+s for each
+<i>simpleType</i>
+, with a <i>label</i>
+ attribute matching the
+schema <i>simpleType</i>
+ name. The binding definition must also
+specify the <i>force-classes='true'</i>
+ attribute on the
+<i>binding</i>
+ element.</p>
+<p>For example, here's a binding definition that matches the above
+WSDL:</p>
+<pre>
+&lt;binding force-classes=&quot;true&quot; xmlns:tns=&quot;http://ws.sosnoski.com/library/types&quot;&gt;
+
+  &lt;namespace uri=&quot;http://ws.sosnoski.com/library/types&quot; default=&quot;elements&quot;/&gt;
+  
+  &lt;mapping abstract=&quot;true&quot; class=&quot;com.sosnoski.ws.library.jibx.beans.Book&quot;
+      type-name=&quot;tns:BookInformation&quot;&gt;
+    &lt;value name=&quot;type&quot; style=&quot;attribute&quot; field=&quot;m_type&quot;/&gt;
+    &lt;value name=&quot;isbn&quot; style=&quot;attribute&quot; field=&quot;m_isbn&quot;/&gt;
+    &lt;collection field=&quot;m_authors&quot;&gt;
+      &lt;value name=&quot;author&quot;/&gt;
+    &lt;/collection&gt;
+    &lt;value name=&quot;title&quot; field=&quot;m_title&quot;/&gt;
+  &lt;/mapping&gt;
+  
+&lt;/binding&gt;
+</pre><p>And here's the actual
+<code>com.sosnoski.ws.library.jibx.beans.Book</code> class:</p>
+<pre>
+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><p>The JiBX code generation for Axis2 currently requires that
+classes coresponding to unwrapped child elements (such as
+<code>com.sosnoski.ws.library.jibx.beans.Book</code>, in this case)
+provide public default (no-argument) constructors.</p>
+<p>JiBX handling allows the child elements of both inputs and
+outputs to be optional (with <i>nillable='true'</i>
+,
+<i>minOccurs='0'</i>
+, or both), providing the binding converts
+these child elements to object types rather than primitive types.
+It also allows repeated child elements (with
+<i>minOccurs='unbounded'</i>
+, or any value of <i>minOccurs</i>
+
+greater than one), representing the repeated elements as arrays of
+the corresponding object or primitive types.</p>
+</html>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2008
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

Added: webservices/axis2/site/1_4/jms-transport.html
URL: http://svn.apache.org/viewvc/webservices/axis2/site/1_4/jms-transport.html?rev=652665&view=auto
==============================================================================
--- webservices/axis2/site/1_4/jms-transport.html (added)
+++ webservices/axis2/site/1_4/jms-transport.html Thu May  1 14:20:27 2008
@@ -0,0 +1,526 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+
+
+
+
+
+
+
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <title>Maven - </title>
+    <style type="text/css" media="all">
+      @import url("../css/maven-base.css");
+      @import url("../css/maven-theme.css");
+      @import url("../css/site.css");
+    </style>
+    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
+        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+      </head>
+  <body class="composite">
+    <div id="banner">
+                  <a href="../" id="bannerLeft">
+    
+                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
+    
+            </a>
+                          <span id="bannerRight">
+    
+                                            <img src="../../images/axis.jpg" alt="" />
+    
+            </span>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+          
+  
+
+  
+    
+  
+  
+    
+            <div class="xleft">
+        Last Published: 2008-05-01
+                      </div>
+            <div class="xright">            <a href="../index.html">Axis2/Java</a>
+            |
+                <a href="../../c">Axis2/C</a>
+            |
+                <a href="../../..">Apache WS</a>
+            |
+                <a href="http://www.apache.org" class="externalLink">Apache</a>
+            
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+           
+  
+
+  
+    
+  
+  
+    
+                   <h5>Axis2/Java</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../index.html">Home</a>
+          </li>
+          </ul>
+              <h5>Downloads</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../download.cgi">Releases</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../modules/index.html">Modules</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../tools/index.html">Tools</a>
+          </li>
+          </ul>
+              <h5>Documentation</h5>
+            <ul>
+              
+          
+              
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+            
+      
+              
+        <li class="expanded">
+                    <a href="../1_4/contents.html">Version 1.4</a>
+                  <ul>
+                  
+    <li class="none">
+                    <a href="../1_4/toc.html">Table of Contents</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4/installationguide.html">Installation Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4/quickstartguide.html">QuickStart Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4/userguide.html">User Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4/jaxws-guide.html">JAXWS Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4/pojoguide.html">POJO Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4/spring.html">Spring Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4/webadminguide.html">Web Administrator's Guide</a>
+          </li>
+                  
+    <li class="none">
+                    <a href="../1_4/migration.html">Migration Guide (from Axis1)</a>
+          </li>
+              </ul>
+        </li>
+              
+    <li class="none">
+                    <a href="../1_3/contents.html">Version 1.3</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_2/contents.html">Version 1.2</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1_1/contents.html">Version 1.1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_1/contents.html">Version 1.1</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../1_0/index.html">Version 1.0</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_95/index.html">Version 0.95</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_94/index.html">Version 0.94</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../0_93/index.html">Version 0.93</a>
+          </li>
+          </ul>
+              <h5>Resources</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../faq.html">FAQ</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../articles.html">Articles</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink">Wiki</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../refLib.html">Reference Library</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../../1_4/api/index.html">Online Java Docs</a>
+          </li>
+          </ul>
+              <h5>Get Involved</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../overview.html">Overview</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../svn.html">Checkout the Source</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../mail-lists.html">Mailing Lists</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../release-process.html">Release Process</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../guidelines.html">Developer Guidelines</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../siteHowTo.html">Build the Site</a>
+          </li>
+          </ul>
+              <h5>Project Information</h5>
+            <ul>
+              
+    <li class="none">
+                    <a href="../team-list.html">Project Team</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../issue-tracking.html">Issue Tracking</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://svn.apache.org/viewcvs.cgi/webservices/axis2/trunk/?root=Apache-SVN" class="externalLink">Source Code</a>
+          </li>
+              
+    <li class="none">
+                    <a href="../thanks.html">Acknowledgements</a>
+          </li>
+              
+    <li class="none">
+                    <a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a>
+          </li>
+          </ul>
+                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
+            <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
+          </a>
+                       
+  
+
+  
+    
+  
+  
+    
+        </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org"><meta http-equiv="content-type" content="">JMS Transport<link href="../css/axis-docs.css" rel="stylesheet" type="text/css" media="all"></head><a name="configTransport"></a>
+<h1>JMS Transport</h1><p>This document is all about the JMS (Java Messaging Service)
+Transport support in Apache Axis2, and how it should be
+configured.</p>
+<h2>Contents</h2><ul><li><a href="#CommonsHTTPTransportSender">Overview</a>
+</li>
+<li><a href="#timeout_config">Configuration</a>
+</li>
+<li><a href="#writing_services">Writing Services to Use the JMS
+Transport</a>
+</li>
+</ul>
+<a name="CommonsHTTPTransportSender"></a>
+<h2>Overview</h2><p>A new Java Messaging Service (JMS) transport implementation has
+been added to Axis2 to overcome some drawbacks of the previous JMS
+implementation. One of the enhancements provided with this new
+implementation is the ability to <strong>assign custom JMS
+destination names or existing JMS destinations to Axis2 services
+being deployed</strong>.</p>
+<a name="timeout_config"></a>
+<h2>Configuration</h2><p>To use the JMS transport, the axis2.xml configuration must be
+setup as follows, in order to configure the JMSListener and the JMS
+Sender</p>
+<pre><strong>axis2.xml</strong>
+    &lt;transportReceiver name=&quot;jms&quot; class=&quot;org.apache.axis2.transport.jms.JMSListener&quot;&gt;
+      &lt;parameter name=&quot;default&quot;&gt;
+        &lt;parameter name=&quot;java.naming.factory.initial&quot;&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/parameter&gt;
+        &lt;parameter name=&quot;java.naming.provider.url&quot;&gt;tcp://localhost:61616&lt;/parameter&gt;
+        &lt;parameter name=&quot;transport.jms.ConnectionFactoryJNDIName&quot;&gt;QueueConnectionFactory&lt;/parameter&gt;
+      &lt;/parameter&gt;
+    &lt;/transportReceiver&gt;
+
+    &lt;transportSender name=&quot;jms&quot; class=&quot;org.apache.axis2.transport.jms.JMSSender&quot;/&gt;
+</pre><p>The JMS transport receiver configuration allows you to define
+the default connection factory (named as &quot;default&quot; ~
+JMSConstants.DEFAULT_CONFAC_NAME) for use by Axis2 services using
+the JMS transport. This connection factory will be used by any
+service that does not explicitly specify a connection factory name
+in its services.xml file. The configuration required to associate a
+(local) Axis2 connection factory to an actual implementation must
+be provided as shown above. To specify the JNDI URL, the initial
+context factory class and the JNDI name of the actual JMS
+connection factory is used. You can also specify the parameters
+&quot;java.naming.security.principal&quot; and
+&quot;java.naming.security.credentials&quot;, if required, to access the
+actual connection factory. The example shown above uses an ActiveMQ
+JMS implementation.</p>
+<pre><strong>axis2.xml</strong>
+  &lt;parameter name=&quot;myTopicConnectionFactory&quot;&gt;
+</pre><pre>
+    &lt;parameter name=&quot;java.naming.factory.initial&quot;&gt;org.apache.activemq.jndi.ActiveMQInitialContextFactory&lt;/parameter&gt;
+</pre><pre>
+    &lt;parameter name=&quot;java.naming.provider.url&quot;&gt;tcp://localhost:61616&lt;/parameter&gt;
+</pre><pre>
+    &lt;parameter name=&quot;transport.jms.ConnectionFactoryJNDIName&quot;&gt;TopicConnectionFactory&lt;/parameter&gt;
+</pre><pre>
+  &lt;/parameter&gt;
+</pre><p>If it is required or applicable, you are free to define
+additional (local) connection factories to Axis2 as shown above,
+which your services can use. For a service to specify that such a
+connection factory should be used, its services.xml may specify the
+following configuration parameter:</p>
+<pre>
+services.xml  
+  &lt;parameter name=&quot;transport.jms.ConnectionFactory&quot; locked=&quot;true&quot;&gt;myTopicConnectionFactory&lt;/parameter&gt;
+</pre><p><strong>Note:</strong> Depending on your JMS implementation, you
+will need to make available all the required libraries for your
+Axis2 instance. This example assumes you are using an ActiveMQ
+instance. To run the given code samples, it is required to make the
+following JAR files available: activeio-core-3.0-beta1.jar,
+activemq-core-4.0-RC2.jar,
+geronimo-j2ee-management_1.0_spec-1.0.jar at a minimum. It also
+requires you to start ActiveMQ separately from Axis2, and then
+provide the appropriate configuration settings (e.g. URL) to
+Axis2.</p>
+<p>During initialization, the JMS Listener creates a dedicated JMS
+message processor for each connection factory defined, and utilizes
+a shared thread pool to process the received messages.</p>
+<p>A service on an Axis2 instance is deployed on all the started
+transports by default, unless a list of transports is specified in
+its services.xml file. Hence, if a service must only be deployed on
+JMS, you should specify it on the services.xml as follows:</p>
+<pre>
+  &lt;transports&gt; 
+    &lt;transport&gt;jms&lt;/transport&gt; 
+  &lt;/transports&gt;
+</pre><p>If the services.xml does not provide an explicit JMS destination
+name, it is assumed that the service will listen for messages on a
+JMS <strong>Queue</strong> by the same name as the <strong>name of
+the service</strong>. If an explicit connection factory definition
+name has not been specified, it is assumed that the &quot;default&quot;
+connection factory definition configured within the transport
+receiver is used. To provide a custom JMS destination name and
+connection factory, the services.xml file provides the following
+optional parameters.</p>
+<pre>
+  &lt;parameter name=&quot;transport.jms.ConnectionFactory&quot; locked=&quot;true&quot;&gt;myTopicConnectionFactory&lt;/parameter&gt;
+  &lt;parameter name=&quot;transport.jms.Destination&quot; locked=&quot;true&quot;&gt;dynamicTopics/something.TestTopic&lt;/parameter&gt;
+</pre><a name="writing_services"></a>
+<h2>Writing Services to Use the JMS Transport</h2><p>This section assumes that you are already familiar with <a href="xmlbased-server.html">writing service implementations</a>
+ for
+Axis2, and provides information on how to write your own service
+implementations to be exposed over JMS.</p>
+<p><strong>Echo - Service implementation and
+services.xml</strong></p>
+<p>This sample demonstrates a very simple service which is to be
+exposed over JMS. It does not specify a custom connection factory
+name, and hence uses the default value as specified in the JMS
+transport listener configuration. It also does not specify a custom
+destination name, and hence would listen to messages over a JMS
+Queue named &quot;Echo&quot; (which is the name of the service). This service
+will be exposed over all defined Axis2 transports, and the
+resulting URL for the service over JMS will be:</p>
+<p>
+jms:/echo?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616</p>
+<pre><strong>Echo.java</strong></pre><pre>
+  public class Echo {
+</pre><pre>
+    public String echoString(String in) {
+</pre><pre>
+      return in;
+</pre><pre>
+    }
+</pre><pre>
+    public String echoString1(String in) {
+</pre><pre>
+      return &quot;echoString1 &quot; + in;
+</pre><pre>
+    }
+</pre><pre>
+    public String echoString2(String in) {
+</pre><pre>
+      return &quot;echoString2 &quot; + in;
+</pre><pre>
+    }
+</pre><pre>
+  }
+</pre><pre><strong>services.xml</strong></pre><pre>
+  &lt;service name=&quot;echo&quot;&gt;
+</pre><pre>
+    &lt;description&gt;Echo Service&lt;/description&gt;
+</pre><pre>
+    &lt;messageReceivers&gt;
+</pre><pre>
+      &lt;messageReceiver mep=&quot;http://www.w3.org/2004/08/wsdl/in-only&quot;
+</pre><pre>
+        class=&quot;org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver&quot;/&gt;
+</pre><pre>
+      &lt;messageReceiver mep=&quot;http://www.w3.org/2004/08/wsdl/in-out&quot;
+</pre><pre>
+        class=&quot;org.apache.axis2.rpc.receivers.RPCMessageReceiver&quot;/&gt;
+</pre><pre>
+    &lt;/messageReceivers&gt;
+</pre><pre>
+    &lt;parameter name=&quot;ServiceClass&quot; locked=&quot;true&quot;&gt;Echo&lt;/parameter&gt;
+</pre><pre>
+&lt;/service&gt;
+</pre><p><strong>Echo2 - Service implementation and
+services.xml</strong></p>
+<p>This example shows a simple service which specifies that it
+should only be exposed over the JMS transport, and that the custom
+connection factory named &quot;myTopcConnectionFactory&quot; should be used
+to listen for requests at the JMS destination named
+&quot;dynamicTopics/something.TestTopic&quot;. The JMS URL to access this
+service is:</p>
+<p>
+jms:/dynamicTopics/something.TestTopic?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;java.naming.security.principal=system&amp;java.naming.security.credentials=manager</p>
+<pre><strong>Echo2.java</strong></pre><pre>
+  public class Echo2 {
+</pre><pre>
+    public String echoString(String in) {
+</pre><pre>
+      return in;
+</pre><pre>
+    }
+</pre><pre>
+  }
+</pre><pre><strong>services.xml</strong></pre><pre>
+  &lt;service name=&quot;echo&quot;&gt;
+</pre><pre>
+    &lt;transports&gt;
+</pre><pre>
+      &lt;transport&gt;jms&lt;/transport&gt;
+</pre><pre>
+    &lt;/transports&gt;
+</pre><pre>
+    &lt;description&gt;Echo2 Service&lt;/description&gt;
+</pre><pre>
+    &lt;messageReceivers&gt;
+</pre><pre>
+      &lt;messageReceiver mep=&quot;http://www.w3.org/2004/08/wsdl/in-only&quot;
+</pre><pre>
+        class=&quot;org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver&quot;/&gt;
+</pre><pre>
+      &lt;messageReceiver mep=&quot;http://www.w3.org/2004/08/wsdl/in-out&quot;
+</pre><pre>
+        class=&quot;org.apache.axis2.rpc.receivers.RPCMessageReceiver&quot;/&gt;
+</pre><pre>
+    &lt;/messageReceivers&gt;
+</pre><pre>
+    &lt;parameter name=&quot;ServiceClass&quot; locked=&quot;true&quot;&gt;Echo2&lt;/parameter&gt;
+</pre><pre>
+    &lt;parameter name=&quot;transport.jms.ConnectionFactory&quot; locked=&quot;true&quot;&gt;myTopicConnectionFactory&lt;/parameter&gt;
+</pre><pre>
+    &lt;parameter name=&quot;transport.jms.Destination&quot; locked=&quot;true&quot;&gt;dynamicTopics/something.TestTopic&lt;/parameter&gt;
+</pre><pre>
+  &lt;/service&gt;
+</pre><pre></pre><h2>Starting up the Axis2 JMS transport</h2><p>The Axis2 standalone binary distribution ships with an Axis2
+Server, which starts up all the transports that are configured as
+per the axis2.xml. Hence, configure the JMS transport in your
+axis2.xml, and use the axis2server.bat or the axis2server.sh to
+start the JMS transport.</p>
+</html>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">&#169;  
+          2004-2008
+    
+          Apache Software Foundation
+          
+  
+
+  
+    
+  
+  
+    
+  </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>



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