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

<wsdl:definitions targetNamespace="urn:icsy:venice:wsdl:test" name="FaultTest"
	xmlns:tns="urn:icsy:venice:wsdl:test"
	xmlns:basic="urn:icsy:venice:types:basic"
	xmlns:domain="urn:icsy:venice:types:domain"
	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:basic" schemaLocation="http://www.v-grid.info/types/basic.xsd"/>
			<xsd:import namespace="urn:icsy:venice:types:domain" schemaLocation="http://www.v-grid.info/types/domain.xsd"/>
			<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_FaultTest_testAuthorizationFault">
		<wsdl:documentation>The request message for the operation testAuthorizationFault().</wsdl:documentation>
		<wsdl:part name="sso" type="domain:SSOInformation"/>
	</wsdl:message>

	<wsdl:message name="Message_FaultTest_testAuthorizationFaultResponse">
		<wsdl:documentation>The response message for the operation testAuthorizationFault().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:boolean"/>
	</wsdl:message>

	<wsdl:message name="Message_FaultTest_testBaseFault">
		<wsdl:documentation>The request message for the operation testBaseFault().</wsdl:documentation>
	</wsdl:message>

	<wsdl:message name="Message_FaultTest_testBaseFaultResponse">
		<wsdl:documentation>The response message for the operation testBaseFault().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:boolean"/>
	</wsdl:message>

	<wsdl:message name="Message_FaultTest_testIOFault">
		<wsdl:documentation>The request message for the operation testIOFault().</wsdl:documentation>
	</wsdl:message>

	<wsdl:message name="Message_FaultTest_testIOFaultResponse">
		<wsdl:documentation>The response message for the operation testIOFault().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:boolean"/>
	</wsdl:message>

	<wsdl:message name="Message_FaultTest_testNullArgument">
		<wsdl:documentation>The request message for the operation testNullArgument().</wsdl:documentation>
		<wsdl:part name="s1" type="basic:String"/>
		<wsdl:part name="s2" type="basic:String"/>
	</wsdl:message>

	<wsdl:message name="Message_FaultTest_testNullArgumentResponse">
		<wsdl:documentation>The response message for the operation testNullArgument().</wsdl:documentation>
		<wsdl:part name="result" type="xsd:boolean"/>
	</wsdl:message>

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

	<wsdl:message name="FaultMessage_FaultTest_AuthorizationFault">
		<wsdl:part name="fault" element="faults:AuthorizationFault"/>
	</wsdl:message>

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

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

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

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

	<wsdl:message name="FaultMessage_FaultTest_BaseFault">
		<wsdl:part name="fault" element="faults:BaseFault"/>
	</wsdl:message>

	<wsdl:message name="FaultMessage_FaultTest_IOFault">
		<wsdl:part name="fault" element="faults:IOFault"/>
	</wsdl:message>

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

	<wsdl:portType name="FaultTestPortType">

		<wsdl:operation name="testAuthorizationFault" parameterOrder="sso">
			<wsdl:documentation>Test an AuthorizationFault.</wsdl:documentation>
			<wsdl:input message="tns:Message_FaultTest_testAuthorizationFault"/>
			<wsdl:output message="tns:Message_FaultTest_testAuthorizationFaultResponse"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_AuthorizationFault" name="AuthorizationFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

		<wsdl:operation name="testBaseFault" parameterOrder="">
			<wsdl:documentation>Test a BaseFault.</wsdl:documentation>
			<wsdl:input message="tns:Message_FaultTest_testBaseFault"/>
			<wsdl:output message="tns:Message_FaultTest_testBaseFaultResponse"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_BaseFault" name="BaseFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

		<wsdl:operation name="testIOFault" parameterOrder="">
			<wsdl:documentation>Test an IOFault.</wsdl:documentation>
			<wsdl:input message="tns:Message_FaultTest_testIOFault"/>
			<wsdl:output message="tns:Message_FaultTest_testIOFaultResponse"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_IOFault" name="IOFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

		<wsdl:operation name="testNullArgument" parameterOrder="s1 s2">
			<wsdl:documentation>Test null argument and raise IllegalArgumentFault.</wsdl:documentation>
			<wsdl:input message="tns:Message_FaultTest_testNullArgument"/>
			<wsdl:output message="tns:Message_FaultTest_testNullArgumentResponse"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_IllegalArgumentFault" name="IllegalArgumentFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceMigratedFault" name="ServiceMigratedFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceNotReadyFault" name="ServiceNotReadyFault"/>
			<wsdl:fault message="tns:FaultMessage_FaultTest_ServiceLimitReachedFault" name="ServiceLimitReachedFault"/>
		</wsdl:operation>

	</wsdl:portType>

</wsdl:definitions>

