<commit_before><?xml version='1.0' encoding='UTF-8'?>
<!--
  ~ $Id$
  ~ $Revision$
  ~ $Date$
  ~ $Author$
  ~
  ~ The DOMS project.
  ~ Copyright (C) 2007-2010  The State and University Library
  ~
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you 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.
  -->

<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:tns="http://central.doms.statsbiblioteket.dk/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             targetNamespace="http://central.doms.statsbiblioteket.dk/"
             name="CentralWebserviceService">
    <types>
        <xsd:schema>
            <xsd:import
                    namespace="http://central.doms.statsbiblioteket.dk/"
                    schemaLocation="centralWebservice.xsd"/>
        </xsd:schema>
    </types>

    <message name="MethodFailedException">
        <part name="fault" element="tns:MethodFailedException"/>
    </message>

    <message name="InvalidResourceException">
        <part name="fault" element="tns:InvalidResourceException"/>
    </message>


    <message name="InvalidCredentialsException">
        <part name="fault" element="tns:InvalidCredentialsException"/>
    </message>


    <!--Object method messages-->
    <message name="newObject">
        <part name="parameters" element="tns:newObject"/>
    </message>
    <message name="newObjectResponse">
        <part name="parameters" element="tns:newObjectResponse"/>
    </message>

    <message name="getObjectProfile">
        <part name="parameters" element="tns:getObjectProfile"/>
    </message>
    <message name="getObjectProfileResponse">
        <part name="parameters" element="tns:getObjectProfileResponse"/>
    </message>


    <message name="setObjectLabel">
        <part name="parameters" element="tns:setObjectLabel"/>
    </message>
    <message name="setObjectLabelResponse">
        <part name="parameters" element="tns:setObjectLabelResponse"/>
    </message>


    <message name="deleteObject">
        <part name="parameters" element="tns:deleteObject"/>
    </message>
    <message name="deleteObjectResponse">
        <part name="parameters" element="tns:deleteObjectResponse"/>
    </message>

    <message name="markPublishedObject">
        <part name="parameters" element="tns:markPublishedObject"/>
    </message>
    <message name="markPublishedObjectResponse">
        <part name="parameters" element="tns:markPublishedObjectResponse"/>
    </message>
    <message name="markInProgressObject">
        <part name="parameters" element="tns:markInProgressObject"/>
    </message>
    <message name="markInProgressObjectResponse">
        <part name="parameters" element="tns:markInProgressObjectResponse"/>
    </message>
    <!--
        <message name="listDatastreamsObject">
            <part name="parameters" element="tns:listDatastreamsObject"/>
        </message>
        <message name="listDatastreamsObjectResponse">
            <part name="parameters" element="tns:listDatastreamsObjectResponse"/>
        </message>
        <message name="getTitleObject">
            <part name="parameters" element="tns:getTitleObject"/>
        </message>
        <message name="getTitleObjectResponse">
            <part name="parameters" element="tns:getTitleObjectResponse"/>
        </message>
    -->
    <!--Datastream method messages-->

    <!--
    <message name="newDatastream">
        <part name="parameters" element="tns:newDatastream"/>
    </message>
    <message name="newDatastreamResponse">
        <part name="parameters" element="tns:newDatastreamResponse"/>
    </message>
    <message name="deleteDatastream">
        <part name="parameters" element="tns:deleteDatastream"/>
    </message>
    <message name="deleteDatastreamResponse">
        <part name="parameters" element="tns:deleteDatastreamResponse"/>
    </message>-->
    <message name="modifyDatastream">
        <part name="parameters" element="tns:modifyDatastream"/>
    </message>
    <message name="modifyDatastreamResponse">
        <part name="parameters" element="tns:modifyDatastreamResponse"/>
    </message>
    <message name="getDatastreamContents">
        <part name="parameters" element="tns:getDatastreamContents"/>
    </message>
    <message name="getDatastreamContentsResponse">
        <part name="parameters" element="tns:getDatastreamContentsResponse"/>
    </message>
    <!--
        <message name="getDatastreamProfile">
            <part name="parameters" element="tns:getDatastreamProfile"/>
        </message>
        <message name="getDatastreamProfileResponse">
            <part name="parameters" element="tns:getDatastreamProfileResponse"/>
        </message>
    -->


    <!--File method messages -->


    <!--
        <message name="addFile">
            <part name="parameters" element="tns:addFile"/>
        </message>
        <message name="addFileResponse">
            <part name="parameters" element="tns:addFileResponse"/>
        </message>
    -->
    <message name="addFileFromPermanentURL">
        <part name="parameters" element="tns:addFileFromPermanentURL"/>
    </message>
    <message name="addFileFromPermanentURLResponse">
        <part name="parameters" element="tns:addFileFromPermanentURLResponse"/>
    </message>

    <message name="getFileObjectWithURL">
        <part name="parameters" element="tns:getFileObjectWithURL"/>
    </message>
    <message name="getFileObjectWithURLResponse">
        <part name="parameters" element="tns:getFileObjectWithURLResponse"/>
    </message>

    <!--
        <message name="deleteFile">
            <part name="parameters" element="tns:deleteFile"/>
        </message>
        <message name="deleteFileResponse">
            <part name="parameters" element="tns:deleteFileResponse"/>
        </message>
        <message name="getFileURL">
            <part name="parameters" element="tns:getFileURL"/>
        </message>
        <message name="getFileURLResponse">
            <part name="parameters" element="tns:getFileURLResponse"/>
        </message>
    -->


    <!--Relationship method messages -->


    <message name="addRelation">
        <part name="parameters" element="tns:addRelation"/>
    </message>
    <message name="addRelationResponse">
        <part name="parameters" element="tns:addRelationResponse"/>
    </message>

    <message name="getRelations">
        <part name="parameters" element="tns:getRelations"/>
    </message>
    <message name="getRelationsResponse">
        <part name="parameters" element="tns:getRelationsResponse"/>
    </message>
    <message name="getInverseRelations">
        <part name="parameters" element="tns:getInverseRelations"/>
    </message>
    <message name="getInverseRelationsResponse">
        <part name="parameters" element="tns:getInverseRelationsResponse"/>
    </message>
    <message name="getInverseRelationsWithPredicate">
        <part name="parameters" element="tns:getInverseRelationsWithPredicate"/>
    </message>
    <message name="getInverseRelationsWithPredicateResponse">
        <part name="parameters" element="tns:getInverseRelationsWithPredicateResponse"/>
    </message>



    <message name="getNamedRelations">
        <part name="parameters" element="tns:getNamedRelations"/>
    </message>
    <message name="getNamedRelationsResponse">
        <part name="parameters" element="tns:getNamedRelationsResponse"/>
    </message>
    <message name="deleteRelation">
        <part name="parameters" element="tns:deleteRelation"/>
    </message>
    <message name="deleteRelationResponse">
        <part name="parameters" element="tns:deleteRelationResponse"/>
    </message>


    <!--Search operations-->

    <message name="findObjects">
        <part name="parameters" element="tns:findObjects"/>
    </message>
    <message name="findObjectsResponse">
        <part name="parameters" element="tns:findObjectsResponse"/>
    </message>
    <!--
    <message name="listObjects">
        <part name="parameters" element="tns:listObjects"/>
    </message>
    <message name="listObjectsResponse">
        <part name="parameters" element="tns:listObjectsResponse"/>
    </message>
    <message name="riQuery">
        <part name="parameters" element="tns:riQuery"/>
    </message>
    <message name="riQueryResponse">
        <part name="parameters" element="tns:riQueryResponse"/>
    </message>

    -->

    <message name="findObjectFromDCIdendifier">
        <part name="parameters" element="tns:findObjectFromDCIdentifier"/>
    </message>
    <message name="findObjectFromDCIdendifierResponse">
        <part name="parameters" element="tns:findObjectFromDCIdentifierResponse"/>
    </message>


    <!--Structural method messages-->


    <message name="getViewBundle">
        <part name="parameters" element="tns:getViewBundle"/>
    </message>
    <message name="getViewBundleResponse">
        <part name="body" element="tns:getViewBundleResponse"/>
    </message>

    <message name="getIDsModified">
        <part name="parameters" element="tns:getIDsModified"/>
    </message>
    <message name="getIDsModifiedResponse">
        <part name="parameters" element="tns:getIDsModifiedResponse"/>
    </message>

    <message name="getLatestModified">
        <part name="parameters" element="tns:getLatestModified"/>
    </message>
    <message name="getLatestModifiedResponse">
        <part name="parameters" element="tns:getLatestModifiedResponse"/>
    </message>


    <message name="lockForWriting">
        <part name="parameters" element="tns:lockForWriting"/>
    </message>

    <message name="lockForWritingResponse">
        <part name="parameters" element="tns:lockForWritingResponse"/>
    </message>

    <message name="unlockForWriting">
        <part name="parameters" element="tns:unlockForWriting"/>
    </message>

    <message name="unlockForWritingResponse">
        <part name="parameters" element="tns:unlockForWritingResponse"/>
    </message>



    <message name="createTempAdminUser">
        <part name="parameters" element="tns:createTempAdminUser"/>
    </message>

    <message name="createTempAdminUserResponse">
        <part name="parameters" element="tns:createTempAdminUserResponse"/>
    </message>

    <message name="getObjectsInCollection">
        <part name="parameters" element="tns:getObjectsInCollection"/>
    </message>
    <message name="getObjectsInCollectionResponse">
        <part name="parameters" element="tns:getObjectsInCollectionResponse"/>
    </message>
    <!--
        <message name="getViewStructure">
            <part name="parameters" element="tns:getViewStructure"/>
        </message>
        <message name="getViewStructureResponse">
            <part name="parameters" element="tns:getViewStructureResponse"/>
        </message>
        <message name="listCollections">
            <part name="parameters" element="tns:listCollections"/>
        </message>
        <message name="listCollectionsResponse">
            <part name="parameters" element="tns:listCollectionsResponse"/>
        </message>
        <message name="getEntryTemplatesForCollection">
            <part name="parameters" element="tns:getEntryTemplatesForCollection"/>
        </message>
        <message name="getEntryTemplatesForCollectionResponse">
            <part name="parameters" element="tns:getEntryTemplatesForCollectionResponse"/>
        </message>
        <message name="getSubItemTemplates">
            <part name="parameters" element="tns:getSubItemTemplates"/>
        </message>
        <message name="getSubItemTemplatesResponse">
            <part name="parameters" element="tns:getSubItemTemplatesResponse"/>
        </message>
        <message name="addSubItem">
            <part name="parameters" element="tns:addSubItem"/>
        </message>
        <message name="addSubItemResponse">
            <part name="parameters" element="tns:addSubItemResponse"/>
        </message>
        <message name="getAllowedRelations">
            <part name="parameters" element="tns:getAllowedRelations"/>
        </message>
        <message name="getAllowedRelationsResponse">
            <part name="parameters" element="tns:getAllowedRelationsResponse"/>
        </message>
        <message name="listObjectsWithContentModel">
            <part name="parameters" element="tns:listObjectsWithContentModel"/>
        </message>
        <message name="listObjectsWithContentModelResponse">
            <part name="parameters" element="tns:listObjectsWithContentModelResponse"/>
        </message>
        <message name="getContentModel">
            <part name="parameters" element="tns:getContentModel"/>
        </message>
        <message name="getContentModelResponse">
            <part name="parameters" element="tns:getContentModelResponse"/>
        </message>
    -->

    <portType name="CentralWebservice">
        <documentation>Central interface to the DOMS system
        </documentation>
        <!--Object methods-->
        <operation name="newObject">
            <documentation>Create a new object. The new object is created by
                cloning
                the template, which is given (as a pid) to this method.
            </documentation>
            <input message="tns:newObject"/>
            <output message="tns:newObjectResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <operation name="getObjectProfile">
            <documentation>Get a profile representation of the object
            </documentation>
            <input  message="tns:getObjectProfile"/>
            <output message="tns:getObjectProfileResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>

        <operation name="setObjectLabel">
            <documentation>Set the object label, which is the canonical title</documentation>
            <input message="tns:setObjectLabel"/>
            <output message="tns:setObjectLabelResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>


        <operation name="deleteObject">
            <documentation>Given a PID, mark the object as deleted (note: object
                may only be undeleted by direct access to Fedora)
            </documentation>
            <input message="tns:deleteObject"/>
            <output message="tns:deleteObjectResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>

        <operation name="markPublishedObject">
            <documentation>Given list of Pids, mark each object as published.
                Will fail if object does not validate. If any of the objects
                fail
                to publish, the method will undo the publish, and mark all the
                already published objects in-progress.
                If a object is already published, the object will be validated,
                but the method will not fail (but if the validation fails, the
                method fails)
            </documentation>
            <input message="tns:markPublishedObject"/>
            <output message="tns:markPublishedObjectResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <operation name="markInProgressObject">
            <documentation>Given a list of pids, mark each object as
                in-progress.
                If any of the objects fail this marking, nothing furhter
                happens.
            </documentation>
            <input message="tns:markInProgressObject"/>
            <output message="tns:markInProgressObjectResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <!--
                <operation name="listDatastreamsObject">
                    <documentation>Given a PID, list datastream names in object.
                    </documentation>
                    <input message="tns:listDatastreamsObject"/>
                    <output message="tns:listDatastreamsObjectResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
                <operation name="getTitleObject">
                    <documentation>Given a PID, return the title of the object.
                    </documentation>
                    <input message="tns:getTitleObject"/>
                    <output message="tns:getTitleObjectResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
        -->

        <!--Datastream methods-->

        <!--

                <operation name="newDatastream">
                    <documentation>Given a pid and a datastream name, add a datastream
                        with that name, and given content. Will fail if name already
                        exists with different content.
                    </documentation>
                    <input message="tns:newDatastream"/>
                    <output message="tns:newDatastreamResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
                <operation name="deleteDatastream">
                    <documentation>Given a pid and a datastream name, mark that datastream as deleted.
                    </documentation>
                    <input message="tns:deleteDatastream"/>
                    <output message="tns:deleteDatastreamResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
        -->
        <operation name="modifyDatastream">
            <documentation>Given a pid and a datastream name, replace the
                contents of that datastream with the given content.
                Will fail of datastream or the object does not exist.
                The content must be valid XML.
            </documentation>
            <input message="tns:modifyDatastream"/>
            <output message="tns:modifyDatastreamResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <operation name="getDatastreamContents">
            <documentation>Given a pid and a datastream, return the datastream
                content. Will fail of datastream or object does not exist. The
                datastream content is returned as a String, so only use this
                method for getting xml content, not the binary files.
            </documentation>
            <input message="tns:getDatastreamContents"/>
            <output message="tns:getDatastreamContentsResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <!--
                <operation name="getDatastreamProfile">
                    <documentation>Given a pid and a datastream, return the datastream
                        profile. Will fail of datastream does not exist.
                    </documentation>
                    <input message="tns:getDatastreamProfile"/>
                    <output message="tns:getDatastreamProfileResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
        --><commit_msg>Fix typos in wsdl<commit_after><?xml version='1.0' encoding='UTF-8'?>
<!--
  ~ $Id$
  ~ $Revision$
  ~ $Date$
  ~ $Author$
  ~
  ~ The DOMS project.
  ~ Copyright (C) 2007-2010  The State and University Library
  ~
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you 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.
  -->

<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:tns="http://central.doms.statsbiblioteket.dk/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             targetNamespace="http://central.doms.statsbiblioteket.dk/"
             name="CentralWebserviceService">
    <types>
        <xsd:schema>
            <xsd:import
                    namespace="http://central.doms.statsbiblioteket.dk/"
                    schemaLocation="centralWebservice.xsd"/>
        </xsd:schema>
    </types>

    <message name="MethodFailedException">
        <part name="fault" element="tns:MethodFailedException"/>
    </message>

    <message name="InvalidResourceException">
        <part name="fault" element="tns:InvalidResourceException"/>
    </message>


    <message name="InvalidCredentialsException">
        <part name="fault" element="tns:InvalidCredentialsException"/>
    </message>


    <!--Object method messages-->
    <message name="newObject">
        <part name="parameters" element="tns:newObject"/>
    </message>
    <message name="newObjectResponse">
        <part name="parameters" element="tns:newObjectResponse"/>
    </message>

    <message name="getObjectProfile">
        <part name="parameters" element="tns:getObjectProfile"/>
    </message>
    <message name="getObjectProfileResponse">
        <part name="parameters" element="tns:getObjectProfileResponse"/>
    </message>


    <message name="setObjectLabel">
        <part name="parameters" element="tns:setObjectLabel"/>
    </message>
    <message name="setObjectLabelResponse">
        <part name="parameters" element="tns:setObjectLabelResponse"/>
    </message>


    <message name="deleteObject">
        <part name="parameters" element="tns:deleteObject"/>
    </message>
    <message name="deleteObjectResponse">
        <part name="parameters" element="tns:deleteObjectResponse"/>
    </message>

    <message name="markPublishedObject">
        <part name="parameters" element="tns:markPublishedObject"/>
    </message>
    <message name="markPublishedObjectResponse">
        <part name="parameters" element="tns:markPublishedObjectResponse"/>
    </message>
    <message name="markInProgressObject">
        <part name="parameters" element="tns:markInProgressObject"/>
    </message>
    <message name="markInProgressObjectResponse">
        <part name="parameters" element="tns:markInProgressObjectResponse"/>
    </message>
    <!--
        <message name="listDatastreamsObject">
            <part name="parameters" element="tns:listDatastreamsObject"/>
        </message>
        <message name="listDatastreamsObjectResponse">
            <part name="parameters" element="tns:listDatastreamsObjectResponse"/>
        </message>
        <message name="getTitleObject">
            <part name="parameters" element="tns:getTitleObject"/>
        </message>
        <message name="getTitleObjectResponse">
            <part name="parameters" element="tns:getTitleObjectResponse"/>
        </message>
    -->
    <!--Datastream method messages-->

    <!--
    <message name="newDatastream">
        <part name="parameters" element="tns:newDatastream"/>
    </message>
    <message name="newDatastreamResponse">
        <part name="parameters" element="tns:newDatastreamResponse"/>
    </message>
    <message name="deleteDatastream">
        <part name="parameters" element="tns:deleteDatastream"/>
    </message>
    <message name="deleteDatastreamResponse">
        <part name="parameters" element="tns:deleteDatastreamResponse"/>
    </message>-->
    <message name="modifyDatastream">
        <part name="parameters" element="tns:modifyDatastream"/>
    </message>
    <message name="modifyDatastreamResponse">
        <part name="parameters" element="tns:modifyDatastreamResponse"/>
    </message>
    <message name="getDatastreamContents">
        <part name="parameters" element="tns:getDatastreamContents"/>
    </message>
    <message name="getDatastreamContentsResponse">
        <part name="parameters" element="tns:getDatastreamContentsResponse"/>
    </message>
    <!--
        <message name="getDatastreamProfile">
            <part name="parameters" element="tns:getDatastreamProfile"/>
        </message>
        <message name="getDatastreamProfileResponse">
            <part name="parameters" element="tns:getDatastreamProfileResponse"/>
        </message>
    -->


    <!--File method messages -->


    <!--
        <message name="addFile">
            <part name="parameters" element="tns:addFile"/>
        </message>
        <message name="addFileResponse">
            <part name="parameters" element="tns:addFileResponse"/>
        </message>
    -->
    <message name="addFileFromPermanentURL">
        <part name="parameters" element="tns:addFileFromPermanentURL"/>
    </message>
    <message name="addFileFromPermanentURLResponse">
        <part name="parameters" element="tns:addFileFromPermanentURLResponse"/>
    </message>

    <message name="getFileObjectWithURL">
        <part name="parameters" element="tns:getFileObjectWithURL"/>
    </message>
    <message name="getFileObjectWithURLResponse">
        <part name="parameters" element="tns:getFileObjectWithURLResponse"/>
    </message>

    <!--
        <message name="deleteFile">
            <part name="parameters" element="tns:deleteFile"/>
        </message>
        <message name="deleteFileResponse">
            <part name="parameters" element="tns:deleteFileResponse"/>
        </message>
        <message name="getFileURL">
            <part name="parameters" element="tns:getFileURL"/>
        </message>
        <message name="getFileURLResponse">
            <part name="parameters" element="tns:getFileURLResponse"/>
        </message>
    -->


    <!--Relationship method messages -->


    <message name="addRelation">
        <part name="parameters" element="tns:addRelation"/>
    </message>
    <message name="addRelationResponse">
        <part name="parameters" element="tns:addRelationResponse"/>
    </message>

    <message name="getRelations">
        <part name="parameters" element="tns:getRelations"/>
    </message>
    <message name="getRelationsResponse">
        <part name="parameters" element="tns:getRelationsResponse"/>
    </message>
    <message name="getInverseRelations">
        <part name="parameters" element="tns:getInverseRelations"/>
    </message>
    <message name="getInverseRelationsResponse">
        <part name="parameters" element="tns:getInverseRelationsResponse"/>
    </message>
    <message name="getInverseRelationsWithPredicate">
        <part name="parameters" element="tns:getInverseRelationsWithPredicate"/>
    </message>
    <message name="getInverseRelationsWithPredicateResponse">
        <part name="parameters" element="tns:getInverseRelationsWithPredicateResponse"/>
    </message>



    <message name="getNamedRelations">
        <part name="parameters" element="tns:getNamedRelations"/>
    </message>
    <message name="getNamedRelationsResponse">
        <part name="parameters" element="tns:getNamedRelationsResponse"/>
    </message>
    <message name="deleteRelation">
        <part name="parameters" element="tns:deleteRelation"/>
    </message>
    <message name="deleteRelationResponse">
        <part name="parameters" element="tns:deleteRelationResponse"/>
    </message>


    <!--Search operations-->

    <message name="findObjects">
        <part name="parameters" element="tns:findObjects"/>
    </message>
    <message name="findObjectsResponse">
        <part name="parameters" element="tns:findObjectsResponse"/>
    </message>
    <!--
    <message name="listObjects">
        <part name="parameters" element="tns:listObjects"/>
    </message>
    <message name="listObjectsResponse">
        <part name="parameters" element="tns:listObjectsResponse"/>
    </message>
    <message name="riQuery">
        <part name="parameters" element="tns:riQuery"/>
    </message>
    <message name="riQueryResponse">
        <part name="parameters" element="tns:riQueryResponse"/>
    </message>

    -->

    <message name="findObjectFromDCIdendifier">
        <part name="parameters" element="tns:findObjectFromDCIdentifier"/>
    </message>
    <message name="findObjectFromDCIdendifierResponse">
        <part name="parameters" element="tns:findObjectFromDCIdentifierResponse"/>
    </message>


    <!--Structural method messages-->


    <message name="getViewBundle">
        <part name="parameters" element="tns:getViewBundle"/>
    </message>
    <message name="getViewBundleResponse">
        <part name="body" element="tns:getViewBundleResponse"/>
    </message>

    <message name="getIDsModified">
        <part name="parameters" element="tns:getIDsModified"/>
    </message>
    <message name="getIDsModifiedResponse">
        <part name="parameters" element="tns:getIDsModifiedResponse"/>
    </message>

    <message name="getLatestModified">
        <part name="parameters" element="tns:getLatestModified"/>
    </message>
    <message name="getLatestModifiedResponse">
        <part name="parameters" element="tns:getLatestModifiedResponse"/>
    </message>


    <message name="lockForWriting">
        <part name="parameters" element="tns:lockForWriting"/>
    </message>

    <message name="lockForWritingResponse">
        <part name="parameters" element="tns:lockForWritingResponse"/>
    </message>

    <message name="unlockForWriting">
        <part name="parameters" element="tns:unlockForWriting"/>
    </message>

    <message name="unlockForWritingResponse">
        <part name="parameters" element="tns:unlockForWritingResponse"/>
    </message>



    <message name="createTempAdminUser">
        <part name="parameters" element="tns:createTempAdminUser"/>
    </message>

    <message name="createTempAdminUserResponse">
        <part name="parameters" element="tns:createTempAdminUserResponse"/>
    </message>

    <message name="getObjectsInCollection">
        <part name="parameters" element="tns:getObjectsInCollection"/>
    </message>
    <message name="getObjectsInCollectionResponse">
        <part name="parameters" element="tns:getObjectsInCollectionResponse"/>
    </message>
    <!--
        <message name="getViewStructure">
            <part name="parameters" element="tns:getViewStructure"/>
        </message>
        <message name="getViewStructureResponse">
            <part name="parameters" element="tns:getViewStructureResponse"/>
        </message>
        <message name="listCollections">
            <part name="parameters" element="tns:listCollections"/>
        </message>
        <message name="listCollectionsResponse">
            <part name="parameters" element="tns:listCollectionsResponse"/>
        </message>
        <message name="getEntryTemplatesForCollection">
            <part name="parameters" element="tns:getEntryTemplatesForCollection"/>
        </message>
        <message name="getEntryTemplatesForCollectionResponse">
            <part name="parameters" element="tns:getEntryTemplatesForCollectionResponse"/>
        </message>
        <message name="getSubItemTemplates">
            <part name="parameters" element="tns:getSubItemTemplates"/>
        </message>
        <message name="getSubItemTemplatesResponse">
            <part name="parameters" element="tns:getSubItemTemplatesResponse"/>
        </message>
        <message name="addSubItem">
            <part name="parameters" element="tns:addSubItem"/>
        </message>
        <message name="addSubItemResponse">
            <part name="parameters" element="tns:addSubItemResponse"/>
        </message>
        <message name="getAllowedRelations">
            <part name="parameters" element="tns:getAllowedRelations"/>
        </message>
        <message name="getAllowedRelationsResponse">
            <part name="parameters" element="tns:getAllowedRelationsResponse"/>
        </message>
        <message name="listObjectsWithContentModel">
            <part name="parameters" element="tns:listObjectsWithContentModel"/>
        </message>
        <message name="listObjectsWithContentModelResponse">
            <part name="parameters" element="tns:listObjectsWithContentModelResponse"/>
        </message>
        <message name="getContentModel">
            <part name="parameters" element="tns:getContentModel"/>
        </message>
        <message name="getContentModelResponse">
            <part name="parameters" element="tns:getContentModelResponse"/>
        </message>
    -->

    <portType name="CentralWebservice">
        <documentation>Central interface to the DOMS system
        </documentation>
        <!--Object methods-->
        <operation name="newObject">
            <documentation>Create a new object. The new object is created by
                cloning
                the template, which is given (as a pid) to this method.
            </documentation>
            <input message="tns:newObject"/>
            <output message="tns:newObjectResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <operation name="getObjectProfile">
            <documentation>Get a profile representation of the object
            </documentation>
            <input  message="tns:getObjectProfile"/>
            <output message="tns:getObjectProfileResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>

        <operation name="setObjectLabel">
            <documentation>Set the object label, which is the canonical title</documentation>
            <input message="tns:setObjectLabel"/>
            <output message="tns:setObjectLabelResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>


        <operation name="deleteObject">
            <documentation>Given a PID, mark the object as deleted (note: object
                may only be undeleted by direct access to Fedora)
            </documentation>
            <input message="tns:deleteObject"/>
            <output message="tns:deleteObjectResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>

        <operation name="markPublishedObject">
            <documentation>Given list of Pids, mark each object as published.
                Will fail if object does not validate. If any of the objects
                fail
                to publish, the method will undo the publish, and mark all the
                already published objects in-progress.
                If a object is already published, the object will be validated,
                but the method will not fail (but if the validation fails, the
                method fails)
            </documentation>
            <input message="tns:markPublishedObject"/>
            <output message="tns:markPublishedObjectResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <operation name="markInProgressObject">
            <documentation>Given a list of pids, mark each object as
                in-progress.
                If any of the objects fail this marking, nothing furhter
                happens.
            </documentation>
            <input message="tns:markInProgressObject"/>
            <output message="tns:markInProgressObjectResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <!--
                <operation name="listDatastreamsObject">
                    <documentation>Given a PID, list datastream names in object.
                    </documentation>
                    <input message="tns:listDatastreamsObject"/>
                    <output message="tns:listDatastreamsObjectResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
                <operation name="getTitleObject">
                    <documentation>Given a PID, return the title of the object.
                    </documentation>
                    <input message="tns:getTitleObject"/>
                    <output message="tns:getTitleObjectResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
        -->

        <!--Datastream methods-->

        <!--

                <operation name="newDatastream">
                    <documentation>Given a pid and a datastream name, add a datastream
                        with that name, and given content. Will fail if name already
                        exists with different content.
                    </documentation>
                    <input message="tns:newDatastream"/>
                    <output message="tns:newDatastreamResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
                <operation name="deleteDatastream">
                    <documentation>Given a pid and a datastream name, mark that datastream as deleted.
                    </documentation>
                    <input message="tns:deleteDatastream"/>
                    <output message="tns:deleteDatastreamResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
        -->
        <operation name="modifyDatastream">
            <documentation>Given a pid and a datastream name, replace the
                contents of that datastream with the given content.
                Will fail if datastream or the object does not exist.
                The content must be valid XML.
            </documentation>
            <input message="tns:modifyDatastream"/>
            <output message="tns:modifyDatastreamResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <operation name="getDatastreamContents">
            <documentation>Given a pid and a datastream, return the datastream
                content. Will fail if datastream or object does not exist. The
                datastream content is returned as a String, so only use this
                method for getting xml content, not the binary files.
            </documentation>
            <input message="tns:getDatastreamContents"/>
            <output message="tns:getDatastreamContentsResponse"/>
            <fault name="InvalidCredentialsException"
                   message="tns:InvalidCredentialsException"/>
            <fault name="MethodFailedException"
                   message="tns:MethodFailedException"/>
            <fault name="InvalidResourceException"
                   message="tns:InvalidResourceException"/>
        </operation>
        <!--
                <operation name="getDatastreamProfile">
                    <documentation>Given a pid and a datastream, return the datastream
                        profile. Will fail if datastream does not exist.
                    </documentation>
                    <input message="tns:getDatastreamProfile"/>
                    <output message="tns:getDatastreamProfileResponse"/>
                    <fault name="InvalidCredentialsException"
                           message="tns:InvalidCredentialsException"/>
                    <fault name="MethodFailedException" message="tns:MethodFailedException"/>
                </operation>
        -->
{'fraction_non_alphanumeric': 0.11558730020469492, 'fraction_numerical': 0.0008710422019946866, 'mean_word_length': 2.6120025169104926, 'pattern_counts': {'":': 0, '<': 819, '<?xml version=': 2, '>': 819, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 16}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4046810', 'n_tokens_mistral': 11535, 'n_tokens_neox': 10999, 'n_words': 2399}