<?xml version="1.0"?>

<wsdl:definitions name="SubscriptionManagerDefinitions"
                  targetNamespace="http://ws.apache.org/notification/base/service/SubscriptionManager"
                  xmlns="http://schemas.xmlsoap.org/wsdl/" 
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                  xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
                  xmlns:wsrlw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl"
                  xmlns:wsnt="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.xsd"
                  xmlns:wsntw="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl" 
                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
                  xmlns:tns="http://ws.apache.org/notification/base/service/SubscriptionManager">
   
   <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
           location="../wsrf/WS-ResourceProperties-1_2-Draft_01.wsdl"/>
   
   <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl"
           location="../wsrf/WS-ResourceLifetime-1_2-Draft_01.wsdl"/>
   
   <import namespace="http://docs.oasis-open.org/wsn/2004/06/wsn-WS-BaseNotification-1.2-draft-01.wsdl"
           location="../wsn/WS-BaseNotification-1_2-Draft_01.wsdl"/>
   
   <wsdl:portType name="SubscriptionManagerPortType" wsrpw:ResourceProperties="wsnt:SubscriptionManagerRP">
      
      <!-- === operations from wsrpw:ResourceProperties portType === -->
      <wsdl:operation name="GetResourceProperty">
         <wsdl:input name="GetResourcePropertyRequest" message="wsrpw:GetResourcePropertyRequest"/>
         <wsdl:output name="GetResourcePropertyResponse" message="wsrpw:GetResourcePropertyResponse"/>
         <wsdl:fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
         <wsdl:fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
      </wsdl:operation>
      
      <!-- === operations from wsrlw:ImmediateResourceTermination portType === -->
      <wsdl:operation name="Destroy">
         <wsdl:input message="wsrlw:DestroyRequest"/>
         <wsdl:output message="wsrlw:DestroyResponse"/>
         <wsdl:fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault"/>
         <wsdl:fault name="ResourceNotDestroyedFault" message="wsrlw:ResourceNotDestroyedFault"/>
      </wsdl:operation>
      
      <!-- === operations from wsrlw:ScheduledResourceTermination portType === -->
      <wsdl:operation name="SetTerminationTime">
         <wsdl:input message="wsrlw:SetTerminationTimeRequest"/>
         <wsdl:output message="wsrlw:SetTerminationTimeResponse"/>
         <wsdl:fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault"/>
         <wsdl:fault name="UnableToSetTerminationTimeFault" message="wsrlw:UnableToSetTerminationTimeFault"/>
         <wsdl:fault name="TerminationTimeChangeRejectedFault" message="wsrlw:TerminationTimeChangeRejectedFault"/>
      </wsdl:operation>
      
      <!-- === operations from wsntw:SubscriptionManager portType === -->
      <wsdl:operation name="PauseSubcription">
         <wsdl:input message="wsntw:PauseSubscriptionRequest"/>
         <wsdl:output message="wsntw:PauseSubscriptionResponse"/>
         <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault"/>
         <wsdl:fault name="PauseFailedFault" message="wsntw:PauseFailedFault"/>
      </wsdl:operation>
      
      <wsdl:operation name="ResumeSubscription">
         <wsdl:input message="wsntw:ResumeSubscriptionRequest"/>
         <wsdl:output message="wsntw:ResumeSubscriptionResponse"/>
         <wsdl:fault name="ResourceUnknownFault" message="wsntw:ResourceUnknownFault"/>
         <wsdl:fault name="ResumeFailedFault" message="wsntw:ResumeFailedFault"/>
      </wsdl:operation>
      
   </wsdl:portType>
   
   <wsdl:binding name="SubscriptionManagerHttpBinding" type="tns:SubscriptionManagerPortType">
      
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      
      <wsdl:operation name="GetResourceProperty">
         <soap:operation style="document"/>
         <wsdl:input>
            <soap:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body use="literal"/>
         </wsdl:output>
         <wsdl:fault name="ResourceUnknownFault">
            <soap:fault name="ResourceUnknownFault" use="literal"/>
         </wsdl:fault>
         <wsdl:fault name="InvalidResourcePropertyQNameFault">
            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>
      
      <wsdl:operation name="Destroy">
         <soap:operation style="document"/>
         <wsdl:input>
            <soap:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body use="literal"/>
         </wsdl:output>
         <wsdl:fault name="ResourceUnknownFault">
            <soap:fault name="ResourceUnknownFault" use="literal"/>
         </wsdl:fault>
         <wsdl:fault name="ResourceNotDestroyedFault">
            <soap:fault name="ResourceNotDestroyedFault" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>
      
      <wsdl:operation name="SetTerminationTime">
         <soap:operation style="document"/>
         <wsdl:input>
            <soap:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body use="literal"/>
         </wsdl:output>
         <wsdl:fault name="ResourceUnknownFault">
            <soap:fault name="ResourceUnknownFault" use="literal"/>
         </wsdl:fault>
         <wsdl:fault name="UnableToSetTerminationTimeFault">
            <soap:fault name="UnableToSetTerminationTimeFault" use="literal"/>
         </wsdl:fault>
         <wsdl:fault name="TerminationTimeChangeRejectedFault">
            <soap:fault name="TerminationTimeChangeRejectedFault" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>
      
      <wsdl:operation name="PauseSubcription">
         <soap:operation style="document"/>
         <wsdl:input>
            <soap:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body use="literal"/>
         </wsdl:output>
         <wsdl:fault name="ResourceUnknownFault">
            <soap:fault name="ResourceUnknownFault" use="literal"/>
         </wsdl:fault>
         <wsdl:fault name="PauseFailedFault">
            <soap:fault name="PauseFailedFault" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>
      
      <wsdl:operation name="ResumeSubscription">
         <soap:operation style="document"/>
         <wsdl:input>
            <soap:body use="literal"/>
         </wsdl:input>
         <wsdl:output>
            <soap:body use="literal"/>
         </wsdl:output>
         <wsdl:fault name="ResourceUnknownFault">
            <soap:fault name="ResourceUnknownFault" use="literal"/>
         </wsdl:fault>
         <wsdl:fault name="ResumeFailedFault">
            <soap:fault name="ResumeFailedFault" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>
      
   </wsdl:binding>
   
   <wsdl:service name="SubscriptionManagerService">
      
      <wsdl:port name="subscriptionManager" binding="tns:SubscriptionManagerHttpBinding">
         <soap:address location="http://localhost:8080/wsrf/services/subscriptionManager"/>
      </wsdl:port>      
      
   </wsdl:service>
   
</wsdl:definitions>
