<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 at 2022-07-14 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20220714" />
    <meta http-equiv="Content-Language" content="en" />
    <title>axis2-wsdl2code-maven-plugin &#x2013; axis2:wsdl2code</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.6.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
      <script type="text/javascript" src="./js/apache-maven-fluido-1.6.min.js"></script>
      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="http://www.apache.org/" id="bannerLeft"><img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Axis2"/></a></div>
        <div class="pull-right"><a href="../../../" id="bannerRight"><img src="../../../images/axis.jpg" /></a></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2022-07-14<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.8.2<span class="divider">|</span></li>
        <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
      <li class=""><a href="../../../../../../../../../../../../scm:git:https:/gitbox.apache.org/repos/asf/axis-site.git/index.html" title="Axis2/Java">Axis2/Java</a><span class="divider">/</span></li>
      <li class=""><a href="index.html" title="axis2-wsdl2code-maven-plugin">axis2-wsdl2code-maven-plugin</a><span class="divider">/</span></li>
    <li class="active ">axis2:wsdl2code</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">Overview</li>
    <li><a href="index.html" title="About"><span class="none"></span>About</a>  </li>
    <li><a href="usage.html" title="Usage"><span class="none"></span>Usage</a>  </li>
    <li><a href="plugin-info.html" title="Plugin Documentation"><span class="icon-chevron-down"></span>Plugin Documentation</a>
      <ul class="nav nav-list">
    <li><a href="generate-sources-mojo.html" title="generate-sources"><span class="none"></span>generate-sources</a>  </li>
    <li><a href="generate-test-sources-mojo.html" title="generate-test-sources"><span class="none"></span>generate-test-sources</a>  </li>
      </ul>
  </li>
          <li class="nav-header">Apache</li>
    <li><a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License"><span class="none"></span>License</a>  </li>
    <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a>  </li>
    <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a>  </li>
    <li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a>  </li>
  </ul>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
  <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
              </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >

  
    <section>
<h2><a name="axis2:wsdl2code"></a>axis2:wsdl2code</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.apache.axis2:axis2-wsdl2code-maven-plugin:1.8.2:wsdl2code</p>
      
<p><b>This plugin goal has been deprecated</b>:</p>
      
<div>This goal is identical to axis2-wsdl2code:generate-sources; either
switch to that goal or use the new
axis2-wsdl2code:generate-test-sources goal if you need to generate
code for use in unit tests only.</div>
      
<p><b>Description</b>:</p>
      
<div>Generates source code from a WSDL.</div>
      
<p><b>Attributes</b>:</p>
      
<ul>
        
<li>Requires a Maven project to be executed.</li>
        
<li>The goal is thread-safe and supports parallel builds.</li>
        
<li>Binds by default to the <a class="externalLink" href="http://maven.apache.org/ref/current/maven-core/lifecycles.html">lifecycle phase</a>: <code>generate-sources</code>.</li>
      </ul>
      <section>
<h3><a name="Optional_Parameters"></a>Optional Parameters</h3>
        
<table class="table table-striped" border="0">
          
<tr class="a">
            
<th>Name</th>
            
<th>Type</th>
            
<th>Since</th>
            
<th>Description</th>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#allPorts">&lt;allPorts&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Set this to true to generate code for all ports.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.allPorts</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#backwardCompatible">&lt;backwardCompatible&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.backwardCompatible</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#databindingName">&lt;databindingName&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>The databinding framework, which is being used by the generated
sources.<br /><b>Default value is</b>: <code>adb</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.databindingName</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#encoding">&lt;encoding&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>The charset encoding to use for generated source files.<br /><b>Default value is</b>: <code>${project.build.sourceEncoding}</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#externalMapping">&lt;externalMapping&gt;</a></code></td>
            
<td><code>File</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>User property is</b>: <code>axis2.wsdl2code.externalMapping</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#flattenFiles">&lt;flattenFiles&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.flattenFiles</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#generateAllClasses">&lt;generateAllClasses&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether to generate simply all classes. This is only valid in
conjunction with &quot;generateServerSide&quot;.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.generateAllClasses</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#generateServerSide">&lt;generateServerSide&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether server side sources are being generated.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.generateServerSide</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#generateServerSideInterface">&lt;generateServerSideInterface&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether to generate the server side interface.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.generateServerSideInterface</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#generateServicesXml">&lt;generateServicesXml&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether a &quot;services.xml&quot; file is being generated.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.generateServicesXml</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#generateTestcase">&lt;generateTestcase&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether a test case is being generated.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.generateTestCase</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#jibxBindingFile">&lt;jibxBindingFile&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>The binding file for JiBX databinding.<br /><b>User property is</b>: <code>axis2.wsdl2code.jibxBindingFile</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#language">&lt;language&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>The programming language of the generated sources.<br /><b>Default value is</b>: <code>java</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.language</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#namespaceMappings">&lt;namespaceMappings&gt;</a></code></td>
            
<td><code>NamespaceMapping[]</code></td>
            
<td><code>-</code></td>
            
<td>Map of namespace URI to packages. Example: 

<div>
<pre>
&lt;namespaceMappings&gt;
  &lt;namespaceMapping&gt;
    &lt;uri&gt;uri1&lt;/uri&gt;
    &lt;packageName&gt;package1&lt;/packageName&gt;
  &lt;/namespaceMapping&gt;
  ...
&lt;/namespaceMapping&gt;
</pre></div><br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#namespaceToPackages">&lt;namespaceToPackages&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Map of namespace URI to packages in the format
<code>uri1=package1,uri2=package2,...</code>. Using this parameter
is discouraged. In general, you should use the
<code>namespaceUris</code> parameter. However, the latter cannot be
set on the command line.<br /><b>User property is</b>: <code>axis2.wsdl2code.namespaceToPackages</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#namespaceURIs">&lt;namespaceURIs&gt;</a></code></td>
            
<td><code>NamespaceMapping[]</code></td>
            
<td><code>-</code></td>
            
<td><b>Deprecated.</b> Use <code>namespaceMappings</code> instead.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#options">&lt;options&gt;</a></code></td>
            
<td><code>Properties</code></td>
            
<td><code>-</code></td>
            
<td>Specify databinding specific extra options<br /><b>User property is</b>: <code>axis2.java2wsdl.options</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#outputDirectory">&lt;outputDirectory&gt;</a></code></td>
            
<td><code>File</code></td>
            
<td><code>-</code></td>
            
<td>The output directory, where the generated sources are being
created.<br /><b>Default value is</b>: <code>${project.build.directory}/generated-sources/axis2/wsdl2code</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.target</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#overWrite">&lt;overWrite&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.overWrite</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#packageName">&lt;packageName&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Package name of the generated sources; will be used to create a
package structure below the output directory.<br /><b>User property is</b>: <code>axis2.wsdl2code.package</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#portName">&lt;portName&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Port name, for which to generate sources. By default, sources will
be generated for a randomly picked port.<br /><b>User property is</b>: <code>axis2.wsdl2code.portName</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#repositoryPath">&lt;repositoryPath&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>User property is</b>: <code>axis2.wsdl2code.repositoryPath</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#serviceName">&lt;serviceName&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Service name, for which to generate sources. By default, sources
will be generated for all services.<br /><b>User property is</b>: <code>axis2.wsdl2code.serviceName</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#skeletonClassName">&lt;skeletonClassName&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Skeleton class name - used to specify a name for skeleton class
other than the default one. In general, you should use the
<code>serviceName</code> parameter or ensure only one service
exist. Maps to the -scn option of the command line tool.<br /><b>User property is</b>: <code>axis2.wsdl2code.skeletonClassName</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#skeletonInterfaceName">&lt;skeletonInterfaceName&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Skeleton interface name - used to specify a name for skeleton
interface other than the default one. In general, you should use
the <code>serviceName</code> parameter or ensure only one service
exist. Should be used together with
<code>generateServerSideInterface</code>. Maps to the -sin option
of the command line tool.<br /><b>User property is</b>: <code>axis2.wsdl2code.skeletonInterfaceName</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#skipBuildXML">&lt;skipBuildXML&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.skipBuildXML</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#skipMessageReceiver">&lt;skipMessageReceiver&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.skipMessageReceiver</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#skipWSDL">&lt;skipWSDL&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.skipWSDL</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#suppressPrefixes">&lt;suppressPrefixes&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.suppressPrefixes</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#syncMode">&lt;syncMode&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Mode, for which sources are being generated; either of &quot;sync&quot;,
&quot;async&quot; or &quot;both&quot;.<br /><b>Default value is</b>: <code>both</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.syncMode</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#targetResourcesFolderLocation">&lt;targetResourcesFolderLocation&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>User property is</b>: <code>axis2.wsdl2code.targetResourcesFolderLocation</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#targetSourceFolderLocation">&lt;targetSourceFolderLocation&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>src</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.targetSourceFolderLocation</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#unpackClasses">&lt;unpackClasses&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether to unpack classes.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.unpackClasses</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#unwrap">&lt;unwrap&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>This will select between wrapped and unwrapped during code
generation. Maps to the -uw option of the command line tool.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.unwrap</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td align="left"><code><a href="#wsdlFile">&lt;wsdlFile&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>The WSDL file, which is being read.<br /><b>Default value is</b>: <code>src/main/resources/service.wsdl</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.wsdlFile</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td align="left"><code><a href="#wsdlVersion">&lt;wsdlVersion&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>1.1</code>.<br /><b>User property is</b>: <code>axis2.wsdl2code.wsdlVersion</code>.<br /></td>
          </tr>
        </table>
      </section>
      <section>
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
        <section>
<h4><a name="a.3CallPorts.3E"></a><b><a name="allPorts">&lt;allPorts&gt;</a></b></h4>
        
<div>Set this to true to generate code for all ports.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.allPorts</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CbackwardCompatible.3E"></a><b><a name="backwardCompatible">&lt;backwardCompatible&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.backwardCompatible</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CdatabindingName.3E"></a><b><a name="databindingName">&lt;databindingName&gt;</a></b></h4>
        
<div>The databinding framework, which is being used by the generated
sources.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.databindingName</code></li>
          
<li><b>Default</b>: <code>adb</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cencoding.3E"></a><b><a name="encoding">&lt;encoding&gt;</a></b></h4>
        
<div>The charset encoding to use for generated source files.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>${project.build.sourceEncoding}</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CexternalMapping.3E"></a><b><a name="externalMapping">&lt;externalMapping&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>java.io.File</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.externalMapping</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CflattenFiles.3E"></a><b><a name="flattenFiles">&lt;flattenFiles&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.flattenFiles</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CgenerateAllClasses.3E"></a><b><a name="generateAllClasses">&lt;generateAllClasses&gt;</a></b></h4>
        
<div>Whether to generate simply all classes. This is only valid in
conjunction with &quot;generateServerSide&quot;.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.generateAllClasses</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CgenerateServerSide.3E"></a><b><a name="generateServerSide">&lt;generateServerSide&gt;</a></b></h4>
        
<div>Whether server side sources are being generated.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.generateServerSide</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CgenerateServerSideInterface.3E"></a><b><a name="generateServerSideInterface">&lt;generateServerSideInterface&gt;</a></b></h4>
        
<div>Whether to generate the server side interface.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.generateServerSideInterface</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CgenerateServicesXml.3E"></a><b><a name="generateServicesXml">&lt;generateServicesXml&gt;</a></b></h4>
        
<div>Whether a &quot;services.xml&quot; file is being generated.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.generateServicesXml</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CgenerateTestcase.3E"></a><b><a name="generateTestcase">&lt;generateTestcase&gt;</a></b></h4>
        
<div>Whether a test case is being generated.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.generateTestCase</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CjibxBindingFile.3E"></a><b><a name="jibxBindingFile">&lt;jibxBindingFile&gt;</a></b></h4>
        
<div>The binding file for JiBX databinding.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.jibxBindingFile</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Clanguage.3E"></a><b><a name="language">&lt;language&gt;</a></b></h4>
        
<div>The programming language of the generated sources.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.language</code></li>
          
<li><b>Default</b>: <code>java</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CnamespaceMappings.3E"></a><b><a name="namespaceMappings">&lt;namespaceMappings&gt;</a></b></h4>
        
<div>Map of namespace URI to packages. Example: 

<div>
<pre>
&lt;namespaceMappings&gt;
  &lt;namespaceMapping&gt;
    &lt;uri&gt;uri1&lt;/uri&gt;
    &lt;packageName&gt;package1&lt;/packageName&gt;
  &lt;/namespaceMapping&gt;
  ...
&lt;/namespaceMapping&gt;
</pre></div></div>
        
<ul>
          
<li><b>Type</b>: <code>org.apache.axis2.maven.shared.NamespaceMapping[]</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CnamespaceToPackages.3E"></a><b><a name="namespaceToPackages">&lt;namespaceToPackages&gt;</a></b></h4>
        
<div>Map of namespace URI to packages in the format
<code>uri1=package1,uri2=package2,...</code>. Using this parameter
is discouraged. In general, you should use the
<code>namespaceUris</code> parameter. However, the latter cannot be
set on the command line.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.namespaceToPackages</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CnamespaceURIs.3E"></a><b><a name="namespaceURIs">&lt;namespaceURIs&gt;</a></b></h4>
        
<div><b>Deprecated.</b> Use <code>namespaceMappings</code> instead.</div>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>org.apache.axis2.maven.shared.NamespaceMapping[]</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Coptions.3E"></a><b><a name="options">&lt;options&gt;</a></b></h4>
        
<div>Specify databinding specific extra options</div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.Properties</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.java2wsdl.options</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CoutputDirectory.3E"></a><b><a name="outputDirectory">&lt;outputDirectory&gt;</a></b></h4>
        
<div>The output directory, where the generated sources are being
created.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.io.File</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.target</code></li>
          
<li><b>Default</b>: <code>${project.build.directory}/generated-sources/axis2/wsdl2code</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CoverWrite.3E"></a><b><a name="overWrite">&lt;overWrite&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.overWrite</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CpackageName.3E"></a><b><a name="packageName">&lt;packageName&gt;</a></b></h4>
        
<div>Package name of the generated sources; will be used to create a
package structure below the output directory.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.package</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CportName.3E"></a><b><a name="portName">&lt;portName&gt;</a></b></h4>
        
<div>Port name, for which to generate sources. By default, sources will
be generated for a randomly picked port.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.portName</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CrepositoryPath.3E"></a><b><a name="repositoryPath">&lt;repositoryPath&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.repositoryPath</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CserviceName.3E"></a><b><a name="serviceName">&lt;serviceName&gt;</a></b></h4>
        
<div>Service name, for which to generate sources. By default, sources
will be generated for all services.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.serviceName</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CskeletonClassName.3E"></a><b><a name="skeletonClassName">&lt;skeletonClassName&gt;</a></b></h4>
        
<div>Skeleton class name - used to specify a name for skeleton class
other than the default one. In general, you should use the
<code>serviceName</code> parameter or ensure only one service
exist. Maps to the -scn option of the command line tool.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.skeletonClassName</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CskeletonInterfaceName.3E"></a><b><a name="skeletonInterfaceName">&lt;skeletonInterfaceName&gt;</a></b></h4>
        
<div>Skeleton interface name - used to specify a name for skeleton
interface other than the default one. In general, you should use
the <code>serviceName</code> parameter or ensure only one service
exist. Should be used together with
<code>generateServerSideInterface</code>. Maps to the -sin option
of the command line tool.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.skeletonInterfaceName</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CskipBuildXML.3E"></a><b><a name="skipBuildXML">&lt;skipBuildXML&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.skipBuildXML</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CskipMessageReceiver.3E"></a><b><a name="skipMessageReceiver">&lt;skipMessageReceiver&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.skipMessageReceiver</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CskipWSDL.3E"></a><b><a name="skipWSDL">&lt;skipWSDL&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.skipWSDL</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CsuppressPrefixes.3E"></a><b><a name="suppressPrefixes">&lt;suppressPrefixes&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.suppressPrefixes</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CsyncMode.3E"></a><b><a name="syncMode">&lt;syncMode&gt;</a></b></h4>
        
<div>Mode, for which sources are being generated; either of &quot;sync&quot;,
&quot;async&quot; or &quot;both&quot;.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.syncMode</code></li>
          
<li><b>Default</b>: <code>both</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CtargetResourcesFolderLocation.3E"></a><b><a name="targetResourcesFolderLocation">&lt;targetResourcesFolderLocation&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.targetResourcesFolderLocation</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CtargetSourceFolderLocation.3E"></a><b><a name="targetSourceFolderLocation">&lt;targetSourceFolderLocation&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.targetSourceFolderLocation</code></li>
          
<li><b>Default</b>: <code>src</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CunpackClasses.3E"></a><b><a name="unpackClasses">&lt;unpackClasses&gt;</a></b></h4>
        
<div>Whether to unpack classes.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.unpackClasses</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cunwrap.3E"></a><b><a name="unwrap">&lt;unwrap&gt;</a></b></h4>
        
<div>This will select between wrapped and unwrapped during code
generation. Maps to the -uw option of the command line tool.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.unwrap</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CwsdlFile.3E"></a><b><a name="wsdlFile">&lt;wsdlFile&gt;</a></b></h4>
        
<div>The WSDL file, which is being read.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.wsdlFile</code></li>
          
<li><b>Default</b>: <code>src/main/resources/service.wsdl</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CwsdlVersion.3E"></a><b><a name="wsdlVersion">&lt;wsdlVersion&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>axis2.wsdl2code.wsdlVersion</code></li>
          
<li><b>Default</b>: <code>1.1</code></li>
        </ul>
      </section></section>
    </section>
  

        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2022
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>