<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <meta name="copyright" content="Copyright (c) 2009 Shane Clarke. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html. Contributors: Shane Clarke - initial API and implementation">
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<title>WSDL2Java Preferences</title>
	<link href="../book.css" rel="stylesheet" charset="ISO-8859-1" type="text/css">
</head>

<body>
<h2>WSDL2Java Preferences</h2>
<p>The <strong>WSDL2Java</strong> tab provides settings that can be used to customize the code generated by the CXF wsdl2java tool.
<p><img src="./images/wsdl2java.png" alt="Java2WS tab" > </p>
<p></p>
    <table border="1" cellspacing="0" cellpadding="5" summary="Java search actions">
      <thead>
        <tr>
          <td>
            <p><span class="control">Option</span></p>
          </td>

          <td>
            <p><span class="control">Description</span></p>
          </td>

          <td>
            <p><span class="control">Default</span></p>
          </td>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td valign="top">
            <p>Generate Server</p>
          </td>

          <td valign="top">
            <p>Select to generate starting point code for a server mainline</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>

        <tr>
          <td valign="top">
            <p>Generate Implementation</p>
          </td>

          <td valign="top">
            <p>Select to generate starting point code for an implementation bean</p>
          </td>

          <td valign="top">
            <p>true</p>
          </td>
        </tr>

        <tr>
          <td valign="top">
            <p>Generate default values for the generated artifacts</p>
          </td>

          <td valign="top">
            <p>Select to generate default values for a generated client and implementation</p>
          </td>

          <td valign="top">
            <p>true</p>
          </td>
        </tr>

        <tr>
          <td valign="top">
            <p>Enable processing of implicit SOAP headers</p>
          </td>

          <td valign="top">
            <p>Select to enable the processing of of SOAP headers defined in the wsdl:binding</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>
        
        <tr>
          <td valign="top">
            <p>Enable loading of the default namespace package name mapping</p>
          </td>

          <td valign="top">
            <p>Select to enable the loading of the default namepsace package name mapping</p>
          </td>

          <td valign="top">
            <p>true</p>
          </td>
        </tr>        

        <tr>
          <td valign="top">
            <p>Enable the use of the default excludes namespace mapping</p>
          </td>

          <td valign="top">
            <p>Select to enable the loading of the default excludes namespace mapping</p>
          </td>

          <td valign="top">
            <p>true</p>
          </td>
        </tr>

        <tr>
          <td valign="top">
            <p>Enable Auto Name Resolution</p>
          </td>

          <td valign="top">
            <p>Select to automatically resolve naming conflicts without requiring the use of binding customizations</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>

        <tr>
          <td valign="top">
            <p>Use the Apache CXF proprietary WS-Addressing type</p>
          </td>

          <td valign="top">
            <p>Select to generate the older CXF proprietary WS-Addressing types instead of the JAX-WS 2.1 compliant WS-Addressing types. Used for compatibility with CXF 2.0</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>
      </tbody>
    </table>

<p>The following options are passed to the XJC processor.</p>
<p><img src="./images/xjc.png" alt="Java2WS tab" > </p>
<p></p>
    <table border="1" cellspacing="0" cellpadding="5" summary="Java search actions">
      <thead>
        <tr>
          <td>
            <p><span class="control">Option</span></p>
          </td>

          <td>
            <p><span class="control">Description</span></p>
          </td>

          <td>
            <p><span class="control">Default</span></p>
          </td>
        </tr>
      </thead>

      <tbody>
        <tr>
          <td valign="top">
            <p>-Xdv</p>
          </td>

          <td valign="top">
            <p>Select to initialize fields mapped from elements with their default values</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>

        <tr>
          <td valign="top">
            <p>-Xts</p>
          </td>

          <td valign="top">
            <p>Select to activate plugin to add a toString() method to generated classes</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>         
        </tr>

        <tr>
          <td valign="top">
            <p>-Xts:style:multiline</p>
          </td>

          <td valign="top">
            <p>Select to have toString produce multi line output</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>

        <tr>
          <td valign="top">
            <p>-Xts:style:simple</p>
          </td>

          <td valign="top">
            <p>Select to have toString produce single line terse output</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>
        
        <tr>
          <td valign="top">
            <p>-Xlocator</p>
          </td>

          <td valign="top">
            <p>Select to enable source location support for generated code</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>        

        <tr>
          <td valign="top">
            <p>-Xsync-methods</p>
          </td>

          <td valign="top">
            <p>Select to generate accessor methods with the 'synchronized' keyword</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>

        <tr>
          <td valign="top">
            <p>-mark-generated</p>
          </td>

          <td valign="top">
            <p>Select to add @Generated annotations to the generated code</p>
          </td>

          <td valign="top">
            <p>false</p>
          </td>
        </tr>

      </tbody>
    </table>

<p>The options on this tab are presented in the web services wizard when creating a top-down web service with the Apache CXF runtime.</p>
<p>The options there can be changed from their default values for the web service being created.</p>
<p><img src="../images/ngrelt.png" alt="Related tasks" border="0" ></p>
<a href="../tasks/create_topdown.html">Generate an SEI and a skeleton implementation bean from a WSDL document using Apache CXF</a><br>
</body>
</html>