blob: 97f847df30c2a5a44c730b476a7784970c6e890d [file] [log] [blame]
<html>
<head>
<meta http-equiv="content-type" content="">
<title>Maven2 WSDL2Code Plug-in Guide</title>
<link href="../../../css/axis-docs.css" rel="stylesheet" type="text/css"
media="all">
</head>
<body>
<h1>Maven2 WSDL2Code Plug-in Guide</h1>
<h2>Introduction</h2>
<p>This plugin takes as input a WSDL and generates client and server stubs
for calling or implementing a Web service matching the WSDL.</p>
<p><a href="http://ws.apache.org/axis2/tools/index.html"
target="_blank">[Download Plugin Tool]</a></p>
<h2>Goals</h2>
<p>The WSDl2Code offers a single goal:</p>
<ul>
<li>wsdl2code (default): Reads the WSDL and generates code.</li>
</ul>
<p>To run the plugin, add the following section to your <a
href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">POM</a>
(Project Object Model):</p>
<pre> &lt;build&gt;
&lt;plugins&gt;
&lt;plugin&gt;
&lt;groupId&gt;org.apache.axis2.maven2&lt;/groupId&gt;
&lt;artifactId&gt;axis2-wsdl2code-maven-plugin&lt;/artifactId&gt;
&lt;executions&gt;
&lt;execution&gt;
&lt;goals&gt;
&lt;goal&gt;wsdl2code&lt;/goal&gt;
&lt;/goals&gt;
&lt;/execution&gt;
&lt;configuration&gt;
&lt;packageName&gt;com.foo.myservice&lt;/packageName&gt;
&lt;/configuration&gt;
&lt;/executions&gt;
&lt;/plugin&gt;
&lt;/plugins&gt;
&lt;/build&gt;</pre>
<p>The plugin will be invoked automatically in the generate-sources phase.
You can also invoke it directly from the command line by running the
command</p>
<pre>mvn wsdl2code:wsdl2code</pre>
<h3>The WSDL2Code Goal</h3>
<p>By default, the plugin reads the file
<strong>src/main/axis2/service.wsdl</strong>. Sources for the Java
programming language and the ADB data binding are generated into
<strong>target/generated-sources/axis2/wsdl2code</strong>. Note the
configuration element <strong>packageName</strong> above, which sets the
package name, thus a subdirectory.</p>
<h2>Configuration</h2>
<p>The WSDL2Code goal takes the following parameters as input. All parameters
can be set from the command line by using properties. For example, the
parameter "generateServerSide" may be set using the property
"axis2.wsdl2code.generateServerSide". If the parameter isn't set via property
or in the POM, then a default value applies.</p>
<table border="2">
<tbody>
<tr align="center">
<td><strong>Parameter Name</strong></td>
<td><strong>Command Line Property</strong></td>
<td><strong>Description</strong></td>
<td><strong>Default Value</strong></td>
</tr>
<tr>
<td>databindingName</td>
<td>${axis2.wsdl2code.databindingName}</td>
<td>Data binding framework, which is being used by the generated
sources.</td>
<td>adb</td>
</tr>
<tr>
<td>generateAllClasses</td>
<td>${axis2.wsdl2code.generateAllClasses}</td>
<td>Whether to generate simply all classes. This is only valid in
conjunction with "generateServerSide".</td>
<td>false</td>
</tr>
<tr>
<td>generateServerSide</td>
<td>${axis2.wsdl2code.generateServerSide}</td>
<td>Whether server side sources are being generated.</td>
<td>false</td>
</tr>
<tr>
<td>generateServerSideInterface</td>
<td>${axis2.wsdl2code.generateServerSideInterface}</td>
<td>Whether to generate the server side interface.</td>
<td>false</td>
</tr>
<tr>
<td>generateServicesXml</td>
<td>${axis2.wsdl2code.generateServicesXml}</td>
<td>Whether a "services.xml" file is being generated.</td>
<td>false</td>
</tr>
<tr>
<td>generateTestcase</td>
<td>${axis2.wsdl2code.generateTestCase}</td>
<td>Whether a test case is being generated.</td>
<td>false</td>
</tr>
<tr>
<td>language</td>
<td>${axis2.wsdl2code.language}</td>
<td>Programming language of the generated sources.</td>
<td>java</td>
</tr>
<tr>
<td>namespaceToPackages</td>
<td>${axis2.wsdl2code.namespaceToPackages}</td>
<td>Map of namespace URI to packages in the format
uri1=package1,uri2=package2,... Using this parameter is discouraged.
In general, you should use the namespaceUris parameter. However, the
latter cannot be set on the command line.</td>
<td></td>
</tr>
<tr>
<td>namespaceURIs</td>
<td></td>
<td>Map of namespace URI to packages. Example: &lt;namespaceURIs&gt;
&lt;namespaceURI&gt; &lt;uri&gt;uri1&lt;/uri&gt;
&lt;package&gt;package1&lt;/package&gt; &lt;/namespaceURI&gt;
........ &lt;/namespaceURI&gt;</td>
<td></td>
</tr>
<tr>
<td>outputDirectory</td>
<td>${axis2.wsdl2code.target}</td>
<td>Target directory, where sources are being
target/generated-sources/axis2/wsdl2code generated.</td>
<td></td>
</tr>
<tr>
<td>packageName</td>
<td>${axis2.wsdl2code.package}</td>
<td>Package name of the generated sources.</td>
<td></td>
</tr>
<tr>
<td>portName</td>
<td>${axis2.wsdl2code.portName}</td>
<td>Port name, for which sources are being generated. By default,
sources are generated for all ports.</td>
<td></td>
</tr>
<tr>
<td>serviceName</td>
<td>${axis2.wsdl2code.serviceName}</td>
<td>Service name, for which sources are being generated. By default,
sources are generated for all services.</td>
<td></td>
</tr>
<tr>
<td>syncMode</td>
<td>${axis2.wsdl2code.syncMode}</td>
<td>Sync mode, for which sources are being generated; either of "sync",
"async", or "both" (default).</td>
<td>both</td>
</tr>
<tr>
<td>unpackClasses</td>
<td>${axis2.wsdl2code.unpackClasses}</td>
<td>Whether to unpack classes.</td>
<td></td>
</tr>
<tr>
<td>wsdlFile</td>
<td>${axis2.wsdl2code.wsdl}</td>
<td>Location of the WSDL file, which is read as input</td>
<td>src/main/axis2/service.wsdl</td>
</tr>
</tbody>
</table>
</body>
</html>