
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--

    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.
-->
<html>
  <head>

<link type="text/css" rel="stylesheet" href="/resources/site.css">
<script src='/resources/space.js'></script>

<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<meta name="keywords" content="business integration, EAI, SOA, Service Oriented Architecture, web services, SOAP, JBI, JMS, WSDL, XML, EDI, Electronic Data Interchange, standards support, integration standards, application integration, middleware, software, solutions, services, CXF, open source">
<meta name="description" content="Apache CXF, Services Framework - WSDL to Javascript">




    <title>
Apache CXF -- WSDL to Javascript
    </title>
  </head>
<body onload="init()">


<table width="100%" cellpadding="0" cellspacing="0">
  <tr>
    <td id="cell-0-0" colspan="2">&nbsp;</td>
    <td id="cell-0-1">&nbsp;</td>
    <td id="cell-0-2" colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td id="cell-1-0">&nbsp;</td>
    <td id="cell-1-1">&nbsp;</td>
    <td id="cell-1-2">
      <!-- Banner -->
<div class="banner" id="banner"><div><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td align="left" colspan="1" nowrap>
<a shape="rect" href="http://cxf.apache.org/" title="Apache CXF"><span style="font-weight: bold; font-size: 170%; color: white">Apache CXF</span></a>
</td><td align="right" colspan="1" nowrap>
<a shape="rect" href="http://www.apache.org/" title="The Apache Sofware Foundation"><img border="0" alt="ASF Logo" src="http://cxf.apache.org/images/asf-logo.png"></a>
</td></tr></table></div></div>
      <!-- Banner -->
      <div id="top-menu">
        <table border="0" cellpadding="1" cellspacing="0" width="100%">
          <tr>
            <td>
              <div align="left">
                <!-- Breadcrumbs -->
<a href="index.html">Index</a>&nbsp;&gt;&nbsp;<a href="tools.html">Tools</a>&nbsp;&gt;&nbsp;<a href="wsdl-to-javascript.html">WSDL to Javascript</a>
                <!-- Breadcrumbs -->
              </div>
            </td>
            <td>
              <div align="right">
                <!-- Quicklinks -->
<div id="quicklinks"><p><a shape="rect" href="http://cxf.apache.org/download.html">Download</a> | <a shape="rect" href="http://cxf.apache.org/docs/index.html">Documentation</a></p></div>
                <!-- Quicklinks -->
              </div>
            </td>
          </tr>
        </table>
      </div>
    </td>
    <td id="cell-1-3">&nbsp;</td>
    <td id="cell-1-4">&nbsp;</td>
  </tr>
  <tr>
    <td id="cell-2-0" colspan="2">&nbsp;</td>
    <td id="cell-2-1">
      <table>
        <tr valign="top">
          <td height="100%">
            <div id="wrapper-menu-page-right">
              <div id="wrapper-menu-page-top">
                <div id="wrapper-menu-page-bottom">
                  <div id="menu-page">
                    <!-- NavigationBar -->
<div id="navigation"><ul class="alternate"><li><a shape="rect" href="overview.html">Overview</a></li><li><a shape="rect" href="how-tos.html">How-Tos</a></li><li><a shape="rect" href="frontends.html">Frontends</a></li><li><a shape="rect" href="databindings.html">DataBindings</a></li><li><a shape="rect" href="transports.html">Transports</a></li><li><a shape="rect" href="configuration.html">Configuration</a></li><li><a shape="rect" href="debugging-and-logging.html">Debugging and Logging</a></li><li><a shape="rect" href="tools.html">Tools</a></li><li><a shape="rect" href="restful-services.html">RESTful Services</a></li><li><a shape="rect" href="wsdl-bindings.html">WSDL Bindings</a></li><li><a shape="rect" href="service-routing.html">Service Routing</a></li><li><a shape="rect" href="dynamic-languages.html">Dynamic Languages</a></li><li><a shape="rect" href="ws-support.html">WS-* Support</a></li><li><a shape="rect" href="advanced-integration.html">Advanced Integration</a></li><li><a shape="rect" href="deployment.html">Deployment</a></li><li><a shape="rect" href="schemas-and-namespaces.html">Use of Schemas and Namespaces</a></li></ul><hr><ul class="alternate"><li><p>Search</p></li></ul><form enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" action="http://www.google.com/cse">
  <div>
    <input type="hidden" name="cx" value="002890367768291051730:o99qiwa09y4">
    <input type="hidden" name="ie" value="UTF-8">
    <input type="text" name="q" size="21">
    <input type="submit" name="sa" value="Search">
  </div>
</form>
<script type="text/javascript" src="http://www.google.com/cse/brand?form=cse-search-box&amp;lang=en"></script><hr><ul class="alternate"><li><a shape="rect" href="http://cxf.apache.org/javadoc/latest/">API 3.2.x (Javadoc)</a></li><li><a shape="rect" href="http://cxf.apache.org/javadoc/latest-3.1.x/">API 3.1.x (Javadoc)</a></li><li><a shape="rect" href="http://cxf.apache.org/">CXF Website</a></li></ul><p>&#160;</p><p><a shape="rect" class="external-link" href="http://www.apache.org/events/current-event.html"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://www.apache.org/events/current-event-125x125.png" data-image-src="http://www.apache.org/events/current-event-125x125.png"></span></a></p></div>
                    <!-- NavigationBar -->
                  </div>
              </div>
            </div>
          </div>
         </td>
         <td height="100%">
           <!-- Content -->
           <div class="wiki-content">
<div id="ConfluenceContent"><h2 id="WSDLtoJavascript-WSDLtoJavascript">WSDL to Javascript</h2>

<h3 id="WSDLtoJavascript-Name">Name</h3>

<p><code>wsdl2js</code> - takes a WSDL document and generates Javascript code from which to implement a service.</p>

<h3 id="WSDLtoJavascript-Synopsis">Synopsis</h3>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre> wsdl2js  -? -help -h  -wv &lt;wsdlVersion&gt; -p &lt;wsdlNamespace=jsPrefix&gt; -catalog &lt;catalogUrl&gt; -d &lt;outDir&gt; -validate -v  -verbose -quiet  {wsdlUrl}
</pre>
</div></div> 

<h3 id="WSDLtoJavascript-Description">Description</h3>

<p><strong>wsld2js</strong> takes a WSDL document and generates Javascript code from which to implement a service. The WSDL document must have a valid <code>portType</code> element, but it does not need to contain a binding element or a service element. </p>

<h3 id="WSDLtoJavascript-Options">Options</h3>

<p>The options used to validate WSDL file are reviewed in the following table.</p>

<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>-?</code>,<code>-h</code>,<code>-help</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Displays the online help for this utility and exits. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>-wv</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the WSDL version the tool expects. The default is WSDL 1.1. The tool can also use WSDL 1.2.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>-p</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies a mapping between the namespaces used in the WSDL document and the prefixes used in the generated Javascript. This argument can be used more than once.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>-catalog</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the URL of an XML catalog to use for resolving imported schemas and WSDL documents.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>-d</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the directory into which the generated code is written.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>-validate</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Instructs the tool to validate the WSDL document before attempting to generate any code.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>-v</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Displays the version number for the tool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>-verbose</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Displays comments during the code generation process.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>-quiet</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Suppresses comments during the code generation process.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>wsdlUrl</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the location of the WSDL document from which the code is generated.</p></td></tr></tbody></table></div>


<h3 id="WSDLtoJavascript-Examples">Examples</h3>

<p><code>wsdl2js hello_world.js</code><br clear="none">
<code>wsdl2js -wv 1.2 hello_world12.wsdl</code><br clear="none">
<code>wsdl2js -d javascript hello_world.wsdl</code></p>

<h3 id="WSDLtoJavascript-SeeAlso">See Also</h3>

<p><a shape="rect" href="idl-to-wsdl.html"><code>idl2wsdl</code></a>, <a shape="rect" href="java-to-javascript.html"><code>java2js</code></a>, <a shape="rect" href="java-to-ws.html"><code>java2ws</code></a>, <a shape="rect" href="wsdl-to-corba.html"><code>wsdl2corba</code></a>, <a shape="rect" href="wsdl-to-java.html"><code>wsdl2java</code></a>, <a shape="rect" href="wsdl-to-service.html"><code>wsdl2service</code></a>, <a shape="rect" href="wsdl-to-soap.html"><code>wsdl2soap</code></a>, <a shape="rect" href="wsdl-to-xml.html"><code>wsdl2xml</code></a>, <a shape="rect" href="wsdlvalidator.html"><code>wsdlvalidator</code></a> and <a shape="rect" href="xsd-to-wsdl.html">xsd2wsdl</a>.</p></div>
           </div>
           <!-- Content -->
         </td>
        </tr>
      </table>
   </td>
   <td id="cell-2-2" colspan="2">&nbsp;</td>
  </tr>
  <tr>
   <td id="cell-3-0">&nbsp;</td>
   <td id="cell-3-1">&nbsp;</td>
   <td id="cell-3-2">
     <div id="footer">
       <!-- Footer -->
       <div id="site-footer">
         <a href="http://cxf.apache.org/privacy-policy.html">Privacy Policy</a> - 
         (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=86599">edit page</a>) 
	 (<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=86599&amp;showComments=true&amp;showCommentArea=true#addcomment">add comment</a>)<br>
	Apache CXF, CXF, Apache, the Apache feather logo are trademarks of The Apache Software Foundation.<br>
        All other marks mentioned may be trademarks or registered trademarks of their respective owners.
       </div>
       <!-- Footer -->
     </div>
   </td>
   <td id="cell-3-3">&nbsp;</td>
   <td id="cell-3-4">&nbsp;</td>
  </tr>
  <tr>
    <td id="cell-4-0" colspan="2">&nbsp;</td>
    <td id="cell-4-1">&nbsp;</td>
    <td id="cell-4-2" colspan="2">&nbsp;</td>
  </tr>
</table>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-4458903-1");
pageTracker._trackPageview();
} catch(err) {}</script>

</body>
</html>

