<?xml version="1.0" encoding="UTF-8"?>
<!-- An Example of WSDL-based interface ICS proforma specification
I.1	WSDL definition example
In this appendix, the WIICS proforma for "Service support", "Service port support"," Port operation support", "Operation message support" and "Message part support" will be illustrated. 
The following is an example of WSDL definition:
-->
<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:y="http://new.webservice.namespace" 
	targetNamespace="http://new.webservice.namespace">
	<types>
		<schema targetNamespace="http://new.webservice.namespace" xmlns="http://www.w3.org/2001/XMLSchema">
			<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
			<element name="globalResponseType" type="xs:boolean"/>
			<simpleType name="WeatherType">
				<restriction base="string">
					<enumeration value="Sunny"/>
					<enumeration value="Cloudy"/>
					<enumeration value="Rainy"/>
					<enumeration value="Snowy"/>
				</restriction>
			</simpleType>
			<complexType name="DateType">
				<sequence>
					<element name="d_year" type="int" default="2012" maxOccurs="1" minOccurs="0"/>
					<element name="d_month" type="int" default="1" maxOccurs="1" minOccurs="1"/>
					<element name="d_day" type="int" default="1" maxOccurs="1" minOccurs="1"/>
				</sequence>
			</complexType>
			<complexType name="CityArrayType">
				<complexContent>
					<restriction base="soapenc:Array">
						<attribute ref="soapenc:arrayType" xmlns:arrayType="string[]"/>
					</restriction>
				</complexContent>
			</complexType>
			<complexType name="WeatherArrayType">
				<complexContent>
					<restriction base="soapenc:Array">
						<attribute ref="soapenc:arrayType" xmlns:arrayType="y:WeatherType[]"/>
					</restriction>
				</complexContent>
			</complexType>
			<complexType name="CityWeatherType">
				<sequence>
					<element name="cityName" type="string" nillable="false"/>
					<element name="weather" type="y:WeatherType" nillable="false"/>
				</sequence>
			</complexType>
			<group name="CityPairType">
				<sequence>
					<element name="cityOne" type="string"/>
					<element name="cityTwo" type="string"/>
				</sequence>
			</group>
			<complexType name="BooleanType">
				<sequence>
					<element ref="y:globalResponseType"/>
				</sequence>
			</complexType>
		</schema>
	</types>
	<message name="getCurrentWeatherRequest">
		<part name="inputCity" element="" type="xs:string"/>
	</message>
	<message name="getCurrentWeatherResponse">
		<part name="getCurrentWeatherReturn" element="" type="y:WeatherType"/>
	</message>
	<message name="getPastWeatherRequest">
		<part name="inputDate" element="" type="y:DateType"/>
		<part name="inputCity" element="" type="xs:string"/>
	</message>
	<message name="getPastWeatherResponse">
		<part name="getPastWeatherReturn" element="" type="y:WeatherType"/>
	</message>
	<message name="getWeatherOfCitiesRequest">
		<part name="inputCities" element="" type="y:CityArrayType"/>
	</message>
	<message name="getWeatherOfCitiesResponse">
		<part name="getWeatherReturn" element="" type="y:WeatherArrayType"/>
	</message>
	<message name="isWeatherOfCityRequest">
		<part name="inputWeatherOfCity" element="" type="y:CityWeatherType"/>
	</message>
	<message name="isWeatherOfCityResponse">
		<part name="weatherJudgeReturn" element="y:globalResponseType"/>
	</message>
	<message name="isSameWeatherRequest">
		<part name="inputCityPair" element="" group="y:CityPairType"/>
	</message>
	<message name="isSameWeatherResponse">
		<part name="judgeReturn" element="" type="y:BooleanType"/>
	</message>
	<portType name="dailyInformationPort">
		<operation name="getCurrentWeather">
			<input message="y:getCurrentWeatherRequest"/>
			<output message="y:getCurrentWeatherResponse"/>
		</operation>
		<operation name="getPastWeather" parameterOrder="inputDate inputCity getPastWeatherReturn">
			<input message="y:getPastWeatherRequest"/>
			<output message="y:getPastWeatherResponse"/>
		</operation>
		<operation name="getWeatherOfCities">
			<input message="y:getWeatherOfCitiesRequest"/>
			<output message="y:getWeatherOfCitiesResponse"/>
		</operation>
		<operation name="isWeatherOfCity">
			<input message="y:isWeatherOfCityRequest"/>
			<output message="y:isWeatherOfCityResponse"/>
		</operation>
		<operation name="isSameWeather">
			<input message="y:isSameWeatherRequest"/>
			<output message="y:isSameWeatherResponse"/>
		</operation>
	</portType>
	<binding name="dailyInformation" type="y:dailyInformationPort">
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="getCurrentWeather">
			<soap:operation soapAction="urn:#getCurrentWeather"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="getPastWeather">
			<soap:operation soapAction="urn:#getPastWeather"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="getWeatherOfCities">
			<soap:operation soapAction="urn:#getWeatherOfCities"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="isWeatherOfCity">
			<soap:operation soapAction="urn:#isWeatherOfCity"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
		<operation name="isSameWeather">
			<soap:operation soapAction="urn:#isSameWeather"/>
			<input>
				<soap:body use="literal"/>
			</input>
			<output>
				<soap:body use="literal"/>
			</output>
		</operation>
	</binding>
	<service name="establishConnection"/>
	<service name="isconnection"/>
	<service name="dailyInformation">
		<port name="dailyInformation" binding="y:dailyInformation">
			<soap:address location="No Target Adress"/>
		</port>
	</service>
</definitions>
