<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright (c) Members of the EGEE Collaboration. 2004. See
 http://www.eu-egee.org/partners/ for details on the copyright holders.
 
 Licensed under the Apache License, Version 2.0 (the "License"); you may not
 use this file except in compliance with the License. You may obtain a copy of
 the License at
 
 http://www.apache.org/licenses/LICENSE-2.0
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 License for the specific language governing permissions and limitations under
 the License.
-->
<wsdl:definitions 
    targetNamespace="http://www.gridsite.org/namespaces/delegation-2" 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:tns="http://www.gridsite.org/namespaces/delegation-2" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <wsdl:types>
 
  <xsd:schema targetNamespace="http://www.gridsite.org/namespaces/delegation-2">
   
   <xsd:element name="DelegationException">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="msg" type="xsd:string" nillable="true"/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
   
   <xsd:complexType name="NewProxyReq">
    <xsd:sequence>
     <xsd:element name="proxyRequest" nillable="true" type="xsd:string"/>
     <xsd:element name="delegationID" nillable="true" type="xsd:string"/>
    </xsd:sequence>
   </xsd:complexType>

   
  </xsd:schema>
 </wsdl:types>

   <wsdl:message name="getVersionRequest"/>

   <wsdl:message name="getVersionResponse">
      <wsdl:part name="getVersionReturn" type="xsd:string"/>
   </wsdl:message>

   <wsdl:message name="getInterfaceVersionRequest"/>

   <wsdl:message name="getInterfaceVersionResponse">
      <wsdl:part name="getInterfaceVersionReturn" type="xsd:string"/>
   </wsdl:message>

   <wsdl:message name="getServiceMetadataRequest">
      <wsdl:part name="key" type="xsd:string"/>
   </wsdl:message>
   
   <wsdl:message name="getServiceMetadataResponse">
      <wsdl:part name="getServiceMetadataReturn" type="xsd:string"/>
   </wsdl:message>

   <wsdl:message name="getProxyReqRequest">
      <wsdl:part name="delegationID" type="xsd:string"/>
   </wsdl:message>
   
   <wsdl:message name="getProxyReqResponse">
      <wsdl:part name="getProxyReqReturn" type="xsd:string"/>
   </wsdl:message>

   <wsdl:message name="putProxyRequest">
      <wsdl:part name="delegationID" type="xsd:string"/>
      <wsdl:part name="proxy" type="xsd:string"/>
   </wsdl:message>
   
   <wsdl:message name="putProxyResponse"/>

   <wsdl:message name="renewProxyReqRequest">
      <wsdl:part name="delegationID" type="xsd:string"/>
   </wsdl:message>
   
   <wsdl:message name="renewProxyReqResponse">
      <wsdl:part name="renewProxyReqReturn" type="xsd:string"/>
   </wsdl:message>

   <wsdl:message name="getNewProxyReqRequest"/>
   
   <wsdl:message name="getNewProxyReqResponse">
      <wsdl:part name="getNewProxyReqReturn" type="tns:NewProxyReq"/>
   </wsdl:message>

   <wsdl:message name="getTerminationTimeRequest">
      <wsdl:part name="delegationID" type="xsd:string"/>
   </wsdl:message>
   
   <wsdl:message name="getTerminationTimeResponse">
      <wsdl:part name="getTerminationTimeReturn" type="xsd:dateTime"/>
   </wsdl:message>

   <wsdl:message name="destroyRequest">
      <wsdl:part name="delegationID" type="xsd:string"/>
   </wsdl:message>
   
   <wsdl:message name="destroyResponse"/>

   <wsdl:message name="DelegationException_Fault">
      <wsdl:part name="fault" element="tns:DelegationException"/>
   </wsdl:message>

   <wsdl:portType name="Delegation">

      <wsdl:operation name="getVersion">
         <wsdl:input message="tns:getVersionRequest" name="getVersionRequest"/>
         <wsdl:output message="tns:getVersionResponse" name="getVersionResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>

      <wsdl:operation name="getInterfaceVersion">
         <wsdl:input message="tns:getInterfaceVersionRequest" name="getInterfaceVersionRequest"/>
         <wsdl:output message="tns:getInterfaceVersionResponse" name="getInterfaceVersionResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>

      <wsdl:operation name="getServiceMetadata" parameterOrder="key">
         <wsdl:input message="tns:getServiceMetadataRequest" name="getServiceMetadataRequest"/>
         <wsdl:output message="tns:getServiceMetadataResponse" name="getServiceMetadataResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>

      <wsdl:operation name="getProxyReq" parameterOrder="delegationID">
         <wsdl:input message="tns:getProxyReqRequest" name="getProxyReqRequest"/>
         <wsdl:output message="tns:getProxyReqResponse" name="getProxyReqResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>

      <wsdl:operation name="getNewProxyReq">
         <wsdl:input message="tns:getNewProxyReqRequest" name="getNewProxyReqRequest"/>
         <wsdl:output message="tns:getNewProxyReqResponse" name="getNewProxyReqResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>

      <wsdl:operation name="putProxy" parameterOrder="delegationID proxy">
         <wsdl:input message="tns:putProxyRequest" name="putProxyRequest"/>
         <wsdl:output message="tns:putProxyResponse" name="putProxyResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>

      <wsdl:operation name="renewProxyReq" parameterOrder="delegationID">
         <wsdl:input message="tns:renewProxyReqRequest" name="renewProxyReqRequest"/>
         <wsdl:output message="tns:renewProxyReqResponse" name="renewProxyReqResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>

      <wsdl:operation name="getTerminationTime" parameterOrder="delegationID">
         <wsdl:input message="tns:getTerminationTimeRequest" name="getTerminationTimeRequest"/>
         <wsdl:output message="tns:getTerminationTimeResponse" name="getTerminationTimeResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>

      <wsdl:operation name="destroy" parameterOrder="delegationID">
         <wsdl:input message="tns:destroyRequest" name="destroyRequest"/>
         <wsdl:output message="tns:destroyResponse" name="destroyResponse"/>
         <wsdl:fault message="tns:DelegationException_Fault" name="DelegationException"/>
      </wsdl:operation>
   </wsdl:portType>

   <wsdl:binding name="DelegationSoapBinding" type="tns:Delegation">
      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="getVersion">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="getVersionRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="getVersionResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

      <wsdl:operation name="getInterfaceVersion">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="getInterfaceVersionRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="getInterfaceVersionResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

      <wsdl:operation name="getServiceMetadata">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="getServiceMetadataRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="getServiceMetadataResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

      <wsdl:operation name="getProxyReq">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="getProxyReqRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="getProxyReqResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

      <wsdl:operation name="getNewProxyReq">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="getNewProxyReqRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="getNewProxyReqResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

      <wsdl:operation name="renewProxyReq">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="renewProxyReqRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="renewProxyReqResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

      <wsdl:operation name="putProxy">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="putProxyRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="putProxyResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

      <wsdl:operation name="getTerminationTime">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="getTerminationTimeRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="getTerminationTimeResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

      <wsdl:operation name="destroy">
         <wsdlsoap:operation soapAction=""/>
         <wsdl:input name="destroyRequest">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:input>
         <wsdl:output name="destroyResponse">
            <wsdlsoap:body namespace="http://www.gridsite.org/namespaces/delegation-2" use="literal"/>
         </wsdl:output>
         <wsdl:fault name="DelegationException">
            <wsdlsoap:fault name="DelegationException" use="literal"/>
         </wsdl:fault>
      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="DelegationService">
      <wsdl:port binding="tns:DelegationSoapBinding" name="gridsite-delegation">
         <wsdlsoap:address location="https://localhost:8443/glite-security-delegation"/>
      </wsdl:port>
   </wsdl:service>

</wsdl:definitions>
