<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2006, 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>axis_client.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>
<prolog><metadata>
<keywords><indexterm>Axis runtime environment<indexterm>Web services client<indexterm>Ant
task reference</indexterm></indexterm></indexterm><indexterm>Web services<indexterm>Axis
runtime environment<indexterm>Web services client<indexterm>Ant task reference</indexterm></indexterm></indexterm></indexterm>
</keywords>
</metadata></prolog>
<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 namespace=package. You
will need to escape some special characters in the properties files.  For
example <codeph>http://someNamespace=somePackage</codeph> should be <codeph>http\://someNamespace=somePackage</codeph>.
 Otherwise, the colon (:) would be treated as delimiter resulting in trying
to map <codeph>http</codeph> to <codeph>//someNamespace=somePackage</codeph>.</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>
