<?xml version="1.0" encoding="utf-8"?>

<wsdl:definitions targetNamespace="urn:icsy:venice:wsdl:math" name="Subtract"
	xmlns:tns="urn:icsy:venice:wsdl:math"
	xmlns:faults="urn:icsy:venice:types:faults"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">

	<!-- ========== Types ============ -->

	<wsdl:types>

		<xsd:schema elementFormDefault="qualified">
			<xsd:import namespace="urn:icsy:venice:types:faults" schemaLocation="http://www.v-grid.info/types/faults.xsd"/>
		</xsd:schema>

	</wsdl:types>

	<!-- ========== Messages ============ -->

	<wsdl:message name="Message_Subtract_subtractInt">
		<wsdl:documentation>The request message for the operation subtractInt().</wsdl:documentation>
		<wsdl:part name="a" type="xsd:int"/>
		<wsdl:part name="b" type="xsd:int"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractIntResponse">
		<wsdl:documentation>The response message for the operation subtractInt().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:int"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractInteger">
		<wsdl:documentation>The request message for the operation subtractInteger().</wsdl:documentation>
		<wsdl:part name="a" type="xsd:integer"/>
		<wsdl:part name="b" type="xsd:integer"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractIntegerResponse">
		<wsdl:documentation>The response message for the operation subtractInteger().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:integer"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractDecimal">
		<wsdl:documentation>The request message for the operation subtractDecimal().</wsdl:documentation>
		<wsdl:part name="a" type="xsd:decimal"/>
		<wsdl:part name="b" type="xsd:decimal"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractDecimalResponse">
		<wsdl:documentation>The response message for the operation subtractDecimal().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:decimal"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractLong">
		<wsdl:documentation>The request message for the operation subtractLong().</wsdl:documentation>
		<wsdl:part name="a" type="xsd:long"/>
		<wsdl:part name="b" type="xsd:long"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractLongResponse">
		<wsdl:documentation>The response message for the operation subtractLong().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:long"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractFloat">
		<wsdl:documentation>The request message for the operation subtractFloat().</wsdl:documentation>
		<wsdl:part name="a" type="xsd:float"/>
		<wsdl:part name="b" type="xsd:float"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractFloatResponse">
		<wsdl:documentation>The response message for the operation subtractFloat().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:float"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractDouble">
		<wsdl:documentation>The request message for the operation subtractDouble().</wsdl:documentation>
		<wsdl:part name="a" type="xsd:double"/>
		<wsdl:part name="b" type="xsd:double"/>
	</wsdl:message>

	<wsdl:message name="Message_Subtract_subtractDoubleResponse">
		<wsdl:documentation>The response message for the operation subtractDouble().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:double"/>
	</wsdl:message>

	<!-- ========== Fault Messages ============ -->

	<wsdl:message name="FaultMessage_Subtract_IllegalArgumentFault">
		<wsdl:part name="fault" element="faults:IllegalArgumentFault"/>
	</wsdl:message>

	<wsdl:message name="FaultMessage_Subtract_ServiceMigratedFault">
		<wsdl:part name="fault" element="faults:ServiceMigratedFault"/>
	</wsdl:message>

	<wsdl:message name="FaultMessage_Subtract_ServiceNotReadyFault">
		<wsdl:part name="fault" element="faults:ServiceNotReadyFault"/>
	</wsdl:message>

	<wsdl:message name="FaultMessage_Subtract_ServiceLimitReachedFault">
		<wsdl:part name="fault" element="faults:ServiceLimitReachedFault"/>
	</wsdl:message>

	<!-- ========== Port Types ============ -->

	<wsdl:portType name="SubtractPortType">

		<wsdl:operation name="subtractInt" parameterOrder="a b">
			<wsdl:documentation>Subtracts two int values.</wsdl:documentation>
			<wsdl:input message="tns:Message_Subtract_subtractInt"/>
			<wsdl:output message="tns:Message_Subtract_subtractIntResponse"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

		<wsdl:operation name="subtractInteger" parameterOrder="a b">
			<wsdl:documentation>Subtracts two integer values.</wsdl:documentation>
			<wsdl:input message="tns:Message_Subtract_subtractInteger"/>
			<wsdl:output message="tns:Message_Subtract_subtractIntegerResponse"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

		<wsdl:operation name="subtractDecimal" parameterOrder="a b">
			<wsdl:documentation>Subtracts two decimal values.</wsdl:documentation>
			<wsdl:input message="tns:Message_Subtract_subtractDecimal"/>
			<wsdl:output message="tns:Message_Subtract_subtractDecimalResponse"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

		<wsdl:operation name="subtractLong" parameterOrder="a b">
			<wsdl:documentation>Subtracts two long values.</wsdl:documentation>
			<wsdl:input message="tns:Message_Subtract_subtractLong"/>
			<wsdl:output message="tns:Message_Subtract_subtractLongResponse"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

		<wsdl:operation name="subtractFloat" parameterOrder="a b">
			<wsdl:documentation>Subtracts two float values.</wsdl:documentation>
			<wsdl:input message="tns:Message_Subtract_subtractFloat"/>
			<wsdl:output message="tns:Message_Subtract_subtractFloatResponse"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

		<wsdl:operation name="subtractDouble" parameterOrder="a b">
			<wsdl:documentation>Subtracts two double values.</wsdl:documentation>
			<wsdl:input message="tns:Message_Subtract_subtractDouble"/>
			<wsdl:output message="tns:Message_Subtract_subtractDoubleResponse"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_Subtract_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

	</wsdl:portType>

</wsdl:definitions>

