<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2005, v.4002-->
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN"
 "reference.dtd">
<reference id="axiswebserviceclientcommandlinereference" xml:lang="en-us">
<title>Axis Web service client Ant task properties file reference</title>
<shortdesc>The <userinput>axisclient.properties</userinput> file is used to
pass data to the Web services Ant tasks when creating an Axis Web service
client. This file shows the available options.</shortdesc>
<refbody>
<section><title>Parameters</title><parml><plentry>
<pt>ScenarioType</pt>
<pd><synph> Options: <codeph>client</codeph></synph></pd>
<pd>This is a required element that tells the Ant task if it is creating a
Web service or a Web service client.</pd>
</plentry><plentry>
<pt>InitialSelection</pt>
<pd>Enter the workspace relative URI to the WSDL file or Java bean within
your workspace. For example <userinput>/dynamicWebProjectName/WebContent/myService.wsdl</userinput> or <userinput>/dynamicWebProjectName/src/myBean.java</userinput
></pd>
</plentry><plentry>
<pt>ListRuntimes</pt>
<pd><synph> Options: <codeph>true</codeph> <codeph>false</codeph></synph></pd>
<pd>If <codeph>true</codeph> is selected, the list of valid runtime options
will be provided when the Ant task is run.</pd>
</plentry><plentry>
<pt>ListServers</pt>
<pd><synph> Options: <codeph>true</codeph> <codeph>false</codeph></synph></pd>
<pd>If <codeph>true</codeph> is selected, the list of valid server options
will be provided when the Ant task is run.</pd>
</plentry><plentry>
<pt>Client.RuntimeId</pt>
<pd>This is the ID of the Web service's runtime. This parameter should not
be modified.</pd>
</plentry><plentry>
<pt>Client.ServerId</pt>
<pd>Options:<sl>
<sli><codeph>org.eclipse.jst.server.tomcat.x</codeph> (where <codeph>x</codeph> is <codeph>32,
40, 41, 50,</codeph> or <codeph>55</codeph>)</sli>
<sli><codeph>org.eclipse.jst.server.generic.weblogicx</codeph> (where <codeph>x</codeph> is <codeph>81</codeph> or <codeph>90</codeph>) </sli>
<sli><codeph>org.eclipse.jst.server.generic.jbossx</codeph> (where <codeph>x</codeph> is <codeph>323</codeph> or <codeph>4</codeph>)</sli>
<sli><codeph>org.eclipse.jst.server.generic.jonas4</codeph></sli>
<sli><codeph>org.eclipse.jst.server.generic.oracle1013</codeph></sli>
<sli><codeph>org.eclipse.jst.servers.websphere.6</codeph></sli>
</sl></pd>
<pd>This is the ID of the target server. Delete or comment out this parameter
to have the Ant task select the correct value based on the server settings
of the dynamic Web project.</pd>
</plentry><plentry>
<pt>ClientProjectName</pt>
<pd>By default the client project is given the name of the WSDL file or Java
bean from which it is created. Use this parameter to create the service project
with a different name.</pd>
</plentry><plentry>
<pt>ClientEarProjectName</pt>
<pd>By default the client EAR project is given the name of the WSDL file or
Java bean from which it is created. Use this parameter to create the service
EAR project with a different name.</pd>
</plentry><plentry>
<pt>ClientComponentType</pt>
<pd><p>Options: <userinput>jst.web</userinput> <userinput>jst.java</userinput></p><p>Use
this parameter to select the type of client project. The only valid client
project type for Axis clients is <userinput>jst.web</userinput>.</p></pd>
</plentry><plentry>
<pt>CustomizeClientMappings</pt>
<pd><p>Options: <userinput>true</userinput> <userinput>false</userinput></p><p>Mappings
are used to override the default namespace names in the generated WSDL. The
content of the properties file must be of the format package = namespace</p></pd>
</plentry><plentry>
<pt>Mappings</pt>
<pd>Enter the workspace relative URI to a property file containing mappings. </pd>
</plentry><plentry>
<pt>OverwriteFilesEnabled</pt>
<pd><synph> Options: <codeph>true</codeph> <codeph>false</codeph></synph></pd>
<pd>Use this parameter to tell the Ant task to overwrite any file that it
creates with the same name as an existing file. By default this is set to <codeph>true</codeph>.</pd>
</plentry><plentry>
<pt>CreateFoldersEnabled</pt>
<pd><synph> Options: <codeph>true</codeph> <codeph>false</codeph></synph></pd>
<pd>Use this parameter to tell the Ant task to create any neccessary folders.
By default this is set to <codeph>true</codeph>.</pd>
</plentry><plentry>
<pt>CheckoutFilesEnabled</pt>
<pd><synph> Options: <codeph>true</codeph> <codeph>false</codeph></synph></pd>
<pd>Use this parameter to tell the Ant task to checkout files from CVS without
prompting you. By default this is set to <codeph>true</codeph>.</pd>
</plentry></parml></section>
</refbody>
</reference>
