<application xmlns="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:prefix1="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:prefix3="http://ns.taverna.org.uk/2010/xml/server/" xmlns:prefix10="http://ns.taverna.org.uk/2010/port/"><grammars><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/" xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/" xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:tns="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ns.taverna.org.uk/2010/xml/server/rest/">
    <xs:import namespace="http://ns.taverna.org.uk/2010/xml/server/"/>
    <xs:import namespace="http://www.w3.org/1999/xlink"/>
    <xs:element name="capabilities">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="capability" type="ts:Capability"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="credential" type="ts-rest:Credential"/>
    <xs:element name="credentials" type="ts-rest:credentialList"/>
    <xs:element name="directoryContents" type="ts-rest:DirectoryContents"/>
    <xs:element name="enabledNotificationFabrics">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="notifier" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="filesystemOperation" type="ts-rest:FilesystemCreationOperation"/>
    <xs:element name="listenerDefinition" type="ts-rest:ListenerDefinition"/>
    <xs:element name="listenerDescription" type="ts-rest:ListenerDescription"/>
    <xs:element name="listeners">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="ts:VersionedElement">
                    <xs:sequence>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="listener" type="ts-rest:ListenerDescription"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="mkdir" type="ts-rest:MakeDirectory"/>
    <xs:element name="permissionUpdate" type="ts-rest:permissionDescription"/>
    <xs:element name="permissionsDescriptor" type="ts-rest:permissionsDescription"/>
    <xs:element name="permittedListeners">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="type" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="permittedWorkflows">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="workflow" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="policyDescription">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="ts:VersionedElement">
                    <xs:sequence>
                        <xs:element minOccurs="0" name="runLimit" type="ts:Location"/>
                        <xs:element minOccurs="0" name="operatingLimit" type="ts:Location"/>
                        <xs:element minOccurs="0" name="permittedWorkflows" type="ts:Location"/>
                        <xs:element minOccurs="0" name="permittedListenerTypes" type="ts:Location"/>
                        <xs:element minOccurs="0" name="enabledNotificationFabrics" type="ts:Location"/>
                        <xs:element minOccurs="0" name="capabilities" type="ts:Location"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="properties">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="ts:VersionedElement">
                    <xs:sequence>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="ts-rest:PropertyDescription"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="runDescription">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="ts:VersionedElement">
                    <xs:sequence>
                        <xs:element minOccurs="0" name="expiry">
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="xs:string">
                                        <xs:attribute ref="xlink:href"/>
                                    </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                        <xs:element minOccurs="0" name="creationWorkflow" type="ts:Location"/>
                        <xs:element minOccurs="0" name="createTime" type="ts:Location"/>
                        <xs:element minOccurs="0" name="startTime" type="ts:Location"/>
                        <xs:element minOccurs="0" name="finishTime" type="ts:Location"/>
                        <xs:element minOccurs="0" name="status" type="ts:Location"/>
                        <xs:element minOccurs="0" name="workingDirectory" type="ts:Location"/>
                        <xs:element minOccurs="0" name="inputs" type="ts:Location"/>
                        <xs:element minOccurs="0" name="output" type="ts:Location"/>
                        <xs:element minOccurs="0" name="securityContext" type="ts:Location"/>
                        <xs:element minOccurs="0" name="listeners">
                            <xs:complexType>
                                <xs:complexContent>
                                    <xs:extension base="ts:Location">
                                        <xs:sequence>
                                            <xs:element maxOccurs="unbounded" minOccurs="0" name="listener" nillable="true" type="ts:Location"/>
                                        </xs:sequence>
                                    </xs:extension>
                                </xs:complexContent>
                            </xs:complexType>
                        </xs:element>
                        <xs:element minOccurs="0" name="interaction" type="ts:Location"/>
                        <xs:element minOccurs="0" name="name" type="ts:Location"/>
                        <xs:element minOccurs="0" name="stdout" type="ts:Location"/>
                        <xs:element minOccurs="0" name="stderr" type="ts:Location"/>
                        <xs:element minOccurs="0" name="usage" type="ts:Location"/>
                        <xs:element minOccurs="0" name="log" type="ts:Location"/>
                        <xs:element minOccurs="0" name="run-bundle" type="ts:Location"/>
                        <xs:element minOccurs="0" name="generate-provenance" type="ts:Location"/>
                    </xs:sequence>
                    <xs:attribute ref="ts-rest:owner"/>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="runInput" type="ts-rest:InputDescription"/>
    <xs:element name="runInputs" type="ts-rest:TavernaRunInputs"/>
    <xs:element name="runList">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" minOccurs="0" name="run" type="ts:TavernaRun"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="securityDescriptor" type="ts-rest:SecurityDescriptor"/>
    <xs:element name="serverDescription">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="ts:VersionedElement">
                    <xs:sequence>
                        <xs:element minOccurs="0" name="runs" type="ts:Location"/>
                        <xs:element minOccurs="0" name="policy" type="ts:Location"/>
                        <xs:element minOccurs="0" name="feed" type="ts:Location"/>
                        <xs:element minOccurs="0" name="interactionFeed" type="ts:Location"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="trustedIdentities" type="ts-rest:trustList"/>
    <xs:element name="upload" type="ts-rest:UploadFile"/>
    <xs:element name="userPermission" type="ts-rest:linkedPermissionDescription"/>
    <xs:complexType name="InputDescription">
        <xs:complexContent>
            <xs:extension base="ts:VersionedElement">
                <xs:sequence>
                    <xs:choice minOccurs="0">
                        <xs:element name="file">
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="ts-rest:InputContents"/>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="reference">
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="ts-rest:InputContents"/>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="value">
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="ts-rest:InputContents"/>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                    </xs:choice>
                </xs:sequence>
                <xs:attribute ref="ts-rest:name"/>
                <xs:attribute ref="ts-rest:descriptorRef"/>
                <xs:attribute ref="ts-rest:listDelimiter"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:simpleType name="InputContents">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <xs:complexType name="DirectoryContents">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded" minOccurs="0">
                <xs:element ref="ts:dir"/>
                <xs:element ref="ts:file"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="FilesystemCreationOperation">
        <xs:simpleContent>
            <xs:extension base="xs:base64Binary">
                <xs:attribute ref="ts-rest:name"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="MakeDirectory">
        <xs:simpleContent>
            <xs:extension base="ts-rest:FilesystemCreationOperation"/>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="UploadFile">
        <xs:simpleContent>
            <xs:extension base="ts-rest:FilesystemCreationOperation"/>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType final="extension restriction" name="SecurityDescriptor">
        <xs:complexContent>
            <xs:extension base="ts:VersionedElement">
                <xs:sequence>
                    <xs:element minOccurs="0" name="owner" type="xs:string"/>
                    <xs:element minOccurs="0" name="permissions" type="ts:Location"/>
                    <xs:element minOccurs="0" name="credentials" type="ts-rest:CredentialCollection"/>
                    <xs:element minOccurs="0" name="trusts" type="ts-rest:TrustCollection"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType final="extension restriction" name="CredentialCollection">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" ref="ts-rest:credential"/>
        </xs:sequence>
        <xs:attribute ref="xlink:href"/>
    </xs:complexType>
    <xs:complexType final="extension restriction" name="Credential">
        <xs:choice>
            <xs:element ref="ts:keypair"/>
            <xs:element ref="ts:userpass"/>
        </xs:choice>
    </xs:complexType>
    <xs:complexType final="extension restriction" name="TrustCollection">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="trust" type="ts:TrustDescriptor"/>
        </xs:sequence>
        <xs:attribute ref="xlink:href"/>
    </xs:complexType>
    <xs:complexType final="extension restriction" name="credentialList">
        <xs:complexContent>
            <xs:extension base="ts:VersionedElement">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" ref="ts-rest:credential"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType final="extension restriction" name="trustList">
        <xs:complexContent>
            <xs:extension base="ts:VersionedElement">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="trust" type="ts:TrustDescriptor"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ListenerDescription">
        <xs:complexContent>
            <xs:extension base="ts:VersionedElement">
                <xs:sequence>
                    <xs:element minOccurs="0" name="configuration" type="ts:Location"/>
                    <xs:element minOccurs="0" name="properties">
                        <xs:complexType>
                            <xs:sequence>
                                <xs:element maxOccurs="unbounded" minOccurs="0" name="property" type="ts-rest:PropertyDescription"/>
                            </xs:sequence>
                        </xs:complexType>
                    </xs:element>
                </xs:sequence>
                <xs:attribute ref="xlink:href"/>
                <xs:attribute ref="ts-rest:name"/>
                <xs:attribute ref="ts-rest:type"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PropertyDescription">
        <xs:complexContent>
            <xs:extension base="ts:Location">
                <xs:sequence/>
                <xs:attribute ref="ts-rest:name"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TavernaRunInputs">
        <xs:complexContent>
            <xs:extension base="ts:VersionedElement">
                <xs:sequence>
                    <xs:element minOccurs="0" name="expected" type="ts:Location"/>
                    <xs:element minOccurs="0" name="baclava" type="ts:Location"/>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="input" nillable="true" type="ts:Location"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="permissionsDescription">
        <xs:complexContent>
            <xs:extension base="ts:VersionedElement">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="permission" type="ts-rest:linkedPermissionDescription"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="linkedPermissionDescription">
        <xs:complexContent>
            <xs:extension base="ts:Location">
                <xs:sequence>
                    <xs:element minOccurs="0" name="userName" type="xs:string"/>
                    <xs:element minOccurs="0" name="permission" type="ts:Permission"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ListenerDefinition">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute ref="ts-rest:type"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="permissionDescription">
        <xs:sequence>
            <xs:element minOccurs="0" name="userName" type="xs:string"/>
            <xs:element minOccurs="0" name="permission" type="ts:Permission"/>
        </xs:sequence>
    </xs:complexType>
    <xs:attribute name="descriptorRef" type="xs:anyURI"/>
    <xs:attribute name="listDelimiter" type="xs:string"/>
    <xs:attribute name="name" type="xs:string"/>
    <xs:attribute name="owner" type="xs:string"/>
    <xs:attribute name="type" type="xs:string"/>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xlink" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.w3.org/1999/xlink">
    <xs:attribute name="href" type="xs:string"/>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:admin="http://ns.taverna.org.uk/2010/xml/server/admin/" xmlns:feed="http://ns.taverna.org.uk/2010/xml/server/feed/" xmlns:tns="http://ns.taverna.org.uk/2010/xml/server/" xmlns:ts="http://ns.taverna.org.uk/2010/xml/server/" xmlns:ts-rest="http://ns.taverna.org.uk/2010/xml/server/rest/" xmlns:ts-soap="http://ns.taverna.org.uk/2010/xml/server/soap/" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ns.taverna.org.uk/2010/xml/server/">
    <xs:import namespace="http://www.w3.org/1999/xlink"/>
    <xs:element name="capability" type="ts:Capability"/>
    <xs:element name="dir" type="ts:DirectoryReference"/>
    <xs:element name="file" type="ts:FileReference"/>
    <xs:element name="keypair" type="ts:KeyPairCredential"/>
    <xs:element name="runReference" type="ts:TavernaRun"/>
    <xs:element name="trustedIdentity" type="ts:TrustDescriptor"/>
    <xs:element name="userpass" type="ts:PasswordCredential"/>
    <xs:element name="workflow" type="ts:Workflow"/>
    <xs:complexType abstract="true" name="VersionedElement">
        <xs:sequence/>
        <xs:attribute ref="ts:serverVersion"/>
        <xs:attribute ref="ts:serverRevision"/>
        <xs:attribute ref="ts:serverBuildTimestamp"/>
    </xs:complexType>
    <xs:complexType name="DirectoryEntry">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute ref="xlink:href"/>
                <xs:attribute ref="ts:name"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="DirectoryReference">
        <xs:simpleContent>
            <xs:extension base="ts:DirectoryEntry"/>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="FileReference">
        <xs:simpleContent>
            <xs:extension base="ts:DirectoryEntry"/>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="Location">
        <xs:sequence/>
        <xs:attribute ref="xlink:href"/>
    </xs:complexType>
    <xs:complexType name="KeyPairCredential">
        <xs:complexContent>
            <xs:extension base="ts:CredentialDescriptor">
                <xs:sequence>
                    <xs:element name="credentialName" type="xs:string"/>
                    <xs:element minOccurs="0" name="credentialFile" type="xs:string"/>
                    <xs:element minOccurs="0" name="fileType" type="xs:string"/>
                    <xs:element minOccurs="0" name="unlockPassword" type="xs:string"/>
                    <xs:element minOccurs="0" name="credentialBytes" type="xs:base64Binary"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="CredentialDescriptor">
        <xs:sequence>
            <xs:element minOccurs="0" name="serviceURI" type="xs:anyURI"/>
        </xs:sequence>
        <xs:attribute ref="xlink:href"/>
    </xs:complexType>
    <xs:complexType name="PasswordCredential">
        <xs:complexContent>
            <xs:extension base="ts:CredentialDescriptor">
                <xs:sequence>
                    <xs:element name="username" type="xs:string"/>
                    <xs:element name="password" type="xs:string"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType final="extension restriction" name="TrustDescriptor">
        <xs:sequence>
            <xs:element minOccurs="0" name="certificateFile" type="xs:string"/>
            <xs:element minOccurs="0" name="fileType" type="xs:string"/>
            <xs:element minOccurs="0" name="certificateBytes" type="xs:base64Binary"/>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="serverName" type="xs:string"/>
        </xs:sequence>
        <xs:attribute ref="xlink:href"/>
    </xs:complexType>
    <xs:complexType name="Capability">
        <xs:sequence/>
        <xs:attribute ref="ts:capability"/>
        <xs:attribute ref="ts:version"/>
    </xs:complexType>
    <xs:complexType name="TavernaRun">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute ref="xlink:href"/>
                <xs:attribute ref="ts:serverVersion"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:complexType name="Workflow">
        <xs:sequence>
            <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="Permission">
        <xs:restriction base="xs:string">
            <xs:enumeration value="none"/>
            <xs:enumeration value="read"/>
            <xs:enumeration value="update"/>
            <xs:enumeration value="destroy"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:attribute name="capability" type="xs:anyURI"/>
    <xs:attribute name="name" type="xs:string"/>
    <xs:attribute name="serverBuildTimestamp" type="xs:string"/>
    <xs:attribute name="serverRevision" type="xs:string"/>
    <xs:attribute name="serverVersion" type="xs:string"/>
    <xs:attribute name="version" type="xs:string"/>
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:port="http://ns.taverna.org.uk/2010/port/" xmlns:run="http://ns.taverna.org.uk/2010/run/" xmlns:tns="http://ns.taverna.org.uk/2010/port/" xmlns:xlink="http://www.w3.org/1999/xlink" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ns.taverna.org.uk/2010/port/">
    <xs:import namespace="http://www.w3.org/1999/xlink"/>
    <xs:element name="inputDescription" type="port:inputDescription"/>
    <xs:element name="workflowOutputs" type="port:outputDescription"/>
    <xs:complexType name="inputDescription">
        <xs:complexContent>
            <xs:extension base="port:PortDescription">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="input" type="port:InputPort"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="PortDescription">
        <xs:sequence/>
        <xs:attribute ref="port:workflowId"/>
        <xs:attribute ref="port:workflowRun"/>
        <xs:attribute ref="port:workflowRunId"/>
    </xs:complexType>
    <xs:complexType name="InputPort">
        <xs:complexContent>
            <xs:extension base="port:Port">
                <xs:sequence/>
                <xs:attribute ref="xlink:href"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="Port">
        <xs:sequence/>
        <xs:attribute ref="port:name" use="required"/>
        <xs:attribute ref="port:depth"/>
    </xs:complexType>
    <xs:complexType name="outputDescription">
        <xs:complexContent>
            <xs:extension base="port:PortDescription">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="output" type="port:OutputPort"/>
                </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="OutputPort">
        <xs:complexContent>
            <xs:extension base="port:Port">
                <xs:choice>
                    <xs:element name="value" type="port:LeafValue"/>
                    <xs:element name="list" type="port:ListValue"/>
                    <xs:element name="error" type="port:ErrorValue"/>
                    <xs:element name="absent" type="port:AbsentValue"/>
                </xs:choice>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="LeafValue">
        <xs:complexContent>
            <xs:extension base="port:Value">
                <xs:sequence/>
                <xs:attribute ref="port:contentFile"/>
                <xs:attribute ref="port:contentType"/>
                <xs:attribute ref="port:contentByteLength"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType abstract="true" name="Value">
        <xs:sequence/>
        <xs:attribute ref="xlink:href"/>
    </xs:complexType>
    <xs:complexType name="ErrorValue">
        <xs:complexContent>
            <xs:extension base="port:Value">
                <xs:sequence/>
                <xs:attribute ref="port:depth"/>
                <xs:attribute ref="port:errorFile"/>
                <xs:attribute ref="port:errorByteLength"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ListValue">
        <xs:complexContent>
            <xs:extension base="port:Value">
                <xs:sequence>
                    <xs:choice maxOccurs="unbounded" minOccurs="0">
                        <xs:element name="value" type="port:LeafValue"/>
                        <xs:element name="list" type="port:ListValue"/>
                        <xs:element name="error" type="port:ErrorValue"/>
                        <xs:element name="absent" type="port:AbsentValue"/>
                    </xs:choice>
                </xs:sequence>
                <xs:attribute ref="port:length"/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="AbsentValue">
        <xs:complexContent>
            <xs:extension base="port:Value">
                <xs:sequence/>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:attribute name="contentByteLength" type="xs:long"/>
    <xs:attribute name="contentFile" type="xs:string"/>
    <xs:attribute name="contentType" type="xs:string"/>
    <xs:attribute name="depth" type="xs:string"/>
    <xs:attribute name="errorByteLength" type="xs:long"/>
    <xs:attribute name="errorFile" type="xs:string"/>
    <xs:attribute name="length" type="xs:int"/>
    <xs:attribute name="name" type="xs:ID"/>
    <xs:attribute name="workflowId" type="xs:string"/>
    <xs:attribute name="workflowRun" type="xs:anyURI"/>
    <xs:attribute name="workflowRunId" type="xs:string"/>
</xs:schema>
</grammars><resources base="http://sandbox.rohub.org/taverna-server/rest"><resource path="/"><method name="GET"><doc>Produces the description of the service.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:serverDescription"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the service.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><resource path="runs"><method name="GET"><doc>Produces a list of all runs visible to the user.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:runList"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the operations on the collection of runs.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="POST"><doc>Accepts (or not) a request to create a new run executing the given workflow.</doc><request><representation mediaType="application/vnd.taverna.t2flow+xml" element="prefix3:workflow"><doc>Accepts (or not) a request to create a new run executing the given workflow.</doc></representation><representation mediaType="application/xml" element="prefix3:workflow"><doc>Accepts (or not) a request to create a new run executing the given workflow.</doc></representation></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="POST"><doc>Accepts a URL to a workflow to download and run. The URL must be hosted on a publicly-accessible service.</doc><request><representation mediaType="text/uri-list"><doc>Accepts a URL to a workflow to download and run. The URL must be hosted on a publicly-accessible service.</doc></representation></request><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/policy"><method name="GET"><doc>Describe the parts of this policy.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:policyDescription"></representation><representation mediaType="application/json"></representation></response></method><resource path="/capabilities"><method name="GET"><doc>Gets a description of the capabilities supported by this installation of Taverna Server.</doc><response><representation mediaType="application/xml" element="prefix1:capabilities"></representation><representation mediaType="application/json"></representation></response></method></resource><resource path="/enabledNotificationFabrics"><method name="GET"><doc>Gets the list of supported, enabled notification fabrics. Each corresponds (approximately) to a protocol, e.g., email.</doc><response><representation mediaType="application/xml" element="prefix1:enabledNotificationFabrics"></representation><representation mediaType="application/json"></representation></response></method></resource><resource path="/operatingLimit"><method name="GET"><doc>Gets the maximum number of simultaneously operating runs that the user may have. Note that this is often a global limit; it does not represent a promise that a particular user may be able to have that many operating runs at once.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:int"><doc>Gets the maximum number of simultaneously operating runs that the user may have. Note that this is often a global limit; it does not represent a promise that a particular user may be able to have that many operating runs at once.</doc></param></representation></response></method></resource><resource path="/permittedListenerTypes"><method name="GET"><doc>Gets the list of permitted event listener types.</doc><response><representation mediaType="application/xml" element="prefix1:permittedListeners"></representation><representation mediaType="application/json"></representation></response></method></resource><resource path="/permittedWorkflows"><method name="GET"><doc>Gets the list of permitted workflows.</doc><response><representation mediaType="application/xml" element="prefix1:permittedWorkflows"></representation><representation mediaType="application/json"></representation></response></method></resource><resource path="/runLimit"><method name="GET"><doc>Gets the maximum number of simultaneous runs in any state that the user may create.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:int"><doc>Gets the maximum number of simultaneous runs in any state that the user may create.</doc></param></representation></response></method></resource></resource><resource path="/runs/{runName}"><doc>This represents how a Taverna Server workflow run looks to a RESTful API.</doc><param name="runName" style="template" type="xs:string"/><method name="DELETE"><doc>Deletes a workflow run.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="GET"><doc>Describes a workflow run.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:runDescription"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><resource path="/createTime"><method name="GET"><doc>Gives the time when the workflow run was first submitted to the server.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the time when the workflow run was first submitted to the server.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run create time.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/expiry"><method name="GET"><doc>Gives the time when the workflow run becomes eligible for automatic deletion.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the time when the workflow run becomes eligible for automatic deletion.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run expiry.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Sets the time when the workflow run becomes eligible for automatic deletion.</doc><request><representation mediaType="text/plain"><param name="request" style="plain" type="xs:string"><doc>Sets the time when the workflow run becomes eligible for automatic deletion.</doc></param></representation></request><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Sets the time when the workflow run becomes eligible for automatic deletion.</doc></param></representation></response></method></resource><resource path="/finishTime"><method name="GET"><doc>Gives the time when the workflow run was first detected as finished, or an empty string if it has not yet finished (including if it has never started).</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the time when the workflow run was first detected as finished, or an empty string if it has not yet finished (including if it has never started).</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run finish time.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/generate-provenance"><method name="GET"><doc>Whether to create the run bundle for the workflow run.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:boolean"><doc>Whether to create the run bundle for the workflow run.</doc></param></representation></response></method><method name="OPTIONS"><doc>Whether to create the run bundle for the workflow run.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Whether to create the run bundle for the workflow run.</doc><request><representation mediaType="text/plain"><param name="request" style="plain" type="xs:boolean"><doc>Whether to create the run bundle for the workflow run.</doc></param></representation></request><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:boolean"><doc>Whether to create the run bundle for the workflow run.</doc></param></representation></response></method></resource><resource path="/log"><method name="GET"><doc>Return the log for the workflow run.</doc><response><representation mediaType="text/plain"></representation></response></method><method name="OPTIONS"><doc>Return the log for the workflow run.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/name"><method name="GET"><doc>Gives the descriptive name of the workflow run.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the descriptive name of the workflow run.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of the operations on the run&apos;s descriptive name.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Set the descriptive name of the workflow run. Note that this value may be arbitrarily truncated by the implementation.</doc><request><representation mediaType="text/plain"><param name="request" style="plain" type="xs:string"><doc>Set the descriptive name of the workflow run. Note that this value may be arbitrarily truncated by the implementation.</doc></param></representation></request><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Set the descriptive name of the workflow run. Note that this value may be arbitrarily truncated by the implementation.</doc></param></representation></response></method></resource><resource path="/output"><method name="GET"><doc>Gives the Baclava file where output will be written; empty means use multiple simple files in the out directory.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the Baclava file where output will be written; empty means use multiple simple files in the out directory.</doc></param></representation></response></method><method name="GET"><doc>Gives a description of the outputs, as currently understood</doc><request></request><response><representation mediaType="application/xml" element="prefix10:workflowOutputs"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run output.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Sets the Baclava file where output will be written; empty means use multiple simple files in the out directory.</doc><request><representation mediaType="text/plain"><param name="request" style="plain" type="xs:string"><doc>Sets the Baclava file where output will be written; empty means use multiple simple files in the out directory.</doc></param></representation></request><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Sets the Baclava file where output will be written; empty means use multiple simple files in the out directory.</doc></param></representation></response></method></resource><resource path="/run-bundle"><method name="GET"><doc>Return the run bundle for the workflow run.</doc><response><representation mediaType="application/vnd.wf4ever.robundle+zip"></representation></response></method><method name="OPTIONS"><doc>Return the run bundle for the workflow run.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/startTime"><method name="GET"><doc>Gives the time when the workflow run was started, or an empty string if the run has not yet started.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the time when the workflow run was started, or an empty string if the run has not yet started.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run start time.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/status"><method name="GET"><doc>Gives the current status of the workflow run.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the current status of the workflow run.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run status.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Attempts to update the status of the workflow run.</doc><request><representation mediaType="text/plain"><param name="request" style="plain" type="xs:string"><doc>Attempts to update the status of the workflow run.</doc></param></representation></request><response><representation mediaType="text/plain"></representation></response></method></resource><resource path="/stderr"><method name="GET"><doc>Return the stderr for the workflow run.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Return the stderr for the workflow run.</doc></param></representation></response></method><method name="OPTIONS"><doc>Return the stderr for the workflow run.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/stdout"><method name="GET"><doc>Return the stdout for the workflow run.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Return the stdout for the workflow run.</doc></param></representation></response></method><method name="OPTIONS"><doc>Return the stdout for the workflow run.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/usage"><method name="GET"><doc>Return the usage record for the workflow run.</doc><response><representation mediaType="application/xml"></representation></response></method><method name="OPTIONS"><doc>Return the usage record for the workflow run.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/workflow"><method name="GET"><doc>Gives the workflow document used to create the workflow run.</doc><response><representation mediaType="application/vnd.taverna.t2flow+xml" element="prefix3:workflow"></representation><representation mediaType="application/xml" element="prefix3:workflow"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run workflow.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/input"><doc>This represents how a Taverna Server workflow run&apos;s inputs looks to a RESTful API.</doc><method name="GET"><doc>Describe the sub-URIs of this resource.</doc><response><representation mediaType="application/xml" element="prefix1:runInputs"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of one run&apos;s inputs&apos; operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><resource path="/baclava"><method name="GET"><doc>Gives the Baclava file describing the inputs, or empty if individual files are used.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the Baclava file describing the inputs, or empty if individual files are used.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of the inputs&apos; baclava operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Sets the Baclava file describing the inputs.</doc><request><representation mediaType="text/plain"><param name="request" style="plain" type="xs:string"><doc>Sets the Baclava file describing the inputs.</doc></param></representation></request><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Sets the Baclava file describing the inputs.</doc></param></representation></response></method></resource><resource path="/expected"><method name="GET"><doc>Describe the expected inputs of this workflow run.</doc><response><representation mediaType="application/xml" element="prefix10:inputDescription"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the expected inputs&apos; operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/input/{name}"><param name="name" style="template" type="xs:string"/><method name="GET"><doc>Gives a description of what is used to supply a particular input.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:runInput"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the one input&apos;s operations.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Sets the source for a particular input port.</doc><request><representation mediaType="application/xml" element="prefix1:runInput"><doc>Sets the source for a particular input port.</doc></representation><representation mediaType="application/json"><doc>Sets the source for a particular input port.</doc></representation></request><response><representation mediaType="application/xml" element="prefix1:runInput"></representation><representation mediaType="application/json"></representation></response></method></resource></resource><resource path="/interaction"><method name="GET"><doc>Get the feed document for this ATOM feed.</doc><response><representation mediaType="application/atom+xml"></representation></response></method><method name="OPTIONS"><doc>Describes what HTTP operations are supported on the feed.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="POST"><doc>Adds an entry to this ATOM feed.</doc><request><representation mediaType="application/atom+xml"><doc>Adds an entry to this ATOM feed.</doc></representation></request><response><representation mediaType="application/atom+xml"></representation></response></method><resource path="/{id}"><param name="id" style="template" type="xs:string"/><method name="DELETE"><doc>Deletes an entry from this ATOM feed.</doc><request></request><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Deletes an entry from this ATOM feed.</doc></param></representation></response></method><method name="GET"><doc>Get the entry with a particular ID within this ATOM feed.</doc><request></request><response><representation mediaType="application/atom+xml"></representation></response></method><method name="OPTIONS"><doc>Describes what HTTP operations are supported on an entry.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method></resource></resource><resource path="/listeners"><doc>This represents all the event listeners attached to a workflow run.</doc><method name="GET"><doc>Get the listeners installed in the workflow run.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:listeners"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run listeners&apos; operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="POST"><doc>Add a new event listener to the named workflow run.</doc><request><representation mediaType="application/xml" element="prefix1:listenerDefinition"><doc>Add a new event listener to the named workflow run.</doc></representation><representation mediaType="application/json"><doc>Add a new event listener to the named workflow run.</doc></representation></request><response><representation mediaType="application/octet-stream"></representation></response></method><resource path="/{name}"><doc>This represents a single event listener attached to a workflow run.</doc><param name="name" style="template" type="xs:string"/><method name="GET"><doc>Get the description of this listener.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:listenerDescription"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of one run listener&apos;s operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><resource path="/configuration"><method name="GET"><doc>Get the configuration for the given event listener that is attached to a workflow run.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Get the configuration for the given event listener that is attached to a workflow run.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of one run listener&apos;s configuration&apos;s operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/properties"><method name="GET"><doc>Get the list of properties supported by a given event listener attached to a workflow run.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:properties"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of one run listener&apos;s properties&apos; operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/properties/{propertyName}"><doc>This represents a single property attached of an event listener.</doc><param name="propertyName" style="template" type="xs:string"/><method name="GET"><doc>Get the value of the particular property of an event listener attached to a workflow run.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Get the value of the particular property of an event listener attached to a workflow run.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of one run listener&apos;s property&apos;s operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Set the value of the particular property of an event listener attached to a workflow run.</doc><request><representation mediaType="text/plain"><param name="request" style="plain" type="xs:string"><doc>Set the value of the particular property of an event listener attached to a workflow run.</doc></param></representation></request><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Set the value of the particular property of an event listener attached to a workflow run.</doc></param></representation></response></method></resource></resource></resource><resource path="/security"><doc>Manages the security of the workflow run. In general, only the owner of a run may access this resource.</doc><method name="GET"><doc>Gives a description of the security information supported by the workflow run.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:securityDescriptor"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run security.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><resource path="/credentials"><method name="DELETE"><doc>Deletes all credentials.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="GET"><doc>Gives a list of credentials supplied to this workflow run.</doc><response><representation mediaType="application/xml" element="prefix1:credentials"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run credentials&apos; operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="POST"><doc>Creates a new credential.</doc><request><representation mediaType="application/xml" element="prefix1:credential"><doc>Creates a new credential.</doc></representation><representation mediaType="application/json"><doc>Creates a new credential.</doc></representation></request><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/credentials/{id}"><param name="id" style="template" type="xs:string"/><method name="DELETE"><doc>Deletes a particular credential.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="GET"><doc>Describes a particular credential.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:credential"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of one run credential&apos;s operations.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Updates a particular credential.</doc><request><representation mediaType="application/xml" element="prefix1:credential"><doc>Updates a particular credential.</doc></representation><representation mediaType="application/json"><doc>Updates a particular credential.</doc></representation></request><response><representation mediaType="application/xml" element="prefix1:credential"></representation><representation mediaType="application/json"></representation></response></method></resource><resource path="/owner"><method name="GET"><doc>Gives the identity of who owns the workflow run.</doc><response><representation mediaType="text/plain"><param name="result" style="plain" type="xs:string"><doc>Gives the identity of who owns the workflow run.</doc></param></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run owner.</doc><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/permissions"><method name="GET"><doc>Gives a list of all non-default permissions associated with the enclosing workflow run. By default, nobody has any access at all except for the owner of the run.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:permissionsDescriptor"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run permissions&apos; operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="POST"><doc>Creates a new assignment of permissions to a particular user.</doc><request><representation mediaType="application/xml" element="prefix1:permissionUpdate"><doc>Creates a new assignment of permissions to a particular user.</doc></representation><representation mediaType="application/json"><doc>Creates a new assignment of permissions to a particular user.</doc></representation></request><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/permissions/{id}"><param name="id" style="template" type="xs:string"/><method name="DELETE"><doc>Deletes (by resetting to default) the permissions associated with a particular user.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="GET"><doc>Describes the permission granted to a particular user.</doc><request></request><response><representation mediaType="text/plain"></representation></response></method><method name="OPTIONS"><doc>Produces the description of one run permission&apos;s operations.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Updates the permissions granted to a particular user.</doc><request><representation mediaType="text/plain"><doc>Updates the permissions granted to a particular user.</doc></representation></request><response><representation mediaType="text/plain"></representation></response></method></resource><resource path="/trusts"><method name="DELETE"><doc>Deletes all trusted identities.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="GET"><doc>Gives a list of trusted identities supplied to this workflow run.</doc><response><representation mediaType="application/xml" element="prefix1:trustedIdentities"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the run trusted certificates&apos; operations.</doc><response><representation mediaType="application/octet-stream"></representation></response></method><method name="POST"><doc>Adds a new trusted identity.</doc><request><representation mediaType="application/xml" element="prefix3:trustedIdentity"><doc>Adds a new trusted identity.</doc></representation><representation mediaType="application/json"><doc>Adds a new trusted identity.</doc></representation></request><response><representation mediaType="application/octet-stream"></representation></response></method></resource><resource path="/trusts/{id}"><param name="id" style="template" type="xs:string"/><method name="DELETE"><doc>Deletes a particular trusted identity.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="GET"><doc>Describes a particular trusted identity.</doc><request></request><response><representation mediaType="application/xml" element="prefix3:trustedIdentity"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of one run trusted certificate&apos;s operations.</doc><request></request><response><representation mediaType="application/octet-stream"></representation></response></method><method name="PUT"><doc>Updates a particular trusted identity.</doc><request><representation mediaType="application/xml" element="prefix3:trustedIdentity"><doc>Updates a particular trusted identity.</doc></representation><representation mediaType="application/json"><doc>Updates a particular trusted identity.</doc></representation></request><response><representation mediaType="application/xml" element="prefix3:trustedIdentity"></representation><representation mediaType="application/json"></representation></response></method></resource></resource><resource path="/wd"><doc>Representation of how a workflow run&apos;s working directory tree looks.</doc><method name="GET"><doc>Describes the working directory of the workflow run.</doc><request></request><response><representation mediaType="application/xml" element="prefix1:directoryContents"></representation><representation mediaType="application/json"></representation></response></method><resource path="/{path:(.*)}"><param name="path" style="template" repeating="true"/><method name="POST"><doc>Creates or updates a file in a particular location beneath the working directory of the workflow run with the contents of a publicly readable URL.</doc><request><representation mediaType="text/uri-list"><doc>Creates or updates a file in a particular location beneath the working directory of the workflow run with the contents of a publicly readable URL.</doc></representation></request><response><representation mediaType="application/xml"></representation><representation mediaType="application/json"></representation></response></method><method name="PUT"><doc>Creates or updates a file in a particular location beneath the working directory of the workflow run.</doc><request><representation mediaType="application/octet-stream"><doc>Creates or updates a file in a particular location beneath the working directory of the workflow run.</doc></representation><representation mediaType="*/*"><doc>Creates or updates a file in a particular location beneath the working directory of the workflow run.</doc></representation></request><response><representation mediaType="application/xml"></representation><representation mediaType="application/json"></representation></response></method></resource><resource path="/{path:.*}"><param name="path" style="template" repeating="true"/><method name="DELETE"><doc>Deletes a file or directory that is in or below the working directory of a workflow run.</doc><request></request><response><representation mediaType="application/xml"></representation><representation mediaType="application/json"></representation></response></method><method name="OPTIONS"><doc>Produces the description of the files/directories&apos; baclava operations.</doc><request></request><response><representation mediaType="application/xml"></representation><representation mediaType="application/json"></representation></response></method><method name="POST"><doc>Creates a directory in the filesystem beneath the working directory of the workflow run, or creates or updates a file&apos;s contents, where that file is in or below the working directory of a workflow run.</doc><request><representation mediaType="application/xml" element="prefix1:filesystemOperation"><doc>Creates a directory in the filesystem beneath the working directory of the workflow run, or creates or updates a file&apos;s contents, where that file is in or below the working directory of a workflow run.</doc></representation><representation mediaType="application/json"><doc>Creates a directory in the filesystem beneath the working directory of the workflow run, or creates or updates a file&apos;s contents, where that file is in or below the working directory of a workflow run.</doc></representation></request><response><representation mediaType="application/xml"></representation><representation mediaType="application/json"></representation></response></method></resource><resource path="/{path:.+}"><param name="path" style="template" repeating="true"/><method name="GET"><doc>Gives a description of the named entity in or beneath the working directory of the workflow run (either a Directory or File).</doc><request></request><response><representation mediaType="application/xml"></representation><representation mediaType="application/json"></representation><representation mediaType="application/octet-stream"></representation><representation mediaType="application/zip"></representation><representation mediaType="*/*"></representation></response></method></resource></resource></resource></resource></resources></application>