<?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.
  -->

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:types="http://www.example.com/types" xmlns:y="http://www.example.com" targetNamespace="http://www.example.com">
	<types/>
	<types>
		<xs:schema targetNamespace="http://www.example.com/types">
			<xs:complexType name="myComplexType">
				<xs:sequence>
					<xs:element name="myElt" type="xs:string"/>
				</xs:sequence>
			</xs:complexType>
		</xs:schema>
	</types>
	<message name="requestMessage">
		<part name="part1" type="xs:string"/>
		<part name="part2" type="xs:int"/>
		<part name="part3" type="types:myComplexType"/>
	</message>
	<message name="responseMessage">
		<part name="part1" type="xs:string"/>
	</message>
	<portType name="echoPortType">
		<operation name="echo">
			<input message="y:requestMessage"/>
			<output message="y:responseMessage"/>
		</operation>
	</portType>
	<binding name="echoBinding" type="y:echoPortType">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="echo">
			<soap:operation soapAction="echo"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
	</binding>
	<service name="serviceName">
		<port name="httpPort" binding="y:echoBinding">
			<soap:address location="http://localhost:8080/axis2/services/echo"/>
		</port>
	</service>
</definitions>
