<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2003-2004 The Apache Software Foundation.                      -->
<!-- (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved                   -->
<!--                                                                          -->
<!-- Licensed 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.                                           -->

<definitions 
	targetNamespace="http://manytyperefroot.test.apache.org" 
	xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/" 
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
	xmlns:tns="http://manytyperefroot.test.apache.org" 
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
	xmlns="http://schemas.xmlsoap.org/wsdl/">
	<types>
		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
			targetNamespace="http://manytyperefroot.test.apache.org" 
			xmlns:tns="http://manytyperefroot.test.apache.org">

			<xsd:element name="getInput">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="types" maxOccurs="unbounded" minOccurs="0" type="tns:Type1"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			
			<xsd:element name="getInputResponse">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Type1" maxOccurs="unbounded" minOccurs="0" type="tns:Type1"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>			
	
			<xsd:complexType name="Type1">
					<xsd:sequence>
						<xsd:element name="kind" minOccurs="0" type="xsd:string"/>
						<xsd:element name="index" minOccurs="0"  type="xsd:int"/>
					</xsd:sequence>
			</xsd:complexType>			

		</xsd:schema>
	</types>
	
	
	<message name="input">
		<part name="parameters" element="tns:getInput" />
	</message>
	
	<message name="output">
		<part name="parameters" element="tns:getInputResponse" />
	</message>	
	
	<portType name="ManyTypeRefRoot">
		<operation name="getInput">
			<input message="tns:input" />
			<output message="tns:output" />			
		</operation>
	</portType>
	
	<binding name="ManyTypeRefRootBinding" type="tns:ManyTypeRefRoot">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
		<operation name="getInput">
			<soap:operation/>
			<input>
				<soap:body use="literal" />
			</input>
			<output>
				<soap:body use="literal" />
			</output>			
		</operation>
	</binding>
	
	<service name="ManyTypeRefRootService">
		<port name="sampleWS" binding="tns:ManyTypeRefRootBinding">
			<soap:address location="http://localhost:9080/ManyTypeRefRoot/services/sampleWS" />
		</port>
	</service>
</definitions>
