<!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:generate-sources</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:generate-sources</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 class="active"><a href="#"><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:generate-sources"></a>axis2:generate-sources</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.apache.axis2:axis2-wsdl2code-maven-plugin:1.8.2:generate-sources</p>
      
<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/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/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>