<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions 
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 

    xmlns:vos.contract.1.0="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6"
    xmlns:vos.types.1.0="http://www.net.ivoa/xml/VOSpaceTypes-v1.0rc6"
    
    xmlns="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6"
    targetNamespace="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6"

    >
    <wsdl:documentation>
        Interface definition for a VOSpace 1.0 web service
    </wsdl:documentation>
    <wsdl:types>

        <xsd:schema
            targetNamespace="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6"
            elementFormDefault="qualified"
            >

            <!--+
                | Import the message schema.
                +-->
            <xsd:import
                namespace="http://www.net.ivoa/xml/VOSpaceTypes-v1.0rc6"
                schemaLocation="VOSpaceTypes-v1.0rc6.xsd"
                />

            <!--+
                | The GetViews message elements.
                +-->
            <xsd:element name="GetViews"         type="vos.types.1.0:GetViewsRequestType"/>
            <xsd:element name="GetViewsResponse" type="vos.types.1.0:GetViewsResponseType"/>
            
            <!--+
                | The GetProtocols message elements.
                +-->
            <xsd:element name="GetProtocols"         type="vos.types.1.0:GetProtocolsRequestType"/>
            <xsd:element name="GetProtocolsResponse" type="vos.types.1.0:GetProtocolsResponseType"/>
            
            <!--+
                | The GetProperties message elements.
                +-->
            <xsd:element name="GetProperties"         type="vos.types.1.0:GetPropertiesRequestType"/>
            <xsd:element name="GetPropertiesResponse" type="vos.types.1.0:GetPropertiesResponseType"/>
            
            <!--+
                | The CreateNode message elements.
                +-->
            <xsd:element name="CreateNode"         type="vos.types.1.0:CreateNodeRequestType"/>
            <xsd:element name="CreateNodeResponse" type="vos.types.1.0:CreateNodeResponseType"/>
            
            <!--+
                | The DeleteNode message elements.
                +-->
            <xsd:element name="DeleteNode"         type="vos.types.1.0:DeleteNodeRequestType"/>
            <xsd:element name="DeleteNodeResponse" type="vos.types.1.0:DeleteNodeResponseType"/>
            
            <!--+
                | The MoveNode message elements.
                +-->
            <xsd:element name="MoveNode"         type="vos.types.1.0:MoveNodeRequestType"/>
            <xsd:element name="MoveNodeResponse" type="vos.types.1.0:MoveNodeResponseType"/>
            
            <!--+
                | The CopyNode message elements.
                +-->
            <xsd:element name="CopyNode"         type="vos.types.1.0:CopyNodeRequestType"/>
            <xsd:element name="CopyNodeResponse" type="vos.types.1.0:CopyNodeResponseType"/>
            
            <!--+
                | The GetNode message elements.
                +-->
            <xsd:element name="GetNode"         type="vos.types.1.0:GetNodeRequestType"/>
            <xsd:element name="GetNodeResponse" type="vos.types.1.0:GetNodeResponseType"/>
            
            <!--+
                | The SetNode message elements.
                +-->
            <xsd:element name="SetNode"         type="vos.types.1.0:SetNodeRequestType"/>
            <xsd:element name="SetNodeResponse" type="vos.types.1.0:SetNodeResponseType"/>
            
            <!--+
                | The ListNodes message elements.
                +-->
            <xsd:element name="ListNodes"         type="vos.types.1.0:ListNodesRequestType"/>
            <xsd:element name="ListNodesResponse" type="vos.types.1.0:ListNodesResponseType"/>
            
            <!--+
                | The PushToVoSpace message elements.
                +-->
            <xsd:element name="PushToVoSpace"         type="vos.types.1.0:PushToVoSpaceRequestType"/>
            <xsd:element name="PushToVoSpaceResponse" type="vos.types.1.0:PushToVoSpaceResponseType"/>
            
            <!--+
                | The PullToVoSpace message elements.
                +-->
            <xsd:element name="PullToVoSpace"         type="vos.types.1.0:PullToVoSpaceRequestType"/>
            <xsd:element name="PullToVoSpaceResponse" type="vos.types.1.0:PullToVoSpaceResponseType"/>
            
            <!--+
                | The PullFromVoSpace message elements.
                +-->
            <xsd:element name="PullFromVoSpace"         type="vos.types.1.0:PullFromVoSpaceRequestType"/>
            <xsd:element name="PullFromVoSpaceResponse" type="vos.types.1.0:PullFromVoSpaceResponseType"/>
            
            <!--+
                | The PushFromVoSpace message elements.
                +-->
            <xsd:element name="PushFromVoSpace"         type="vos.types.1.0:PushFromVoSpaceRequestType"/>
            <xsd:element name="PushFromVoSpaceResponse" type="vos.types.1.0:PushFromVoSpaceResponseType"/>
            
            <!--+
                | The fault elements.
                +-->
            <xsd:element name="InternalFault"             type="vos.types.1.0:InternalFaultType"/>
            <xsd:element name="NodeNotFoundFault"         type="vos.types.1.0:NodeNotFoundFaultType"/>
            <xsd:element name="DuplicateNodeFault"        type="vos.types.1.0:DuplicateNodeFaultType"/>
            <xsd:element name="PermissionDeniedFault"     type="vos.types.1.0:PermissionDeniedFaultType"/>
            <xsd:element name="InvalidUriFault"           type="vos.types.1.0:InvalidUriFaultType"/>
            <xsd:element name="InvalidTokenFault"         type="vos.types.1.0:InvalidTokenFaultType"/>
            <xsd:element name="InvalidArgumentFault"      type="vos.types.1.0:InvalidArgumentFaultType"/>
            <xsd:element name="TypeNotSupportedFault"     type="vos.types.1.0:TypeNotSupportedFaultType"/>
            <xsd:element name="ViewNotSupportedFault"     type="vos.types.1.0:ViewNotSupportedFaultType"/>
            <xsd:element name="ProtocolNotSupportedFault" type="vos.types.1.0:ProtocolNotSupportedFaultType"/>
            <xsd:element name="TransferFailedFault"       type="vos.types.1.0:TransferFailedFaultType"/>
            <xsd:element name="InvalidDataFault"          type="vos.types.1.0:InvalidDataFaultType"/>
            
        </xsd:schema>
        
    </wsdl:types>

    <!--+
        | The GetViews messages.
        +-->
    <wsdl:message name="GetViewsRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:GetViews"/>
    </wsdl:message>
    <wsdl:message name="GetViewsResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:GetViewsResponse"/>
    </wsdl:message>

    <!--+
        | The GetProtocols messages.
        +-->
    <wsdl:message name="GetProtocolsRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:GetProtocols"/>
    </wsdl:message>
    <wsdl:message name="GetProtocolsResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:GetProtocolsResponse"/>
    </wsdl:message>

    <!--+
        | The GetProperties messages.
        +-->
    <wsdl:message name="GetPropertiesRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:GetProperties"/>
    </wsdl:message>
    <wsdl:message name="GetPropertiesResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:GetPropertiesResponse"/>
    </wsdl:message>

    <!--+
        | The CreateNode messages.
        +-->
    <wsdl:message name="CreateNodeRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:CreateNode"/>
    </wsdl:message>
    <wsdl:message name="CreateNodeResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:CreateNodeResponse"/>
    </wsdl:message>

    <!--+
        | The DeleteNode messages.
        +-->
    <wsdl:message name="DeleteNodeRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:DeleteNode"/>
    </wsdl:message>
    <wsdl:message name="DeleteNodeResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:DeleteNodeResponse"/>
    </wsdl:message>

    <!--+
        | The MoveNode messages.
        +-->
    <wsdl:message name="MoveNodeRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:MoveNode"/>
    </wsdl:message>
    <wsdl:message name="MoveNodeResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:MoveNodeResponse"/>
    </wsdl:message>

    <!--+
        | The CopyNode messages.
        +-->
    <wsdl:message name="CopyNodeRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:CopyNode"/>
    </wsdl:message>
    <wsdl:message name="CopyNodeResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:CopyNodeResponse"/>
    </wsdl:message>

    <!--+
        | The GetNode messages.
        +-->
    <wsdl:message name="GetNodeRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:GetNode"/>
    </wsdl:message>
    <wsdl:message name="GetNodeResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:GetNodeResponse"/>
    </wsdl:message>

    <!--+
        | The SetNode messages.
        +-->
    <wsdl:message name="SetNodeRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:SetNode"/>
    </wsdl:message>
    <wsdl:message name="SetNodeResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:SetNodeResponse"/>
    </wsdl:message>

    <!--+
        | The ListNodes messages.
        +-->
    <wsdl:message name="ListNodesRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:ListNodes"/>
    </wsdl:message>
    <wsdl:message name="ListNodesResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:ListNodesResponse"/>
    </wsdl:message>

    <!--+
        | The PushToVoSpace messages.
        +-->
    <wsdl:message name="PushToVoSpaceRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PushToVoSpace"/>
    </wsdl:message>
    <wsdl:message name="PushToVoSpaceResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PushToVoSpaceResponse"/>
    </wsdl:message>

    <!--+
        | The PullToVoSpace messages.
        +-->
    <wsdl:message name="PullToVoSpaceRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PullToVoSpace"/>
    </wsdl:message>
    <wsdl:message name="PullToVoSpaceResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PullToVoSpaceResponse"/>
    </wsdl:message>

    <!--+
        | The PullFromVoSpace messages.
        +-->
    <wsdl:message name="PullFromVoSpaceRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PullFromVoSpace"/>
    </wsdl:message>
    <wsdl:message name="PullFromVoSpaceResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PullFromVoSpaceResponse"/>
    </wsdl:message>

    <!--+
        | The PushFromVoSpace messages.
        +-->
    <wsdl:message name="PushFromVoSpaceRequestMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PushFromVoSpace"/>
    </wsdl:message>
    <wsdl:message name="PushFromVoSpaceResponseMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PushFromVoSpaceResponse"/>
    </wsdl:message>

    <!--+
        | The fault messages.
        +-->
    <wsdl:message name="InternalFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:InternalFault"/>
    </wsdl:message>
    <wsdl:message name="NodeNotFoundFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:NodeNotFoundFault"/>
    </wsdl:message>
    <wsdl:message name="DuplicateNodeFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:DuplicateNodeFault"/>
    </wsdl:message>
    <wsdl:message name="PermissionDeniedFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:PermissionDeniedFault"/>
    </wsdl:message>
    <wsdl:message name="InvalidUriFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:InvalidUriFault"/>
    </wsdl:message>
    <wsdl:message name="InvalidTokenFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:InvalidTokenFault"/>
    </wsdl:message>
    <wsdl:message name="InvalidArgumentFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:InvalidArgumentFault"/>
    </wsdl:message>
    <wsdl:message name="TypeNotSupportedFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:TypeNotSupportedFault"/>
    </wsdl:message>
    <wsdl:message name="ViewNotSupportedFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:ViewNotSupportedFault"/>
    </wsdl:message>
    <wsdl:message name="ProtocolNotSupportedFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:ProtocolNotSupportedFault"/>
    </wsdl:message>
    <wsdl:message name="TransferFailedFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:TransferFailedFault"/>
    </wsdl:message>
    <wsdl:message name="InvalidDataFaultMessage">
        <wsdl:part name="message" element="vos.contract.1.0:InvalidDataFault"/>
    </wsdl:message>

    <!--+
        | The VoSpace-1.0 port type.
        +-->
    <wsdl:portType name="VOSpacePortType">

        <!--+
            | The GetViews operation.
            +-->
        <wsdl:operation name="GetViews">
            <wsdl:documentation>
                GetViews operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:GetViewsRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:GetViewsResponseMessage"/>
            <wsdl:fault  name="InternalFault" message="vos.contract.1.0:InternalFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The GetProtocols operation.
            +-->
        <wsdl:operation name="GetProtocols">
            <wsdl:documentation>
                GetProtocols operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:GetProtocolsRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:GetProtocolsResponseMessage"/>
            <wsdl:fault  name="InternalFault" message="vos.contract.1.0:InternalFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The GetProperties operation.
            +-->
        <wsdl:operation name="GetProperties">
            <wsdl:documentation>
                GetProperties operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:GetPropertiesRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:GetPropertiesResponseMessage"/>
            <wsdl:fault  name="InternalFault" message="vos.contract.1.0:InternalFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The CreateNode operation.
            +-->
        <wsdl:operation name="CreateNode">
            <wsdl:documentation>
                CreateNode operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:CreateNodeRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:CreateNodeResponseMessage"/>
            <wsdl:fault  name="InternalFault"         message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"       message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="DuplicateNodeFault"    message="vos.contract.1.0:DuplicateNodeFaultMessage"/>
            <wsdl:fault  name="TypeNotSupportedFault" message="vos.contract.1.0:TypeNotSupportedFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault" message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The DeleteNode operation.
            +-->
        <wsdl:operation name="DeleteNode">
            <wsdl:documentation>
                DeleteNode operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:DeleteNodeRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:DeleteNodeResponseMessage"/>
            <wsdl:fault  name="InternalFault"         message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"       message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="NodeNotFoundFault"     message="vos.contract.1.0:NodeNotFoundFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault" message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The MoveNode operation.
            +-->
        <wsdl:operation name="MoveNode">
            <wsdl:documentation>
                MoveNode operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:MoveNodeRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:MoveNodeResponseMessage"/>
            <wsdl:fault  name="InternalFault"         message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"       message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="InvalidArgumentFault"  message="vos.contract.1.0:InvalidArgumentFaultMessage"/>
            <wsdl:fault  name="NodeNotFoundFault"     message="vos.contract.1.0:NodeNotFoundFaultMessage"/>
            <wsdl:fault  name="DuplicateNodeFault"    message="vos.contract.1.0:DuplicateNodeFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault" message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The CopyNode operation.
            +-->
        <wsdl:operation name="CopyNode">
            <wsdl:documentation>
                CopyNode operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:CopyNodeRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:CopyNodeResponseMessage"/>
            <wsdl:fault  name="InternalFault"         message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"       message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="InvalidArgumentFault"  message="vos.contract.1.0:InvalidArgumentFaultMessage"/>
            <wsdl:fault  name="NodeNotFoundFault"     message="vos.contract.1.0:NodeNotFoundFaultMessage"/>
            <wsdl:fault  name="DuplicateNodeFault"    message="vos.contract.1.0:DuplicateNodeFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault" message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The GetNode operation.
            +-->
        <wsdl:operation name="GetNode">
            <wsdl:documentation>
                GetNode operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:GetNodeRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:GetNodeResponseMessage"/>
            <wsdl:fault  name="InternalFault"         message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"       message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="NodeNotFoundFault"     message="vos.contract.1.0:NodeNotFoundFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault" message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The SetNode operation.
            +-->
        <wsdl:operation name="SetNode">
            <wsdl:documentation>
                SetNode operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:SetNodeRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:SetNodeResponseMessage"/>
            <wsdl:fault  name="InternalFault"         message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"       message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="InvalidArgumentFault"  message="vos.contract.1.0:InvalidArgumentFaultMessage"/>
            <wsdl:fault  name="NodeNotFoundFault"     message="vos.contract.1.0:NodeNotFoundFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault" message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The ListNodes operation.
            +-->
        <wsdl:operation name="ListNodes">
            <wsdl:documentation>
                ListNodes operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:ListNodesRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:ListNodesResponseMessage"/>
            <wsdl:fault  name="InternalFault"         message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"       message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="NodeNotFoundFault"     message="vos.contract.1.0:NodeNotFoundFaultMessage"/>
            <wsdl:fault  name="InvalidTokenFault"     message="vos.contract.1.0:InvalidTokenFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault" message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The PushToVoSpace operation.
            +-->
        <wsdl:operation name="PushToVoSpace">
            <wsdl:documentation>
                PushToVoSpace operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:PushToVoSpaceRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:PushToVoSpaceResponseMessage"/>
            <wsdl:fault  name="InternalFault"             message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"           message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="InvalidArgumentFault"      message="vos.contract.1.0:InvalidArgumentFaultMessage"/>
            <wsdl:fault  name="ViewNotSupportedFault"     message="vos.contract.1.0:ViewNotSupportedFaultMessage"/>
            <wsdl:fault  name="TypeNotSupportedFault"     message="vos.contract.1.0:TypeNotSupportedFaultMessage"/>
            <wsdl:fault  name="ProtocolNotSupportedFault" message="vos.contract.1.0:ProtocolNotSupportedFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault"     message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The PullToVoSpace operation.
            +-->
        <wsdl:operation name="PullToVoSpace">
            <wsdl:documentation>
                PullToVoSpace operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:PullToVoSpaceRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:PullToVoSpaceResponseMessage"/>
            <wsdl:fault  name="InternalFault"             message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"           message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="InvalidDataFault"          message="vos.contract.1.0:InvalidDataFaultMessage"/>
            <wsdl:fault  name="InvalidArgumentFault"      message="vos.contract.1.0:InvalidArgumentFaultMessage"/>
            <wsdl:fault  name="ViewNotSupportedFault"     message="vos.contract.1.0:ViewNotSupportedFaultMessage"/>
            <wsdl:fault  name="TypeNotSupportedFault"     message="vos.contract.1.0:TypeNotSupportedFaultMessage"/>
            <wsdl:fault  name="ProtocolNotSupportedFault" message="vos.contract.1.0:ProtocolNotSupportedFaultMessage"/>
            <wsdl:fault  name="TransferFailedFault"       message="vos.contract.1.0:TransferFailedFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault"     message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The PullFromVoSpace operation.
            +-->
        <wsdl:operation name="PullFromVoSpace">
            <wsdl:documentation>
                PullFromVoSpace operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:PullFromVoSpaceRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:PullFromVoSpaceResponseMessage"/>
            <wsdl:fault  name="InternalFault"             message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"           message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="InvalidArgumentFault"      message="vos.contract.1.0:InvalidArgumentFaultMessage"/>
            <wsdl:fault  name="NodeNotFoundFault"         message="vos.contract.1.0:NodeNotFoundFaultMessage"/>
            <wsdl:fault  name="ViewNotSupportedFault"     message="vos.contract.1.0:ViewNotSupportedFaultMessage"/>
            <wsdl:fault  name="ProtocolNotSupportedFault" message="vos.contract.1.0:ProtocolNotSupportedFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault"     message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

        <!--+
            | The PushFromVoSpace operation.
            +-->
        <wsdl:operation name="PushFromVoSpace">
            <wsdl:documentation>
                PushFromVoSpace operation
            </wsdl:documentation>
            <wsdl:input  message="vos.contract.1.0:PushFromVoSpaceRequestMessage"/>
            <wsdl:output message="vos.contract.1.0:PushFromVoSpaceResponseMessage"/>
            <wsdl:fault  name="InternalFault"             message="vos.contract.1.0:InternalFaultMessage"/>
            <wsdl:fault  name="InvalidUriFault"           message="vos.contract.1.0:InvalidUriFaultMessage"/>
            <wsdl:fault  name="InvalidArgumentFault"      message="vos.contract.1.0:InvalidArgumentFaultMessage"/>
            <wsdl:fault  name="NodeNotFoundFault"         message="vos.contract.1.0:NodeNotFoundFaultMessage"/>
            <wsdl:fault  name="ViewNotSupportedFault"     message="vos.contract.1.0:ViewNotSupportedFaultMessage"/>
            <wsdl:fault  name="ProtocolNotSupportedFault" message="vos.contract.1.0:ProtocolNotSupportedFaultMessage"/>
            <wsdl:fault  name="TransferFailedFault"       message="vos.contract.1.0:TransferFailedFaultMessage"/>
            <wsdl:fault  name="PermissionDeniedFault"     message="vos.contract.1.0:PermissionDeniedFaultMessage"/>
        </wsdl:operation>

    </wsdl:portType>

    <!--+
        | The WebService HTTP binding.
        +-->
    <wsdl:binding name="VOSpaceBinding" type="vos.contract.1.0:VOSpacePortType">
        <wsdl:documentation>
            HTTP binding for the a VoSpace service.
        </wsdl:documentation>
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

        <!--+
            | The GetViews operation.
            +-->
        <wsdl:operation name="GetViews">
            <wsdl:documentation>
                GetViews operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:GetViews"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The GetProtocols operation.
            +-->
        <wsdl:operation name="GetProtocols">
            <wsdl:documentation>
                GetProtocols operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:GetProtocols"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The GetProperties operation.
            +-->
        <wsdl:operation name="GetProperties">
            <wsdl:documentation>
                GetProperties operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:GetProperties"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The CreateNode operation.
            +-->
        <wsdl:operation name="CreateNode">
            <wsdl:documentation>
                CreateNode operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:CreateNode"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="DuplicateNodeFault">
                <soap:fault use="literal" name="DuplicateNodeFault"/>
            </wsdl:fault>
            <wsdl:fault name="TypeNotSupportedFault">
                <soap:fault use="literal" name="TypeNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The DeleteNode operation.
            +-->
        <wsdl:operation name="DeleteNode">
            <wsdl:documentation>
                DeleteNode operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:DeleteNode"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="NodeNotFoundFault">
                <soap:fault use="literal" name="NodeNotFoundFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The MoveNode operation.
            +-->
        <wsdl:operation name="MoveNode">
            <wsdl:documentation>
                MoveNode operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:MoveNode"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidArgumentFault">
                <soap:fault use="literal" name="InvalidArgumentFault"/>
            </wsdl:fault>
            <wsdl:fault name="NodeNotFoundFault">
                <soap:fault use="literal" name="NodeNotFoundFault"/>
            </wsdl:fault>
            <wsdl:fault name="DuplicateNodeFault">
                <soap:fault use="literal" name="DuplicateNodeFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The CopyNode operation.
            +-->
        <wsdl:operation name="CopyNode">
            <wsdl:documentation>
                CopyNode operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:CopyNode"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidArgumentFault">
                <soap:fault use="literal" name="InvalidArgumentFault"/>
            </wsdl:fault>
            <wsdl:fault name="NodeNotFoundFault">
                <soap:fault use="literal" name="NodeNotFoundFault"/>
            </wsdl:fault>
            <wsdl:fault name="DuplicateNodeFault">
                <soap:fault use="literal" name="DuplicateNodeFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The GetNode operation.
            +-->
        <wsdl:operation name="GetNode">
            <wsdl:documentation>
                GetNode operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:GetNode"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="NodeNotFoundFault">
                <soap:fault use="literal" name="NodeNotFoundFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The SetNode operation.
            +-->
        <wsdl:operation name="SetNode">
            <wsdl:documentation>
                SetNode operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:SetNode"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidArgumentFault">
                <soap:fault use="literal" name="InvalidArgumentFault"/>
            </wsdl:fault>
            <wsdl:fault name="NodeNotFoundFault">
                <soap:fault use="literal" name="NodeNotFoundFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The ListNodes operation.
            +-->
        <wsdl:operation name="ListNodes">
            <wsdl:documentation>
                ListNodes operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:ListNodes"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidTokenFault">
                <soap:fault use="literal" name="InvalidTokenFault"/>
            </wsdl:fault>
            <wsdl:fault name="NodeNotFoundFault">
                <soap:fault use="literal" name="NodeNotFoundFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The PushToVoSpace operation.
            +-->
        <wsdl:operation name="PushToVoSpace">
            <wsdl:documentation>
                PushToVoSpace operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:PushToVoSpace"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidArgumentFault">
                <soap:fault use="literal" name="InvalidArgumentFault"/>
            </wsdl:fault>
            <wsdl:fault name="ViewNotSupportedFault">
                <soap:fault use="literal" name="ViewNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="TypeNotSupportedFault">
                <soap:fault use="literal" name="TypeNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="ProtocolNotSupportedFault">
                <soap:fault use="literal" name="ProtocolNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The PullToVoSpace operation.
            +-->
        <wsdl:operation name="PullToVoSpace">
            <wsdl:documentation>
                PullToVoSpace operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:PullToVoSpace"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidDataFault">
                <soap:fault use="literal" name="InvalidDataFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidArgumentFault">
                <soap:fault use="literal" name="InvalidArgumentFault"/>
            </wsdl:fault>
            <wsdl:fault name="ViewNotSupportedFault">
                <soap:fault use="literal" name="ViewNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="TypeNotSupportedFault">
                <soap:fault use="literal" name="TypeNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="ProtocolNotSupportedFault">
                <soap:fault use="literal" name="ProtocolNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="TransferFailedFault">
                <soap:fault use="literal" name="TransferFailedFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The PullFromVoSpace operation.
            +-->
        <wsdl:operation name="PullFromVoSpace">
            <wsdl:documentation>
                PullFromVoSpace operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:PullFromVoSpace"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidArgumentFault">
                <soap:fault use="literal" name="InvalidArgumentFault"/>
            </wsdl:fault>
            <wsdl:fault name="NodeNotFoundFault">
                <soap:fault use="literal" name="NodeNotFoundFault"/>
            </wsdl:fault>
            <wsdl:fault name="ViewNotSupportedFault">
                <soap:fault use="literal" name="ViewNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="ProtocolNotSupportedFault">
                <soap:fault use="literal" name="ProtocolNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

        <!--+
            | The PushFromVoSpace operation.
            +-->
        <wsdl:operation name="PushFromVoSpace">
            <wsdl:documentation>
                PushFromVoSpace operation.
            </wsdl:documentation>
            <soap:operation soapAction="http://www.net.ivoa/xml/VOSpaceContract-v1.0rc6:PushFromVoSpace"/>
            <wsdl:input>
                <soap:body use="literal" parts="message"/>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" parts="message"/>
            </wsdl:output>
            <wsdl:fault name="InternalFault">
                <soap:fault use="literal" name="InternalFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidUriFault">
                <soap:fault use="literal" name="InvalidUriFault"/>
            </wsdl:fault>
            <wsdl:fault name="InvalidArgumentFault">
                <soap:fault use="literal" name="InvalidArgumentFault"/>
            </wsdl:fault>
            <wsdl:fault name="NodeNotFoundFault">
                <soap:fault use="literal" name="NodeNotFoundFault"/>
            </wsdl:fault>
            <wsdl:fault name="ViewNotSupportedFault">
                <soap:fault use="literal" name="ViewNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="ProtocolNotSupportedFault">
                <soap:fault use="literal" name="ProtocolNotSupportedFault"/>
            </wsdl:fault>
            <wsdl:fault name="TransferFailedFault">
                <soap:fault use="literal" name="TransferFailedFault"/>
            </wsdl:fault>
            <wsdl:fault name="PermissionDeniedFault">
                <soap:fault use="literal" name="PermissionDeniedFault"/>
            </wsdl:fault>
        </wsdl:operation>

    </wsdl:binding>

    <!--+
        | The top level VoSpace-1.0 WebService definition.
        +-->
    <wsdl:service name="VOSpaceService">
        <wsdl:documentation>....</wsdl:documentation>
        <wsdl:port name="VOSpacePort" binding="vos.contract.1.0:VOSpaceBinding">
            <soap:address location="http://localhost:8080/astrogrid-vospace/services/VOSpacePort"/>
        </wsdl:port>
    </wsdl:service>

</wsdl:definitions>
