Commit 4bbcfb6b authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Initial commit


Signed-off-by: Miguel Angel Reina Ortega's avatarreinaortega <miguelangel.reinaortega@etsi.org>
parents
<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================ -->
<!-- This document is part of ETSI TS 119 512 v.1.1.1 -->
<!-- ================================================ -->
<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:ex="http://uri.etsi.org/19512/exchange/v1.1.1#"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:ds-rw="http://docs.oasis-open.org/dss-x/ns/xmldsig/rewritten"
xmlns:pres="http://uri.etsi.org/19512/v1.1.1#"
targetNamespace="http://uri.etsi.org/19512/exchange/v1.1.1#"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="1.1.1">
<xs:import namespace="http://docs.oasis-open.org/dss-x/ns/xmldsig/rewritten"
schemaLocation="http://docs.oasis-open.org/dss-x/dss-core/v2.0/cs02/schema/oasis-dss-rw-xmldsig-core-schema.xsd" />
<xs:import namespace="http://uri.etsi.org/19512/v1.1.1#"
schemaLocation="https://forge.etsi.org/rep/esi/x19_512_preservation_protocol/raw/v1.1.1/19512-Preservation-API.xsd" />
<!-- ======================================= -->
<!-- Evidence Exchange Format -->
<!-- ======================================= -->
<!-- Version 1.0 (12.01.2020) -->
<!-- ======================================= -->
<xs:element name="EvidenceExchange" type="ex:EvidenceExchangeType" />
<xs:complexType name="EvidenceExchangeType">
<xs:sequence>
<xs:element ref="ex:EvidenceInfo" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="ex:Object" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="ex:HashTree" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Other" type="pres:POType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:element name="EvidenceInfo" type="ex:EvidenceInfoType" />
<xs:complexType name="EvidenceInfoType">
<xs:sequence>
<xs:choice>
<xs:element ref="pres:Evidence" />
<xs:element name="EvidenceRef" type="xs:IDREF" />
</xs:choice>
<xs:element name="HashTreeRef" type="xs:IDREF" maxOccurs="unbounded" minOccurs="0" />
<xs:element name="ObjectRef" type="xs:IDREF" maxOccurs="unbounded" minOccurs="0" />
<xs:element name="RelatedEvidenceRef" type="xs:IDREF" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
<xs:attribute name="ID" type="xs:ID" use="required" />
</xs:complexType>
<element name="Object" type="pres:POType" />
<xs:element name="HashTree" type="ex:HashTreeType" />
<xs:complexType name="HashTreeType">
<xs:sequence>
<xs:element ref="ex:Node" />
<xs:element ref="ds-rw:DigestMethod" />
</xs:sequence>
<attribute name="ID" type="ID" use="required" />
<attribute name="RelatedObjects" type="IDREFS" use="optional" />
</xs:complexType>
<xs:complexType name="AbstractNodeType" abstract="true">
<xs:sequence>
<xs:element ref="ds-rw:DigestValue" />
</xs:sequence>
</xs:complexType>
<xs:element name="Node" type="ex:NodeType" />
<xs:complexType name="NodeType">
<xs:complexContent>
<xs:extension base="ex:AbstractNodeType">
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="ex:Node" />
<xs:element ref="ex:Leaf" />
<xs:element ref="ex:Group" />
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Leaf" type="ex:LeafType" />
<xs:complexType name="LeafType">
<xs:complexContent>
<xs:extension base="ex:AbstractNodeType">
<xs:sequence>
<xs:element ref="ex:Reference" minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="Reference" type="xs:IDREF" />
<xs:element name="Group" type="ex:GroupType" />
<xs:complexType name="GroupType">
<xs:complexContent>
<xs:extension base="ex:AbstractNodeType">
<xs:sequence>
<xs:element ref="ex:Leaf" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
{
"openapi": "3.0.0",
"info": {
"title": "ETSI TS 119 512",
"description": "Protocols for trust service providers providing long-term data preservation services",
"contact": {
"name": "ETSI ESI",
"url": "https://www.etsi.org/committee/esi",
"email": "esisupport@etsi.org"
},
"license": {
"name": "BSD-3-Clause",
"url": "https://forge.etsi.org/legal-matters"
},
"version": "1.1.1"
},
"servers": [
{
"url": "127.0.0.1:{port}/{basePath}",
"description": "ETSI TS 119 512 instance",
"variables": {
"port": {
"default": "443"
},
"basePath": {
"default": "pres"
}
}
}
],
"paths": {
"/RetrieveInfo": {
"post": {
"requestBody": {
"description": "The RetrieveInfo request allows to retrieve information about the preservation profiles supported by the preservation service.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-RetrieveInfoType"
}
}
}
},
"responses": {
"200": {
"description": "Info response object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-RetrieveInfoResponseType"
}
}
}
}
}
}
},
"/PreservePO": {
"post": {
"requestBody": {
"description": "The PreservePO request allows to submit zero or more preservation data objects to the preservation service.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-PreservePOType"
}
}
}
},
"responses": {
"200": {
"description": "PreservePOResponse object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-PreservePOResponseType"
}
}
}
}
}
}
},
"/RetrievePO": {
"post": {
"requestBody": {
"description": "The RetrievePO request allows to retrieve stored preservation data objects",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-RetrievePOType"
}
}
}
},
"responses": {
"200": {
"description": "RetrievePOResponse object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-RetrievePOResponseType"
}
}
}
}
}
}
},
"/DeletePO": {
"post": {
"requestBody": {
"description": "The DeletePO request allows to delete a stored preservation data object",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-DeletePOType"
}
}
}
},
"responses": {
"200": {
"description": "DeletePOResponse object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-ResponseType"
}
}
}
}
}
}
},
"/UpdatePOC": {
"post": {
"requestBody": {
"description": "The UpdatePOC request allows to provide a new version of a stored preservation data object",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-UpdatePOCType"
}
}
}
},
"responses": {
"200": {
"description": "UpdatePOCResponse object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-UpdatePOCResponseType"
}
}
}
}
}
}
},
"/RetrieveTrace": {
"post": {
"requestBody": {
"description": "The RetrieveTrace request allows to request an audit trail element, which contains information with respect to relevant events, which happened within a preservation service for a specific (set of) submission data object(s).",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-RetrieveTraceType"
}
}
}
},
"responses": {
"200": {
"description": "Info response object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-RetrieveTraceResponseType"
}
}
}
}
}
}
},
"/ValidateEvidence": {
"post": {
"requestBody": {
"description": "The ValidateEvidence request allows to validate a provided preservation evidence and optionally a set of preservation objects, which are protected by it.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-ValidateEvidenceType"
}
}
}
},
"responses": {
"200": {
"description": "Evidence validation response object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-ValidateEvidenceResponseType"
}
}
}
},
"default": {
"description": "Evidence validation response object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-ValidateEvidenceResponseType"
}
}
}
}
}
}
},
"/Search": {
"post": {
"requestBody": {
"description": "The Search request allows to search among the preservation objects, which are accessible by the client.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-SearchType"
}
}
}
},
"responses": {
"200": {
"description": "Found POIDs response object",
"content": {
"application/json": {
"schema": {
"$ref": "19512-Preservation-API-schema.json#/definitions/pres-SearchResponseType"
}
}
}
}
}
}
}
}
}
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<!-- ================================================ -->
<!-- This document is part of ETSI TS 119 512 v.1.1.1 -->
<!-- ================================================ -->
<wsdl:definitions name="Preservation-API.wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:pres="http://uri.etsi.org/19512/v1.1.1#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
targetNamespace="http://uri.etsi.org/19512/v1.1.1#">
<!-- =================== -->
<!-- Definition of types -->
<!-- (only include XSDs) -->
<!-- =================== -->
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://uri.etsi.org/19512/v1.1.1#">
<xsd:include schemaLocation="https://forge.etsi.org/rep/esi/x19_512_preservation_protocol/raw/v1.1.1/19512-Preservation-API.xsd" />
</xsd:schema>
<!-- Additional types for evidence exchange -->
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://uri.etsi.org/19512/exchange/v1.1.1#">
<xsd:include schemaLocation="https://forge.etsi.org/rep/esi/x19_512_preservation_protocol/raw/v1.1.1/19512-EvidenceExchange.xsd" />
</xsd:schema>
</wsdl:types>
<!-- ====================== -->
<!-- Definition of messages -->
<!-- ====================== -->
<wsdl:message name="RetrieveInfoRequest">
<wsdl:part name="req" element="pres:RetrieveInfo" />
</wsdl:message>
<wsdl:message name="RetrieveInfoResponse">
<wsdl:part name="res" element="pres:RetrieveInfoResponse" />
</wsdl:message>
<wsdl:message name="PreservePORequest">
<wsdl:part name="req" element="pres:PreservePO" />
</wsdl:message>
<wsdl:message name="PreservePOResponse">
<wsdl:part name="res" element="pres:PreservePOResponse" />
</wsdl:message>
<wsdl:message name="RetrievePORequest">
<wsdl:part name="req" element="pres:RetrievePO" />
</wsdl:message>
<wsdl:message name="RetrievePOResponse">
<wsdl:part name="res" element="pres:RetrievePOResponse" />
</wsdl:message>
<wsdl:message name="DeletePORequest">
<wsdl:part name="req" element="pres:DeletePO" />
</wsdl:message>
<wsdl:message name="DeletePOResponse">
<wsdl:part name="res" element="pres:DeletePOResponse" />
</wsdl:message>
<wsdl:message name="UpdatePOCRequest">
<wsdl:part name="req" element="pres:UpdatePOC" />
</wsdl:message>
<wsdl:message name="UpdatePOCResponse">
<wsdl:part name="res" element="pres:UpdatePOCResponse" />
</wsdl:message>
<wsdl:message name="RetrieveTraceRequest">
<wsdl:part name="req" element="pres:RetrieveTrace" />
</wsdl:message>
<wsdl:message name="RetrieveTraceResponse">
<wsdl:part name="res" element="pres:RetrieveTraceResponse" />
</wsdl:message>
<wsdl:message name="ValidateEvidenceRequest">
<wsdl:part name="req" element="pres:ValidateEvidence" />
</wsdl:message>
<wsdl:message name="ValidateEvidenceResponse">
<wsdl:part name="res" element="pres:ValidateEvidenceResponse" />
</wsdl:message>
<wsdl:message name="SearchRequest">
<wsdl:part name="req" element="pres:Search" />
</wsdl:message>
<wsdl:message name="SearchResponse">
<wsdl:part name="res" element="pres:SearchResponse" />
</wsdl:message>
<!-- ====================== -->
<!-- Definition of portType -->
<!-- ====================== -->
<wsdl:portType name="Preservation">
<wsdl:operation name="RetrieveInfo">
<wsdl:input message="pres:RetrieveInfoRequest" />
<wsdl:output message="pres:RetrieveInfoResponse" />
</wsdl:operation>
<wsdl:operation name="PreservePO">
<wsdl:input message="pres:PreservePORequest" />
<wsdl:output message="pres:PreservePOResponse" />
</wsdl:operation>
<wsdl:operation name="RetrievePO">
<wsdl:input message="pres:RetrievePORequest" />
<wsdl:output message="pres:RetrievePOResponse" />
</wsdl:operation>
<wsdl:operation name="DeletePO">
<wsdl:input message="pres:DeletePORequest" />
<wsdl:output message="pres:DeletePOResponse" />
</wsdl:operation>
<wsdl:operation name="UpdatePOC">
<wsdl:input message="pres:UpdatePOCRequest" />
<wsdl:output message="pres:UpdatePOCResponse" />
</wsdl:operation>
<wsdl:operation name="RetrieveTrace">
<wsdl:input message="pres:RetrieveTraceRequest" />
<wsdl:output message="pres:RetrieveTraceResponse" />
</wsdl:operation>
<wsdl:operation name="ValidateEvidence">
<wsdl:input message="pres:ValidateEvidenceRequest" />
<wsdl:output message="pres:ValidateEvidenceResponse" />
</wsdl:operation>
<wsdl:operation name="Search">
<wsdl:input message="pres:SearchRequest" />
<wsdl:output message="pres:SearchResponse" />
</wsdl:operation>
</wsdl:portType>
<!-- ===================== -->
<!-- Definition of Binding -->
<!-- ===================== -->
<wsdl:binding name="Preservation" type="pres:Preservation">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="RetrieveInfo">
<soap12:operation soapAction="http://uri.etsi.org/19512/v1.1.1#RetrieveInfo" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="PreservePO">
<soap12:operation soapAction="http://uri.etsi.org/19512/v1.1.1#PreservePO" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RetrievePO">
<soap12:operation soapAction="http://uri.etsi.org/19512/v1.1.1#RetrievePO" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="DeletePO">
<soap12:operation soapAction="http://uri.etsi.org/19512/v1.1.1#DeletePO" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="UpdatePOC">
<soap12:operation soapAction="http://uri.etsi.org/19512/v1.1.1#UpdatePOC" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="RetrieveTrace">
<soap12:operation soapAction="http://uri.etsi.org/19512/v1.1.1#RetrieveTrace" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ValidateEvidence">
<soap12:operation soapAction="http://uri.etsi.org/19512/v1.1.1#ValidateEvidence" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="Search">
<soap12:operation soapAction="http://uri.etsi.org/19512/v1.1.1#Search" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>