<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta name="copyright"
	content="Copyright (c) 2010 Shane Clarke and others. 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>Creating a Web service using Ant tasks in the Workbench</title>
<link href="../book.css" rel="stylesheet" charset="ISO-8859-1"
	type="text/css">
<script type="text/javascript" language="JavaScript"
	src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head>

<body lang="EN-US">
<h2>Creating a Web service using Ant tasks in the Workbench</h2>
<p>You can use Ant through the Eclipse workspace to generate a Web service using the CXF run-time environment.
Both top-down and bottom-up Web services development is supported with the Ant tasks.</p>
<p>Before creating the Web service you must:</p>
<ul>
	<li>Complete the prerequisites in: <a href="../tasks/ant_tasks.html">Creating Web services and clients using Apache CXF and Ant tasks</a></li>
    <li>If you are creating a top-down Web service, create or import a WSDL file into the WebContent folder of the Dynamic Web project.</li>
	<li>If you are creating a bottom-up Web service, create or import a Java bean into the source folder of the Dynamic Web project.
	<p><b><i>Note</i></b>: There are certain limitations when developing a bottom-up Web service using the Ant tasks as opposed to the Web services wizards.
	  If an explicit service endpoint interface (SEI) is required one must be extracted beforehand and both the implementation class and SEI must be annotated with
	   @javax.jws.WebService before running the Ant build file.</p></li>
</ul>
<p>To begin you need to modify the Ant properties file than was imported using the Ant Files wizard in the prerequisites.</p>
<ol>
    <li>Edit the <samp class="codeph">cxf_tdjava.properties</samp> if doing top-down development or the <samp class="codeph">cxf_bujava.properties</samp> file for bottom-up development.
    <ol type="a">
        <li>Ensure the scenarioType parameter is set to service.</li>
        <li>Set the initialSelection parameter to the location of your WSDL file (top-down) or Java bean (bottom-up).</li>
        <li>All other parameters are optional and should be deleted if not explicitly set. The default values
            for the remaining properties will be retrieved from the Dynamic Web project settings and preferences.
            For additional information on how to set these parameters refer to:
            <ul>
                <li><a href="../tasks/cxf_ant_td_prop_ref.html">Top-down CXF Web service Ant task properties file reference</a></li>
                <li><a href="../tasks/cxf_ant_bu_prop_ref.html">Bottom-up CXF Web service Ant task properties file reference</a></li>
            </ul>
            <p>Save the properties file.</p>
        </li>
    </ol>
    </li>
    <li>Select the <samp class="codeph">cxf_tdjava.xml</samp> (top-down) or <samp class="codeph">cxf_bujava.xml</samp> (bottom-up) and from the top level menu
   and select <b>Run &gt; External Tools &gt; External Tools Configurations.</b></li>
    <li>In the dialog that opens select <b>Ant Build</b> and then select the <b>'New launch configuration'</b> button in the toolbar.
   Select the <b>JRE</b> tab and select <b>Run in the same JRE as the workspace</b>.
   Click <b>Apply</b> and then <b>Run</b>.</li>
   <li>A <samp class="codeph">Build Successful</samp> message will be output to the console once the Web service has been generated.</li>
</ol>
        <p><img src="../images/ngrelt.png" alt="Related tasks" border="0"></p>
        <a href="../tasks/cxf_ant_ws_client.html">Creating a Web service client using Ant tasks in the Workbench</a>
 </body>
</html>