<!-- | |
~ Licensed to the Apache Software Foundation (ASF) under one | |
~ or more contributor license agreements. See the NOTICE file | |
~ distributed with this work for additional information | |
~ regarding copyright ownership. The ASF licenses this file | |
~ to you under the Apache License, Version 2.0 (the | |
~ "License"); you may not use this file except in compliance | |
~ with the License. You may obtain a copy of the License at | |
~ | |
~ http://www.apache.org/licenses/LICENSE-2.0 | |
~ | |
~ Unless required by applicable law or agreed to in writing, | |
~ software distributed under the License is distributed on an | |
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
~ KIND, either express or implied. See the License for the | |
~ specific language governing permissions and limitations | |
~ under the License. | |
--> | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml"> | |
<head> | |
<meta name="generator" content= | |
"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" /> | |
<meta http-equiv="content-type" content="" /> | |
<title>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</groupId> | |
<artifactId>axis2-wsdl2code-maven-plugin</artifactId> | |
<version>1.4</version> | |
<executions> | |
<execution> | |
<goals> | |
<goal>wsdl2code</goal> | |
</goals> | |
<configuration> | |
<packageName>com.foo.myservice</packageName> | |
<wsdlFile>src/main/wsdl/myservice.wsdl</wsdlFile> | |
<databindingName>xmlbeans</databindingName> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
</pre> | |
Also please add axis2 jars as a dependency | |
<pre xml:space="preserve"> | |
<dependency> | |
<groupId>org.apache.axis2</groupId> | |
<artifactId>axis2</artifactId> | |
<version>1.4</version> | |
</dependency> | |
</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 axis2-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> <packageName>package1</packageName> | |
</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 a randomly picked port.</td> | |
<td></td> | |
</tr> | |
<tr> | |
<td>allPorts</td> | |
<td>${axis2.wsdl2code.allPorts}</td> | |
<td>Set this to true to generate code for all ports.</td> | |
<td>false</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> |