<!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>Apache Axis2 &#x2013; Axis2 Reference Guide</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="../index.html" title="Axis2/Java">Axis2/Java</a><span class="divider">/</span></li>
    <li class="active ">Axis2 Reference Guide</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">Axis2/Java</li>
    <li><a href="../index.html" title="Home"><span class="none"></span>Home</a>  </li>
    <li><a href="../download.html" title="Downloads"><span class="none"></span>Downloads</a>  </li>
    <li><a href="javascript:void(0)" title="Release Notes"><span class="icon-chevron-down"></span>Release Notes</a>
      <ul class="nav nav-list">
    <li><a href="../release-notes/1.6.1.html" title="1.6.1"><span class="none"></span>1.6.1</a>  </li>
    <li><a href="../release-notes/1.6.2.html" title="1.6.2"><span class="none"></span>1.6.2</a>  </li>
    <li><a href="../release-notes/1.6.3.html" title="1.6.3"><span class="none"></span>1.6.3</a>  </li>
    <li><a href="../release-notes/1.6.4.html" title="1.6.4"><span class="none"></span>1.6.4</a>  </li>
    <li><a href="../release-notes/1.7.0.html" title="1.7.0"><span class="none"></span>1.7.0</a>  </li>
    <li><a href="../release-notes/1.7.1.html" title="1.7.1"><span class="none"></span>1.7.1</a>  </li>
    <li><a href="../release-notes/1.7.2.html" title="1.7.2"><span class="none"></span>1.7.2</a>  </li>
    <li><a href="../release-notes/1.7.3.html" title="1.7.3"><span class="none"></span>1.7.3</a>  </li>
    <li><a href="../release-notes/1.7.4.html" title="1.7.4"><span class="none"></span>1.7.4</a>  </li>
    <li><a href="../release-notes/1.7.5.html" title="1.7.5"><span class="none"></span>1.7.5</a>  </li>
    <li><a href="../release-notes/1.7.6.html" title="1.7.6"><span class="none"></span>1.7.6</a>  </li>
    <li><a href="../release-notes/1.7.7.html" title="1.7.7"><span class="none"></span>1.7.7</a>  </li>
    <li><a href="../release-notes/1.7.8.html" title="1.7.8"><span class="none"></span>1.7.8</a>  </li>
    <li><a href="../release-notes/1.7.9.html" title="1.7.9"><span class="none"></span>1.7.9</a>  </li>
    <li><a href="../release-notes/1.8.0.html" title="1.8.0"><span class="none"></span>1.8.0</a>  </li>
      </ul>
  </li>
    <li><a href="../modules/index.html" title="Modules"><span class="none"></span>Modules</a>  </li>
    <li><a href="../tools/index.html" title="Tools"><span class="none"></span>Tools</a>  </li>
          <li class="nav-header">Documentation</li>
    <li><a href="../docs/toc.html" title="Table of Contents"><span class="none"></span>Table of Contents</a>  </li>
    <li><a href="../docs/installationguide.html" title="Installation Guide"><span class="none"></span>Installation Guide</a>  </li>
    <li><a href="../docs/quickstartguide.html" title="QuickStart Guide"><span class="none"></span>QuickStart Guide</a>  </li>
    <li><a href="../docs/userguide.html" title="User Guide"><span class="none"></span>User Guide</a>  </li>
    <li><a href="../docs/jaxws-guide.html" title="JAXWS Guide"><span class="none"></span>JAXWS Guide</a>  </li>
    <li><a href="../docs/pojoguide.html" title="POJO Guide"><span class="none"></span>POJO Guide</a>  </li>
    <li><a href="../docs/spring.html" title="Spring Guide"><span class="none"></span>Spring Guide</a>  </li>
    <li><a href="../docs/webadminguide.html" title="Web Administrator's Guide"><span class="none"></span>Web Administrator's Guide</a>  </li>
    <li><a href="../docs/migration.html" title="Migration Guide (from Axis1)"><span class="none"></span>Migration Guide (from Axis1)</a>  </li>
          <li class="nav-header">Resources</li>
    <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a>  </li>
    <li><a href="../articles.html" title="Articles"><span class="none"></span>Articles</a>  </li>
    <li><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="Wiki"><span class="none"></span>Wiki</a>  </li>
    <li><a href="../refLib.html" title="Reference Library"><span class="none"></span>Reference Library</a>  </li>
    <li><a href="../apidocs/index.html" title="Online Java Docs"><span class="none"></span>Online Java Docs</a>  </li>
          <li class="nav-header">Get Involved</li>
    <li><a href="../overview.html" title="Overview"><span class="none"></span>Overview</a>  </li>
    <li><a href="../git.html" title="Checkout the Source"><span class="none"></span>Checkout the Source</a>  </li>
    <li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a>  </li>
    <li><a href="../release-process.html" title="Release Process"><span class="none"></span>Release Process</a>  </li>
    <li><a href="../guidelines.html" title="Developer Guidelines"><span class="none"></span>Developer Guidelines</a>  </li>
    <li><a href="../siteHowTo.html" title="Build the Site"><span class="none"></span>Build the Site</a>  </li>
          <li class="nav-header">Project Information</li>
    <li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a>  </li>
    <li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a>  </li>
    <li><a href="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" class="externalLink" title="Source Code"><span class="none"></span>Source Code</a>  </li>
    <li><a href="../thanks.html" title="Acknowledgements"><span class="none"></span>Acknowledgements</a>  </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" >
<!--
  ~ 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.
  -->
<h1>Axis2 Reference Guide</h1><section>
<h2><a name="WSDL2Java_Reference"></a>WSDL2Java Reference</h2>

<div class="source"><pre class="prettyprint"><code>NAME
       wsdl2java.sh or wsdl2java.bat - Generates java code according to a given WSDL file to handle Web service invocation.
       These scripts can be found under the bin directory of the Axis2 distribution.

SYNOPSIS
       wsdl2java.sh [OPTION]... -uri &lt;Location of WSDL&gt;

DESCRIPTION
       Given a WSDL file, this generates java code to handle Web service invocations.

      -o &lt;path&gt;                Specify a directory path for the generated code.
      -a                       Generate async style code only (Default: off).
      -s                       Generate sync style code only (Default: off). Takes precedence over -a.
      -p &lt;pkg1&gt;                Specify a custom package name for the generated code.
      -l &lt;language&gt;            Valid languages are java and c (Default: java).
      -t                       Generate a test case for the generated code.
      -ss                      Generate server side code (i.e. skeletons) (Default: off).
      -sd                      Generate service descriptor (i.e. services.xml). (Default: off). Valid with -ss.
      -d &lt;databinding&gt;         Valid databinding(s) are adb, xmlbeans, jibx and jaxbri (Default: adb).
      -g                       Generates all the classes. Valid only with -ss.
      -pn &lt;port_name&gt;          Choose a specific port when there are multiple ports in the wsdl.
      -sn &lt;service_name&gt;       Choose a specific service when there are multiple services in the wsdl.
      -u                       Unpacks the databinding classes
      -r &lt;path&gt;                Specify a repository against which code is generated.
      -ns2p ns1=pkg1,ns2=pkg2  Specify a custom package name for each namespace specified in the wsdls schema.
      -ssi                     Generate an interface for the service implementation (Default: off).
      -wv &lt;version&gt;            WSDL Version. Valid Options : 2, 2.0, 1.1
      -S                       Specify a directory path for generated source
      -R                       Specify a directory path for generated resources
      -em                      Specify an external mapping file
      -f                       Flattens the generated files
      -uw                      Switch on un-wrapping.
      -xsdconfig &lt;file path&gt;   Use XMLBeans .xsdconfig file. Valid only with -d xmlbeans.
      -ap                      Generate code for all ports
      -or                      Overwrite the existing classes
      -b                       Generate Axis 1.x backword compatible code.
      -sp                      Suppress namespace prefixes (Optimzation that reduces size of soap request/response)
      -E&lt;key&gt; &lt;value&gt;          Extra configuration options specific to certain databindings. Examples:
                               -Ebindingfile &lt;path&gt;                   (for jibx) - specify the file path for the binding file
                               -Etypesystemname &lt;my_type_system_name&gt; (for xmlbeans) - override the randomly generated type system name
                               -Ejavaversion 1.5                      (for xmlbeans) - generates Java 1.5 code (typed lists instead of arrays)
                               -Emp &lt;package name&gt; (for ADB) - extension mapper package name
                               -Eosv (for ADB) - turn off strict validation.
                               -Eiu (for ADB) - Ignore Unexpected elements instead of throwing ADBException
                               -Ewdc (for xmlbeans) - Generate code with a dummy schema. if someone use this option
                                  they have to generate the xmlbeans code seperately with the scomp command comes with the
                                  xmlbeans distribution and replace the Axis2 generated classes with correct classes
      --noBuildXML             Dont generate the build.xml in the output directory
      --noWSDL                 Dont generate WSDLs in the resources directory
      --noMessageReceiver      Dont generate a MessageReceiver in the generated sources
      --http-proxy-host        Proxy host address if you are behind a firewall
      --http-proxy-port        Proxy prot address if you are behind a firewall
      -ep                      Exclude packages - these packages are deleted after codegeneration
    
EXAMPLES
       wsdl2java.sh -uri ../samples/wsdl/Axis2SampleDocLit.wsdl
       wsdl2java.sh -uri ../samples/wsdl/Axis2SampleDocLit.wsdl -ss -sd 
       wsdl2java.sh -uri ../samples/wsdl/Axis2SampleDocLit.wsdl -ss -sd -d xmlbeans -o ../samples -p org.apache.axis2.userguide
</code></pre></div></section><section>
<h2><a name="Java2WSDL_Reference"></a>Java2WSDL Reference</h2>

<div class="source"><pre class="prettyprint"><code>NAME
       Java2WSDL.sh or Java2WSDL.bat - Generates the appropriate WSDL file for a given java class.
       These scripts can be found under the bin directory of the Axis2 distribution.

SYNOPSIS
       Java2WSDL.sh [OPTION]... -cn &lt;fully qualified class name&gt;

DESCRIPTION
       Given a java class generates a WSDL file for the given java class. 

      -o &lt;output location&gt;                    output directory
      -of &lt;output file name&gt;                  output file name for the WSDL
      -sn &lt;service name&gt;                      service name
      -l &lt;one or more soap addresses&gt;         location URIs, comma-delimited
      -cp &lt;class path uri&gt;                    list of classpath entries - (urls)
      -tn &lt;target namespace&gt;                  target namespace for service
      -tp &lt;target namespace prefix&gt;           target namespace prefix for service
      -stn &lt;schema target namespace&gt;          target namespace for schema
      -stp &lt;schema target namespace prefix&gt;   target namespace prefix for schema
      -st &lt;binding style&gt;                     style for the WSDL
      -u &lt;binding use&gt;                        use for the WSDL
      -nsg &lt;class name&gt;                       fully qualified name of a class that implements NamespaceGenerator
      -sg &lt;class name&gt;                        fully qualified name of a class that implements SchemaGenerator
      -p2n [&lt;java package&gt;,&lt;namespace&gt;] [&lt;java package&gt;,&lt;namespace&gt;]
                                              java package to namespace mapping for argument and return types
      -p2n [all, &lt;namespace&gt;]                 to assign all types to a single namespace
      -efd &lt;qualified/unqualified&gt;            setting for elementFormDefault (defaults to qualified)
      -afd &lt;qualified/unqualified&gt;            setting for attributeFormDefault (defaults to qualified)
      -xc class1 -xc class2...                extra class(es) for which schematype must be generated.
      -wv &lt;1.1/2.0&gt;                           wsdl version - defaults to 1.1 if not specified
      -dlb                                    generate schemas conforming to doc/lit/bare style
      -dne                                    disallow nillable elements in the generated schema
      -doe                                    disallow optional elements in the generated schema
      -disableSOAP11                          disable binding generation for SOAP 1.1
      -disableSOAP12                          disable binding generation for SOAP 1.2
      -disableREST                            disable binding generation for REST
    
EXAMPLES
       Java2WSDL.sh -cn ../samples/test/searchTool.Search
       Java2WSDL.sh -cn ../samples/test/searchTool.Search -sn search
       Java2WSDL.sh -cn ../samples/test/searchTool.Search -u -sn search
       Java2WSDL.sh -cn ../samples/test/searchTool.Search -sn search -o ../samples/test/wsdl  
</code></pre></div></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>