<!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>ADB Integration With Axis2</title>
  <link href="../../css/axis-docs.css" rel="stylesheet" type="text/css" media="all" />
</head>
<body>
<h1>ADB Integration With Axis2</h1>
<p>This document will assist you to write an extension using the
integrator in order to integrate ADB with Axis2.</p>
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#select_modes">Selection of Generation Modes for
ADB</a></li>
<li><a href="#remember">Things to Remember</a></li>
</ul>
<h2><a name="intro" id="intro">Introduction</a></h2>
<p>ADB Integration with Axis2 is simple and straightforward. Given
the extension mechanism of the Axis2 code generator, the obvious
choice for the integrator is to write an extension. The extension
that is added to support ADB is the SimpleDBExtension
(<strong>org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension</strong>)
and can be found in the extensions list of the
codegen-config.properties file.</p>
<a name="select_modes" id="select_modes"></a>
<h2>Selection of Generation Modes for ADB</h2>
<p>The extension sets the options for the code generator via the
CompilerOptions, depending on the users settings. The following
table summarizes the use of options. Please refer the <a href=
"adb-howto.html" target="_blank">ADB-How to document</a> for the
different generation modes and their descriptions.</p>
<table border="1">
<tbody>
<tr>
<td><strong>User parameters</strong></td>
<td><strong>Selected code generation parameters</strong></td>
</tr>
<tr>
<td>None (no other parameter than the mandatory ones)</td>
<td>wrapClasses=false,writeClasses=false</td>
</tr>
<tr>
<td>-ss (server side)</td>
<td>wrapClasses=false,writeClasses=true</td>
</tr>
<tr>
<td>-u (unwrap classes)</td>
<td>wrapClasses=false,writeClasses=true</td>
</tr>
</tbody>
</table>
<p>If the users want to override these settings manually, they need
to use the following parameters in the command line (prefixed with
-E)</p>
<table border="1">
<tbody>
<tr>
<td><strong>Parameter Name</strong></td>
<td><strong>Allowed values</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>r</td>
<td>true, false</td>
<td>Sets the write flag. If set to true the classes will be written
by ADB</td>
</tr>
<tr>
<td>w</td>
<td>true, false</td>
<td>Sets the packing flag. if true the classes will be packed.</td>
</tr>
</tbody>
</table>
<p>Note that these parameters have no relevant long names and MUST
be prefixed with a -E to be processed by the code generator. For
example</p>
<pre>
WSDL2Java .... -Er true
</pre>
<a name="remember" id="remember"></a>
<h2>Things to Remember</h2>
<ol>
<li>SimpleDBExtension is made to process requests only when the
databinding framework is specified as ADB (using the switch -d adb
). In the most recent release, the default has been set as ADB and
hence if the -d option is missing then the databinding framework
will be ADB.</li>
</ol>
<hr />
</body>
</html>
