<?xml version="1.0" encoding="UTF-8"?>
<!--
	Licensed to the Apache Software Foundation (ASF) under one
	or more contributor license agreements. See the NOTICE file
	distributed with this work for additional information
	regarding copyright ownership. The ASF licenses this file
	to you under the Apache License, Version 2.0 (the
	"License"); you may not use this file except in compliance
	with the License. You may obtain a copy of the License at
	
	http://www.apache.org/licenses/LICENSE-2.0
	
	Unless required by applicable law or agreed to in writing,
	software distributed under the License is distributed on an
	"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
	KIND, either express or implied. See the License for the
	specific language governing permissions and limitations
	under the License.
-->

<!-- The xhtml namespace is for usage documentation -->
<toolspec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xhtml="http://www.w3.org/TR/xhtml1/strict"
	xsi:schemaLocation="http://cxf.apache.org/Xutil/ToolSpecification http://cxf.apache.org/schema/xutil/tool-specification.xsd"
	xmlns="http://cxf.apache.org/Xutil/ToolSpecification"
	xmlns:ts="http://cxf.apache.org/Xutil/ToolSpecification">

	<annotation>
 Examples :
   java2ws -wsdl org.apache.hello_world_soap_http.Greeter 
   java2ws -cp ./tmp org.apache.hello_world_soap_http.Greeter -wsdl 
   java2ws -o hello.wsdl -wsdl org.apache.hello_world_soap_http.Greeter 
   java2ws -client -server org.apache.hello_world_soap_http.Greeter
   java2ws -wrapperbean org.apache.hello_world_soap_http.Greeter
	</annotation>
	<usage>
		<optionGroup id="options">
		
			<option id="databinding" maxOccurs="1">
				<annotation>
				    Specify the data binding (aegis or jaxb). Default is jaxb for jaxws 
				    frontend, and aegis for simple frontend.
				</annotation>
				<switch>databinding</switch>
				<associatedArgument placement="afterSpace">
				  <annotation>jaxb or aegis</annotation>
				</associatedArgument>
			</option>
			<option id="frontend" maxOccurs="1">
				<annotation>
					Specify the frontend to use.  jaxws and the simple frontend are supported.
				</annotation>
				<switch>frontend</switch>
				<associatedArgument placement="afterSpace">
					<annotation>jaxws or simple</annotation>
				</associatedArgument>
			</option>
			
			<option id="wsdl" maxOccurs="1">
				<annotation>
					Specify to generate the WSDL file
				</annotation>
				<switch>wsdl</switch>
			</option>
			
			<option id="wrapperbean" maxOccurs="1">
				<annotation>
					Specify to generate the wrapper and fault bean
				</annotation>
				<switch>wrapperbean</switch>
			</option>
			
			<option id="client" maxOccurs="1">
				<annotation>
					Specify to generate client side code
				</annotation>
				<switch>client</switch>
			</option>
				
			<option id="server" maxOccurs="1">
				<annotation>
					Specify to generate server side code
				</annotation>
				<switch>server</switch>
			</option>
			
			<option id="ant" maxOccurs="1">
				<annotation>
					Specify to generate an Ant build.xml file
				</annotation>
				<switch>ant</switch>
			</option>
								
			<option id="outputfile" maxOccurs="1">
				<annotation>
					Specify the output wsdl file name
				</annotation>
				<switch>o</switch>
				<associatedArgument placement="afterSpace">
					<annotation>output-file</annotation>
				</associatedArgument>
			</option>

			<option id="outputdir" maxOccurs="1">
				<annotation>
					The directory in which the output wsdl and other 
					resource files are placed
				</annotation>
				<switch>d</switch>
				<associatedArgument placement="afterSpace">
					<annotation>resource-directory</annotation>
				</associatedArgument>
			</option>

			<option id="sourcedir" maxOccurs="1">
				<annotation>
					The directory in which the generated java source files
					are placed
				</annotation>
				<switch>s</switch>
				<associatedArgument placement="afterSpace">
					<annotation>source-directory</annotation>
				</associatedArgument>
			</option>
			<option id="classdir" maxOccurs="1">
				<annotation>
					The directory in which the generated wrapper sources are
					compiled into. If not specified, the files are not
					compiled.
				</annotation>
				<switch>classdir</switch>
				<associatedArgument placement="afterSpace">
					<annotation>compile-classes-directory</annotation>
				</associatedArgument>
			</option>

			<option id="classpath" maxOccurs="1">
				<annotation>
					Specify the SEI and types class search path of
					directories and zip/jar files
				</annotation>
				<switch>cp</switch>
				<associatedArgument placement="afterSpace">
					<annotation>class-path</annotation>
				</associatedArgument>
			</option>

			<option id="soap12" maxOccurs="1">
				<annotation>
					Specify to generate SOAP 1.2 binding
				</annotation>
				<switch>soap12</switch>
			</option>

			<option id="tns" maxOccurs="1">
				<annotation>
					Specify the target namespace to use in the wsdl
				</annotation>
				<switch>t</switch>
				<associatedArgument placement="afterSpace">
					<annotation>target-namespace</annotation>
				</associatedArgument>
			</option>
			
			<option id="beans" maxOccurs="unbounded">
				<annotation>Specify the pathname of a file defining additional Spring beans to customize databinding
				configuration.</annotation>
				<switch>beans</switch>
				<associatedArgument placement="afterSpace">
					<annotation>pathname of the bean definition file.</annotation>
				</associatedArgument>
			</option>

			<option id="servicename" maxOccurs="1">
				<annotation>
					Specify the service name to use in the generated
					wsdl
				</annotation>
				<switch>servicename</switch>
				<associatedArgument placement="afterSpace">
					<annotation>service-name</annotation>
				</associatedArgument>
			</option>

			<option id="port" maxOccurs="1">
				<annotation>
					Specify the port name to use in the generated wsdl
				</annotation>
				<switch>portname</switch>
				<associatedArgument placement="afterSpace">
					<annotation>port-name</annotation>
				</associatedArgument>
			</option>
			
			<option id="address" maxOccurs="1">
				<annotation>
					Specify the port address 
				</annotation>
				<switch>address</switch>
				<associatedArgument placement="afterSpace">
					<annotation>address</annotation>
				</associatedArgument>
			</option>			
			

			<option id="createxsdimports" maxOccurs="1">
				<annotation>
					Output schemas to separate files and use imports to
					load them instead of inlining them into the wsdl.
				</annotation>
				<switch>createxsdimports</switch>
			</option>

		</optionGroup>

		<optionGroup id="common_options">
			<option id="help" maxOccurs="1">
				<annotation>
					Display detailed information for options.
				</annotation>
				<switch>h</switch>
				<switch>?</switch>
				<switch>help</switch>
			</option>

			<option id="version">
				<annotation>
					Display the version of the tool.
				</annotation>
				<switch>v</switch>
			</option>

			<option id="verbose">
				<annotation>
					Verbose mode
				</annotation>
				<switch>verbose</switch>
				<switch>V</switch>
			</option>

			<option id="quiet">
				<annotation>
					Quiet mode
				</annotation>
				<switch>quiet</switch>
				<switch>q</switch>
			</option>
		</optionGroup>

		   <argument id="classname" minOccurs="1" maxOccurs="1">
			   <annotation>
			        SEI class name
			   </annotation>
		   </argument>
	</usage>
</toolspec>
