<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> <build> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.axis2.maven2</groupId> | |
<artifactId>axis2-wsdl2code-maven-plugin</artifactId> | |
<executions> | |
<execution> | |
<goals> | |
<goal>wsdl2code</goal> | |
</goals> | |
</execution> | |
<configuration> | |
<packageName>com.foo.myservice</packageName> | |
</configuration> | |
</executions> | |
</plugin> | |
</plugins> | |
</build></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: <namespaceURIs> | |
<namespaceURI> <uri>uri1</uri> | |
<package>package1</package> </namespaceURI> | |
........ </namespaceURI></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> |