<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2006, v.4002-->
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
 "concept.dtd">
<concept id="creatingawebservicefromajavabean" xml:lang="en-us">
<title>Creating Axis runtime environment Web services and clients using Web
services Ant tasks</title>
<titlealts>
<searchtitle>Creating Axis runtime environment Web services and clients using
Ant tasks</searchtitle>
</titlealts>
<shortdesc>If you prefer not to use the Web service wizard, you can use Ant
files to create Web services and clients using the Axis runtime environment.
The Web services Ant tasks can be run in two ways: through the Eclipse workspace
using <menucascade><uicontrol>Run As</uicontrol><uicontrol>Ant Build...</uicontrol>
</menucascade>, or they can be run headless through the command line. Once
you have created your Web service, you can then deploy it to a server, test
it, and publish it as a business entity or business service.</shortdesc>
<conbody>
<section><title>Prerequisites</title><p>Before you create a Web service or
client using the Ant tasks, you need to complete a few prerequisites.</p><ul>
<li>Install Apache Tomcat, create a server, and create a dynamic Web project
associated with that server as described in <xref href="../../org.eclipse.jst.ws.axis.ui.doc.user/topics/ttomcatserv.dita">Creating
an Apache Tomcat server and Web project</xref></li>
<li>Import the required Ant files into your workspace:<ol>
<li>Create a project.</li>
<li>Import the required Ant files. Select <menucascade><uicontrol>File</uicontrol>
<uicontrol>New</uicontrol><uicontrol>Other</uicontrol><uicontrol>Web Services</uicontrol>
<uicontrol>Ant Files</uicontrol><uicontrol>Next</uicontrol></menucascade>.</li>
<li>Select the project you created, and click <uicontrol>Finish</uicontrol>.</li>
</ol>Three files will be imported into this project:<ul>
<li>wsgen.xml - this is the Ant file.</li>
<li>axisservice.properties - this is a sample Ant properties file referenced
by the Ant file. You can modify the properties in this file to generate a
Web service.</li>
<li>axisclient.properties - this is a sample Ant properties file referenced
by the Ant file. You can modify the properties in this file to generate a
Web service client.</li>
</ul></li>
<li>Create a dynamic Web project for the Web service or client.</li>
</ul></section>
<section><title>Creating a Web service or client</title><p>Once you've completed
the prerequisites you can do the following:</p></section>
</conbody>
</concept>
