<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
    name="WS-ResourceLifetime"
    targetNamespace="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceLifetime-1.2-draft-04.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:wsrf-bf="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-BaseFaults-1.2-draft-03.xsd"
    xmlns:wsrf-rl="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceLifetime-1.2-draft-04.xsd"
    xmlns:wsrf-rlw="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceLifetime-1.2-draft-04.wsdl"
    xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceProperties-1.2-draft-05.xsd"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <wsdl:types>
        <xsd:schema
            attributeFormDefault="unqualified"
            elementFormDefault="qualified"
            targetNamespace="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-ResourceLifetime-1.2-draft-04.xsd"
            xmlns="http://www.w3.org/2001/XMLSchema">
            <xsd:include
                schemaLocation="WS-ResourceLifetime-1_2-Draft_04.xsd"/>
            <xsd:import
                namespace="http://docs.oasis-open.org/wsrf/2004/11/wsrf-WS-BaseFaults-1.2-draft-03.xsd"
                schemaLocation="WS-BaseFaults-1_2-Draft_03.xsd"/>
            <!-- ==== Resource Properties for ScheduledResourceTermination ==== -->
            <xsd:element name="ScheduledResourceTerminationRP">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element maxOccurs="1" minOccurs="1" ref="wsrf-rl:CurrentTime"/>
                        <xsd:element maxOccurs="1" minOccurs="1" ref="wsrf-rl:TerminationTime"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <!-- ====== Message Types for ImmediateResourceTermination  ======= -->
            <xsd:element name="Destroy">
                <xsd:complexType/>
            </xsd:element>
            <xsd:element name="DestroyResponse">
                <xsd:complexType/>
            </xsd:element>
            <xsd:complexType name="ResourceUnknownFaultType">
                <xsd:complexContent>
                    <xsd:extension base="wsrf-bf:BaseFaultType"/>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:element
                name="ResourceUnknownFault"
                type="wsrf-rl:ResourceUnknownFaultType"/>
            <xsd:complexType name="ResourceNotDestroyedFaultType">
                <xsd:complexContent>
                    <xsd:extension base="wsrf-bf:BaseFaultType"/>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:element
                name="ResourceNotDestroyedFault"
                type="wsrf-rl:ResourceNotDestroyedFaultType"/>
            <!-- ====== Message Types for ScheduledResourceTermination  ======= -->
            <xsd:element name="SetTerminationTime">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element
                            name="RequestedTerminationTime"
                            nillable="true"
                            type="xsd:dateTime"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="SetTerminationTimeResponse">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="NewTerminationTime" nillable="true" type="xsd:dateTime"/>
                        <xsd:element name="CurrentTime" type="xsd:dateTime"/>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
            <xsd:complexType name="UnableToSetTerminationTimeFaultType">
                <xsd:complexContent>
                    <xsd:extension base="wsrf-bf:BaseFaultType"/>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:element
                name="UnableToSetTerminationTimeFault"
                type="wsrf-rl:UnableToSetTerminationTimeFaultType"/>
            <xsd:complexType name="TerminationTimeChangeRejectedFaultType">
                <xsd:complexContent>
                    <xsd:extension base="wsrf-bf:BaseFaultType"/>
                </xsd:complexContent>
            </xsd:complexType>
            <xsd:element
                name="TerminationTimeChangeRejectedFault"
                type="wsrf-rl:TerminationTimeChangeRejectedFaultType"/>
        </xsd:schema>
    </wsdl:types>
    <wsdl:message name="SetTerminationTimeRequest">
        <wsdl:part
            element="wsrf-rl:SetTerminationTime"
            name="SetTerminationTimeRequest"/>
    </wsdl:message>
    <wsdl:message name="DestroyResponse">
        <wsdl:part element="wsrf-rl:DestroyResponse" name="DestroyResponse"/>
    </wsdl:message>
    <wsdl:message name="SetTerminationTimeResponse">
        <wsdl:part
            element="wsrf-rl:SetTerminationTimeResponse"
            name="SetTerminationTimeResponse"/>
    </wsdl:message>
    <wsdl:message name="ResourceUnknownFault">
        <wsdl:part element="wsrf-rl:ResourceUnknownFault" name="ResourceUnknownFault"/>
    </wsdl:message>
    <wsdl:message name="DestroyRequest">
        <wsdl:part element="wsrf-rl:Destroy" name="DestroyRequest"/>
    </wsdl:message>
    <wsdl:message name="ResourceNotDestroyedFault">
        <wsdl:part
            element="wsrf-rl:ResourceNotDestroyedFault"
            name="ResourceNotDestroyedFault"/>
    </wsdl:message>
    <wsdl:message name="UnableToSetTerminationTimeFault">
        <wsdl:part
            element="wsrf-rl:UnableToSetTerminationTimeFault"
            name="UnableToSetTerminationTimeFault"/>
    </wsdl:message>
    <wsdl:message name="TerminationTimeChangeRejectedFault">
        <wsdl:part
            element="wsrf-rl:TerminationTimeChangeRejectedFault"
            name="TerminationTimeChangeRejectedFault"/>
    </wsdl:message>
    <wsdl:portType name="ImmediateResourceTermination">
        <wsdl:operation name="Destroy">
            <wsdl:input name="DestroyRequest" message="wsrf-rlw:DestroyRequest"/>
            <wsdl:output name="DestroyResponse" message="wsrf-rlw:DestroyResponse"/>
            <wsdl:fault
                message="wsrf-rlw:ResourceNotDestroyedFault"
                name="ResourceNotDestroyedFault"/>
            <wsdl:fault message="wsrf-rlw:ResourceUnknownFault" name="ResourceUnknownFault"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:portType name="ScheduledResourceTermination" wsrf-rp:ResourceProperties="wsrf-rl:ScheduledResourceTerminationRP">
        <wsdl:operation name="SetTerminationTime">
            <wsdl:input name="SetTerminationTimeRequest" message="wsrf-rlw:SetTerminationTimeRequest"/>
            <wsdl:output name="SetTerminationTimeResponse" message="wsrf-rlw:SetTerminationTimeResponse"/>
            <wsdl:fault
                message="wsrf-rlw:UnableToSetTerminationTimeFault"
                name="UnableToSetTerminationTimeFault"/>
            <wsdl:fault message="wsrf-rlw:ResourceUnknownFault" name="ResourceUnknownFault"/>
            <wsdl:fault
                message="wsrf-rlw:TerminationTimeChangeRejectedFault"
                name="TerminationTimeChangeRejectedFault"/>
        </wsdl:operation>
    </wsdl:portType>
</wsdl:definitions>