<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
    targetNamespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog"
    xmlns:tns="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog"
    xmlns:cat="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/types"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="CatalogService">

	<!-- ************************************************************** -->
	<!-- ***************************** TYPES ************************** -->
	<!-- ************************************************************** -->

	<wsdl:types>
		<xsd:schema targetNamespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog"
			xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			xmlns:cat="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/types"
			elementFormDefault="qualified" attributeFormDefault="unqualified">
            
			<!-- Imports and Includes-->
			<xsd:import namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/types" schemaLocation="../CatalogSchema/catalog_types.xsd"/>

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

    <!-- ***************************************************************** -->
    <!-- ***************************** MESSAGES ************************** -->
    <!-- ***************************************************************** -->

    <!-- Status Operations -->

    <wsdl:message name="checkStatus_RequestMessage">
        <wsdl:part name="part1" element="cat:checkStatusRequest"/>
    </wsdl:message>
    <wsdl:message name="checkStatus_ResponseMessage">
        <wsdl:part name="part1" element="cat:checkStatusResponse"/>
    </wsdl:message>

    <!-- User Operations -->

    <wsdl:message name="createUser_RequestMessage">
        <wsdl:part name="part1" element="cat:createUserRequest"/>
    </wsdl:message>
    <wsdl:message name="createUser_ResponseMessage">
        <wsdl:part name="part1" element="cat:createUserResponse"/>
    </wsdl:message>

    <wsdl:message name="updateUser_RequestMessage">
        <wsdl:part name="part1" element="cat:updateUserRequest"/>
    </wsdl:message>
    <wsdl:message name="updateUser_ResponseMessage">
        <wsdl:part name="part1" element="cat:updateUserResponse"/>
    </wsdl:message>

    <wsdl:message name="deleteUser_RequestMessage">
        <wsdl:part name="part1" element="cat:deleteUserRequest"/>
    </wsdl:message>
    <wsdl:message name="deleteUser_ResponseMessage">
        <wsdl:part name="part1" element="cat:deleteUserResponse"/>
    </wsdl:message>

    <wsdl:message name="queryUser_RequestMessage">
        <wsdl:part name="part1" element="cat:queryUserRequest"/>
    </wsdl:message>
    <wsdl:message name="queryUser_ResponseMessage">
        <wsdl:part name="part1" element="cat:queryUserResponse"/>
    </wsdl:message>

    <wsdl:message name="doesUserExist_RequestMessage">
        <wsdl:part name="part1" element="cat:doesUserExistRequest"/>
    </wsdl:message>
    <wsdl:message name="doesUserExist_ResponseMessage">
        <wsdl:part name="part1" element="cat:doesUserExistResponse"/>
    </wsdl:message>

    <wsdl:message name="whiteboardId_RequestMessage">
        <wsdl:part name="part1" element="cat:whiteboardIdRequest"/>
    </wsdl:message>
    <wsdl:message name="whiteboardId_ResponseMessage">
        <wsdl:part name="part1" element="cat:whiteboardIdResponse"/>
    </wsdl:message>

    <!-- Create, Update, Move, and Delete Object Messages -->

    <wsdl:message name="createObject_RequestMessage">
        <wsdl:part name="part1" element="cat:createObjectRequest"/>
    </wsdl:message>
    <wsdl:message name="createObject_ResponseMessage">
        <wsdl:part name="part1" element="cat:createObjectResponse"/>
    </wsdl:message>

    <wsdl:message name="deleteObject_RequestMessage">
        <wsdl:part name="part1" element="cat:deleteObjectRequest"/>
    </wsdl:message>
    <wsdl:message name="deleteObject_ResponseMessage">
        <wsdl:part name="part1" element="cat:deleteObjectResponse"/>
    </wsdl:message>

    <wsdl:message name="moveObject_RequestMessage">
        <wsdl:part name="part1" element="cat:moveObjectRequest"/>
    </wsdl:message>
    <wsdl:message name="moveObject_ResponseMessage">
        <wsdl:part name="part1" element="cat:moveObjectResponse"/>
    </wsdl:message>

    <wsdl:message name="objectExists_RequestMessage">
        <wsdl:part name="part1" element="cat:objectExistsRequest"/>
    </wsdl:message>
    <wsdl:message name="objectExists_ResponseMessage">
        <wsdl:part name="part1" element="cat:objectExistsResponse"/>
    </wsdl:message>

    <wsdl:message name="addProperty_RequestMessage">
        <wsdl:part name="part1" element="cat:addPropertyRequest"/>
    </wsdl:message>
    <wsdl:message name="addProperty_ResponseMessage">
        <wsdl:part name="part1" element="cat:addPropertyResponse"/>
    </wsdl:message>

    <wsdl:message name="updateProperty_RequestMessage">
        <wsdl:part name="part1" element="cat:updatePropertyRequest"/>
    </wsdl:message>
    <wsdl:message name="updateProperty_ResponseMessage">
        <wsdl:part name="part1" element="cat:updatePropertyResponse"/>
    </wsdl:message>

    <wsdl:message name="deleteProperty_RequestMessage">
        <wsdl:part name="part1" element="cat:deletePropertyRequest"/>
    </wsdl:message>
    <wsdl:message name="deleteProperty_ResponseMessage">
        <wsdl:part name="part1" element="cat:deletePropertyResponse"/>
    </wsdl:message>

    <!-- Query Operations -->
    <wsdl:message name="contextQuery_RequestMessage">
        <wsdl:part name="part1" element="cat:contextQueryRequest"/>
    </wsdl:message>
    <wsdl:message name="contextQuery_ResponseMessage">
        <wsdl:part name="part1" element="cat:queryResponse"/>
    </wsdl:message>

    <wsdl:message name="objectIdQuery_RequestMessage">
        <wsdl:part name="part1" element="cat:objectIdQueryRequest"/>
    </wsdl:message>
    <wsdl:message name="objectIdQuery_ResponseMessage">
        <wsdl:part name="part1" element="cat:queryResponse"/>
    </wsdl:message>

    <wsdl:message name="allWorkspaceQuery_RequestMessage">
        <wsdl:part name="part1" element="cat:allWorkspaceQueryRequest"/>
    </wsdl:message>
    <wsdl:message name="allWorkspaceQuery_ResponseMessage">
        <wsdl:part name="part1" element="cat:queryResponse"/>
    </wsdl:message>

    <wsdl:message name="queryPropertyDefinitions_RequestMessage">
        <wsdl:part name="part1" element="cat:queryPropertyDefinitionsRequest"/>
    </wsdl:message>
    <wsdl:message name="queryPropertyDefinitions_ResponseMessage">
        <wsdl:part name="part1" element="cat:queryPropertyDefinitionsResponse"/>
    </wsdl:message>
    
    <!-- *********************************************************************** -->
    <!-- ***************************** PORT TYPES ****************************** -->
    <!-- *********************************************************************** -->
    <wsdl:portType name="CatalogPortType">

            <!-- Status Operations -->

	    <wsdl:operation name="checkStatus">
	        <wsdl:input message="tns:checkStatus_RequestMessage"/>
	        <wsdl:output message="tns:checkStatus_ResponseMessage"/>
	    </wsdl:operation>

            <!-- User Operations -->

	    <wsdl:operation name="createUser">
	        <wsdl:input message="tns:createUser_RequestMessage"/>
	        <wsdl:output message="tns:createUser_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="updateUser">
	        <wsdl:input message="tns:updateUser_RequestMessage"/>
	        <wsdl:output message="tns:updateUser_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="deleteUser">
	        <wsdl:input message="tns:deleteUser_RequestMessage"/>
	        <wsdl:output message="tns:deleteUser_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="queryUser">
	        <wsdl:input message="tns:queryUser_RequestMessage"/>
	        <wsdl:output message="tns:queryUser_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="doesUserExist">
	        <wsdl:input message="tns:doesUserExist_RequestMessage"/>
	        <wsdl:output message="tns:doesUserExist_ResponseMessage"/>
	    </wsdl:operation>

            <!-- Whiteboard Operation -->

	    <wsdl:operation name="whiteboardId">
	        <wsdl:input message="tns:whiteboardId_RequestMessage"/>
	        <wsdl:output message="tns:whiteboardId_ResponseMessage"/>
	    </wsdl:operation>


            <!-- Create, Update, Move, and Delete Object Operations -->

	    <wsdl:operation name="createObject">
	        <wsdl:input message="tns:createObject_RequestMessage"/>
	        <wsdl:output message="tns:createObject_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="deleteObject">
	        <wsdl:input message="tns:deleteObject_RequestMessage"/>
	        <wsdl:output message="tns:deleteObject_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="moveObject">
	        <wsdl:input message="tns:moveObject_RequestMessage"/>
	        <wsdl:output message="tns:moveObject_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="objectExists">
	        <wsdl:input message="tns:objectExists_RequestMessage"/>
	        <wsdl:output message="tns:objectExists_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="addProperty">
	        <wsdl:input message="tns:addProperty_RequestMessage"/>
	        <wsdl:output message="tns:addProperty_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="updateProperty">
	        <wsdl:input message="tns:updateProperty_RequestMessage"/>
	        <wsdl:output message="tns:updateProperty_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="deleteProperty">
	        <wsdl:input message="tns:deleteProperty_RequestMessage"/>
	        <wsdl:output message="tns:deleteProperty_ResponseMessage"/>
	    </wsdl:operation>

            <!-- Query Operations -->
	    <wsdl:operation name="query">
	        <wsdl:input message="tns:contextQuery_RequestMessage"/>
	        <wsdl:output message="tns:contextQuery_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="objectIdQuery">
	        <wsdl:input message="tns:objectIdQuery_RequestMessage"/>
	        <wsdl:output message="tns:objectIdQuery_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="allWorkspaceQuery">
	        <wsdl:input message="tns:allWorkspaceQuery_RequestMessage"/>
	        <wsdl:output message="tns:allWorkspaceQuery_ResponseMessage"/>
	    </wsdl:operation>

	    <wsdl:operation name="queryPropertyDefinitions">
	        <wsdl:input message="tns:queryPropertyDefinitions_RequestMessage"/>
	        <wsdl:output message="tns:queryPropertyDefinitions_ResponseMessage"/>
	    </wsdl:operation>

    </wsdl:portType>

    <!-- ************************************************************************* -->
    <!-- ***************************** BINDINGS ********************************** -->
    <!-- ************************************************************************* -->
     <wsdl:binding name="CatalogSoapBinding" type="tns:CatalogPortType">
	    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
	
            <!-- Status Operations -->

	    <wsdl:operation name="checkStatus">
		    <soap:operation soapAction="urn:checkStatus" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>


            <!-- User Operations -->

	    <wsdl:operation name="createUser">
		    <soap:operation soapAction="urn:createUser" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="updateUser">
		    <soap:operation soapAction="urn:updateUser" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="deleteUser">
		    <soap:operation soapAction="urn:deleteUser" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="queryUser">
		    <soap:operation soapAction="urn:queryUser" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="doesUserExist">
		    <soap:operation soapAction="urn:doesUserExist" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

            <!-- Whiteboard -->

	    <wsdl:operation name="whiteboardId">
		    <soap:operation soapAction="urn:whiteboardId" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

            <!-- Create, Update, Move, and Delete Object Operation -->

	    <wsdl:operation name="createObject">
		    <soap:operation soapAction="urn:createObject" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="deleteObject">
		    <soap:operation soapAction="urn:deleteObject" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="moveObject">
		    <soap:operation soapAction="urn:moveObject" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="objectExists">
		    <soap:operation soapAction="urn:objectExists" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="addProperty">
		    <soap:operation soapAction="urn:addProperty" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="updateProperty">
		    <soap:operation soapAction="urn:updateProperty" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="deleteProperty">
		    <soap:operation soapAction="urn:deleteProperty" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

            <!-- Query Operations -->
	    <wsdl:operation name="query">
		    <soap:operation soapAction="urn:query" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="objectIdQuery">
		    <soap:operation soapAction="urn:objectIdQuery" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="allWorkspaceQuery">
		    <soap:operation soapAction="urn:allWorkspaceQuery" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>

	    <wsdl:operation name="queryPropertyDefinitions">
		    <soap:operation soapAction="urn:queryPropertyDefinitions" style="document"/>
		    <wsdl:input>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:input>
		    <wsdl:output>
		        <soap:body use="literal" namespace="http://www.cs.indiana.edu/dde/namespaces/2008/02/catalog/service"/>
		    </wsdl:output>
	    </wsdl:operation>


    </wsdl:binding>

    <wsdl:service name="CatalogService">
        <wsdl:port name="CatalogPort" binding="tns:CatalogSoapBinding">
            <soap:address location="http://localhost:8080/axis2/services/CatalogService"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
