Module sign | ||||||||||||||||||||||
Name: | sign | |||||||||||||||||||||
Title: | Gestor de signatures electròniques | |||||||||||||||||||||
Namespace: | http://sign.matrix.org/ | |||||||||||||||||||||
Service: | SignatureManagerService | |||||||||||||||||||||
Port: | SignatureManagerPort | |||||||||||||||||||||
Java package: | org.matrix.sign | |||||||||||||||||||||
Version: | 2.0 | |||||||||||||||||||||
Status: | DRAFT | |||||||||||||||||||||
Authors: | Ricard Real | |||||||||||||||||||||
WSDL: | sign.wsdl | |||||||||||||||||||||
Imports: |
|
|||||||||||||||||||||
Documentation: |
Característiques generalsEl mòdul sign és l'encarregat de:
Document signat (SignedDocument)Els documents signats es representen en el mòdul sign mitjançant objectes SignedDocument. Un SignedDocument es defineix com una extensió de l'objecte Document del mòdul doc i per tant, igual que aquest, conté les metadades i el contingut del document, però a més, incorpora:
Formats de signaturaLes signatures d'un document signat es representaran mitjançant algun dels següents formats estàndard:
Estructura interna d'un document signatL'objecte SignedDocument proporciona una representació genèrica de l'estructura interna del document. En aquesta representació, el document es veu com un contenidor d'una seqüència de blocs de dades, on cada bloc (Block) pot ser d'un d'aquests dos tipus:
En funció de la relació estructural entre una signatura (bloc de signatura) i les dades que signa (blocs de dades), aquesta pot ser:
Formats documentals que admeten signaturesEl mòdul sign pot gestionar les signatures electròniques de documents representats en diferents formats documentals. A continuació es descriuen alguns d'aquests formats:
Modalitats de generació de la signaturaExisteixen diferents modalitats de generació de la signatura en funció de:
En total, hi ha 4 possibles modalitats de generació de la signatura:
Flux de signatura d'un documentEl flux de signatura d'un document determina en quin ordre s'han de produïr les seves signatures. Aquest flux s'especifica dins del propi objecte SignedDocument mitjançant la propietat signingAct que defineix una seqüència ordenada d'actes de signatura (SigningAct), on cada acte agrupa un conjunt de signatures que tenen la mateixa semàntica.El processament del flux de signatura es fa d'acord amb aquests criteris:
Casos d'ús
|
[Types] [Operations]
Entity SignedDocument :: doc:Document | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name: | SignedDocument | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
QName: | sign:SignedDocument | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Java class name: | org.matrix.sign.SignedDocument | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Super type: | doc:Document | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Properties: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related operations: |
|
Struct SigningAct | |||||||||||||||||||||||||||||||||||||
Name: | SigningAct | ||||||||||||||||||||||||||||||||||||
QName: | sign:SigningAct | ||||||||||||||||||||||||||||||||||||
Java class name: | org.matrix.sign.SigningAct | ||||||||||||||||||||||||||||||||||||
Description: |
El flux de signatura d'un document s'especifica mitjançant una seqüència ordenada
d'actes de signatura (propietat SigningAct de SignedDocument) on cada acte té associada la següent informació:
|
||||||||||||||||||||||||||||||||||||
Properties: |
|
Struct Block | |||||||||||||||||||||||||||||||||||||||||||
Name: | Block | ||||||||||||||||||||||||||||||||||||||||||
QName: | sign:Block | ||||||||||||||||||||||||||||||||||||||||||
Java class name: | org.matrix.sign.Block | ||||||||||||||||||||||||||||||||||||||||||
Description: |
Part del document (seqüència de bits) que pot contenir dades i/o signatures.
|
||||||||||||||||||||||||||||||||||||||||||
Properties: |
|
Struct Data :: sign:Block | |||||||||||||||||||||||||
Name: | Data | ||||||||||||||||||||||||
QName: | sign:Data | ||||||||||||||||||||||||
Java class name: | org.matrix.sign.Data | ||||||||||||||||||||||||
Super type: | sign:Block | ||||||||||||||||||||||||
Description: |
Part del document que conté dades.
|
||||||||||||||||||||||||
Properties: |
|
Struct Signature :: sign:Block | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name: | Signature | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QName: | sign:Signature | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Java class name: | org.matrix.sign.Signature | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Super type: | sign:Block | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description: |
Conté les metadades essencials d'una signatura del document. Cada signatura pot signar el contingut de:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Properties: |
|
Struct Signer | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name: | Signer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QName: | sign:Signer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Java class name: | org.matrix.sign.Signer | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description: |
Signer conté les propietats que descriuen un signatari del document.
El signatari pot ser una persona física, una persona jurídica o un determinat òrgan i es pot especificar
per mitjà d'algun d'aquests camps:
En les modalitats de signatura 2 i 3, la propietat signerCertificate haurà de ser informada per poder
generar la signatura (consultar casos d'ús). En la modalitat 1 aquesta propietat es deduirà del contingut del document un cop signat.
A partir del moment en que es determini el valor de signerCertificate, es deduiran automàticament els valors dels camps
signerName, signerCertificatId i signerCertificateIssuer de l'objecte Signer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Properties: |
|
Struct SignaturePolicy | |||||||||||||||||||||||||||||||
Name: | SignaturePolicy | ||||||||||||||||||||||||||||||
QName: | sign:SignaturePolicy | ||||||||||||||||||||||||||||||
Java class name: | org.matrix.sign.SignaturePolicy | ||||||||||||||||||||||||||||||
Description: |
Defineix un determinada política de signatura.
|
||||||||||||||||||||||||||||||
Properties: |
|
Struct SignedDocumentFilter :: doc:DocumentFilter | |||||||||||||||||||
Name: | SignedDocumentFilter | ||||||||||||||||||
QName: | sign:SignedDocumentFilter | ||||||||||||||||||
Java class name: | org.matrix.sign.SignedDocumentFilter | ||||||||||||||||||
Super type: | doc:DocumentFilter | ||||||||||||||||||
Description: |
Filtre per cercar documents través de l'operació
findSignedDocuments.
El resultat de la cerca contindrà aquells documents que satisfan les condicions expressades a través de les propietats de
DocumentFilter i alhora les
expressades per mitjà de les propietats signer i sigDocState de SignedDocumentFilter.
|
||||||||||||||||||
Properties: |
|
||||||||||||||||||
Related operations: |
Struct SignatureManagerMetaData :: mx:ManagerMetaData | |||||||||||||||||||||||||||||||
Name: | SignatureManagerMetaData | ||||||||||||||||||||||||||||||
QName: | sign:SignatureManagerMetaData | ||||||||||||||||||||||||||||||
Java class name: | org.matrix.sign.SignatureManagerMetaData | ||||||||||||||||||||||||||||||
Super type: | mx:ManagerMetaData | ||||||||||||||||||||||||||||||
Description: |
Conté les propietats que descriuen les característiques de la implementació d'aquest servei.
|
||||||||||||||||||||||||||||||
Properties: |
|
||||||||||||||||||||||||||||||
Related operations: |
Struct SignedDocumentFormatSupport | |||||||||||||||||||||||||||||||||||||
Name: | SignedDocumentFormatSupport | ||||||||||||||||||||||||||||||||||||
QName: | sign:SignedDocumentFormatSupport | ||||||||||||||||||||||||||||||||||||
Java class name: | org.matrix.sign.SignedDocumentFormatSupport | ||||||||||||||||||||||||||||||||||||
Description: |
Descriu el suport d'un determinat format documental.
|
||||||||||||||||||||||||||||||||||||
Properties: |
|
Struct TransformOption | |||||||||||||||||||
Name: | TransformOption | ||||||||||||||||||
QName: | sign:TransformOption | ||||||||||||||||||
Java class name: | org.matrix.sign.TransformOption | ||||||||||||||||||
Description: |
Estableix una opció del procés de transformació d'un document.
|
||||||||||||||||||
Properties: |
|
||||||||||||||||||
Related operations: |
Enumeration SignatureInfo | |||||||||||
Name: | SignatureInfo | ||||||||||
QName: | sign:SignatureInfo | ||||||||||
Java class name: | org.matrix.sign.SignatureInfo | ||||||||||
Description: |
Indica quina informació relativa a les signatures del document contindrà l'objecte SignedDocument retornat
per l'operació loadSignedDocument.
|
||||||||||
Values: |
|
Enumeration SignedDocumentFormat | |||||||||||||||||||
Name: | SignedDocumentFormat | ||||||||||||||||||
QName: | sign:SignedDocumentFormat | ||||||||||||||||||
Java class name: | org.matrix.sign.SignedDocumentFormat | ||||||||||||||||||
Description: |
Llista no exhaustiva de formats documentals que admeten signatures.
|
||||||||||||||||||
Values: |
|
Enumeration SignedDocumentState | |||||||||
Name: | SignedDocumentState | ||||||||
QName: | sign:SignedDocumentState | ||||||||
Java class name: | org.matrix.sign.SignedDocumentState | ||||||||
Description: |
Indica l'estat global de les signatures d'un document.
|
||||||||
Values: |
|
Enumeration SignatureFormat | |||||||||||
Name: | SignatureFormat | ||||||||||
QName: | sign:SignatureFormat | ||||||||||
Java class name: | org.matrix.sign.SignatureFormat | ||||||||||
Description: |
Indica el format d'una signatura electrònica.
|
||||||||||
Values: |
|
Enumeration SignatureState | |||||||||||||||||||||||||||
Name: | SignatureState | ||||||||||||||||||||||||||
QName: | sign:SignatureState | ||||||||||||||||||||||||||
Java class name: | org.matrix.sign.SignatureState | ||||||||||||||||||||||||||
Description: |
Indica l'estat actual d'una signatura electrònica.
Més informació sobre els formats de signatura avançada a
http://tools.ietf.org/html/rfc5126 i http://www.w3.org/TR/XAdES/.
|
||||||||||||||||||||||||||
Values: |
|
Operation loadSignedDocument | |||||||||||||||||||||||||||||||
Name: | loadSignedDocument | ||||||||||||||||||||||||||||||
Signature: | loadSignedDocument (sigDocId {xs:string}, contentInfo {doc:ContentInfo}, signatureInfo {sign:SignatureInfo}, validate {xs:boolean}) => signedDocument {sign:SignedDocument} | ||||||||||||||||||||||||||||||
Java signature: | org.matrix.sign.SignedDocument loadSignedDocument(String sigDocId, org.matrix.doc.ContentInfo contentInfo, org.matrix.sign.SignatureInfo signatureInfo, boolean validate) | ||||||||||||||||||||||||||||||
Description: |
Recupera un document a partir del seu identificador.
|
||||||||||||||||||||||||||||||
Parameters: |
|
||||||||||||||||||||||||||||||
Response: |
|
||||||||||||||||||||||||||||||
Errors: |
|
||||||||||||||||||||||||||||||
Sample input message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:loadSignedDocument xmlns:ns2="http://sign.matrix.org/"> <sigDocId>{xs:string}</sigDocId> <contentInfo>{doc:ContentInfo}</contentInfo> <signatureInfo>{sign:SignatureInfo}</signatureInfo> <validate>{xs:boolean}</validate> </ns2:loadSignedDocument> </S:Body> </S:Envelope> | ||||||||||||||||||||||||||||||
Sample output message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:loadSignedDocumentResponse xmlns:ns2="http://sign.matrix.org/"> <signedDocument> <docId>{xs:string}</docId> <version>{xs:int}</version> <title>{xs:string}</title> <docTypeId>{xs:string}</docTypeId> <state>{doc:State}</state> <language>{xs:string}</language> <authorId>{xs:string}</authorId> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <changeDateTime>{mx:dateTime}</changeDateTime> <changeUserId>{xs:string}</changeUserId> <creationDate>{mx:date}</creationDate> <classId>{xs:string}</classId> <caseId>{xs:string}</caseId> <summary>{xs:string}</summary> <content> <contentId>{xs:string}</contentId> <contentType>{xs:string}</contentType> <formatId>{xs:string}</formatId> <formatDescription>{xs:string}</formatDescription> <language>{xs:string}</language> <creationDate>{mx:date}</creationDate> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <size>{xs:long}</size> <data>{xs:base64Binary}</data> <url>{xs:string}</url> </content> <lockUserId>{xs:string}</lockUserId> <property> <name>{xs:string}</name> <value>{xs:string}</value> </property> <relatedDocument> <relationType>{doc:RelationType}</relationType> <name>{xs:string}</name> <docId>{xs:string}</docId> <version>{xs:int}</version> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <changeDateTime>{mx:dateTime}</changeDateTime> <changeUserId>{xs:string}</changeUserId> </relatedDocument> <accessControl> <action>{xs:string}</action> <roleId>{xs:string}</roleId> </accessControl> <sigDocId>{xs:string}</sigDocId> <sigDocFormatId>{xs:string}</sigDocFormatId> <sigDocState>{sign:SignedDocumentState}</sigDocState> <currentSigningAct>{xs:int}</currentSigningAct> <signingAct> <signingActId>{xs:string}</signingActId> <description>{xs:string}</description> <type>{xs:string}</type> <minimumSigners>{xs:int}</minimumSigners> <signaturePolicy> <policyId>{xs:string}</policyId> <description>{xs:string}</description> <policyHash>{xs:base64Binary}</policyHash> <policyHashAlgorithm>{xs:string}</policyHashAlgorithm> </signaturePolicy> </signingAct> <data> <blockId>{xs:string}</blockId> <containerBlockId>{xs:string}</containerBlockId> <containerIndex>{xs:int}</containerIndex> <data>{xs:base64Binary}</data> <hash>{xs:base64Binary}</hash> <hashAlgorithm>{xs:string}</hashAlgorithm> <label>{xs:string}</label> <type>{xs:string}</type> <mimeType>{xs:string}</mimeType> </data> <signature> <blockId>{xs:string}</blockId> <containerBlockId>{xs:string}</containerBlockId> <containerIndex>{xs:int}</containerIndex> <data>{xs:base64Binary}</data> <hash>{xs:base64Binary}</hash> <hashAlgorithm>{xs:string}</hashAlgorithm> <format>{sign:SignatureFormat}</format> <state>{sign:SignatureState}</state> <referencedBlockId>{xs:string}</referencedBlockId> <externalReference>{xs:string}</externalReference> <signerId>{xs:string}</signerId> <signingActId>{xs:string}</signingActId> <signedInfoHash>{xs:base64Binary}</signedInfoHash> <signedInfoHashAlgorithm>{xs:string}</signedInfoHashAlgorithm> <signatureAlgorithm>{xs:string}</signatureAlgorithm> <signatureValue>{xs:base64Binary}</signatureValue> <signaturePolicy> <policyId>{xs:string}</policyId> <description>{xs:string}</description> <policyHash>{xs:base64Binary}</policyHash> <policyHashAlgorithm>{xs:string}</policyHashAlgorithm> </signaturePolicy> <signingDateTime>{mx:dateTime}</signingDateTime> <rejectionDateTime>{mx:dateTime}</rejectionDateTime> <rejectionReason>{xs:string}</rejectionReason> <validation>{xs:string}</validation> <signingCallbackUrl>{xs:string}</signingCallbackUrl> <rejectionCallbackUrl>{xs:string}</rejectionCallbackUrl> </signature> <signer> <signerId>{xs:string}</signerId> <signerIdentCode>{xs:string}</signerIdentCode> <signerUserId>{xs:string}</signerUserId> <signerRoleId>{xs:string}</signerRoleId> <signerCertificate>{xs:base64Binary}</signerCertificate> <automatic>{xs:boolean}</automatic> <signerName>{xs:string}</signerName> <signerCertificateId>{xs:string}</signerCertificateId> <signerCertificateIssuer>{xs:string}</signerCertificateIssuer> </signer> </signedDocument> </ns2:loadSignedDocumentResponse> </S:Body> </S:Envelope> |
Operation storeSignedDocument | |||||||||||||
Name: | storeSignedDocument | ||||||||||||
Signature: | storeSignedDocument (signedDocument {sign:SignedDocument}) => storedSignedDocument {sign:SignedDocument} | ||||||||||||
Java signature: | org.matrix.sign.SignedDocument storeSignedDocument(org.matrix.sign.SignedDocument signedDocument) | ||||||||||||
Description: |
Modifica l'estructura, el contingut, l'estat o el flux de signatura d'un document.
En funció del valor de l'atribut incremental de l'objecte SignedDocument (heretat de Document), aquesta operació admet dos modes d'execució:
Per mitjà d'aquesta operació, es pot establir i modificar el flux de signatura del document, amb les seves signatures i signataris
(la modificació del flux de signatura d'un document requerirà el rol SIGN_ADMIN).
La signatura d'un document, en qualsevol de les 3 modalitats suportades per aquest servei, també es farà mitjançant aquesta operació (consultar els casos d'ús).
Cada cop que es crida aquesta operació aportant un nou contingut (objecte Content)
dins de SignedDocument, el servei detectarà les seves signatures i llurs signataris i els representarà mitjançant
objectes Signature i Signer respectivament.
A més, aquestes signatures hauran respectar el flux de signatura que tingui definit el document,
altrament aquesta operació retornarà l'error INVALID_FLOW.
|
||||||||||||
Parameters: |
|
||||||||||||
Response: |
|
||||||||||||
Errors: |
|
||||||||||||
Sample input message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:storeSignedDocument xmlns:ns2="http://sign.matrix.org/"> <signedDocument> <docId>{xs:string}</docId> <version>{xs:int}</version> <title>{xs:string}</title> <docTypeId>{xs:string}</docTypeId> <state>{doc:State}</state> <language>{xs:string}</language> <authorId>{xs:string}</authorId> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <changeDateTime>{mx:dateTime}</changeDateTime> <changeUserId>{xs:string}</changeUserId> <creationDate>{mx:date}</creationDate> <classId>{xs:string}</classId> <caseId>{xs:string}</caseId> <summary>{xs:string}</summary> <content> <contentId>{xs:string}</contentId> <contentType>{xs:string}</contentType> <formatId>{xs:string}</formatId> <formatDescription>{xs:string}</formatDescription> <language>{xs:string}</language> <creationDate>{mx:date}</creationDate> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <size>{xs:long}</size> <data>{xs:base64Binary}</data> <url>{xs:string}</url> </content> <lockUserId>{xs:string}</lockUserId> <property> <name>{xs:string}</name> <value>{xs:string}</value> </property> <relatedDocument> <relationType>{doc:RelationType}</relationType> <name>{xs:string}</name> <docId>{xs:string}</docId> <version>{xs:int}</version> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <changeDateTime>{mx:dateTime}</changeDateTime> <changeUserId>{xs:string}</changeUserId> </relatedDocument> <accessControl> <action>{xs:string}</action> <roleId>{xs:string}</roleId> </accessControl> <sigDocId>{xs:string}</sigDocId> <sigDocFormatId>{xs:string}</sigDocFormatId> <sigDocState>{sign:SignedDocumentState}</sigDocState> <currentSigningAct>{xs:int}</currentSigningAct> <signingAct> <signingActId>{xs:string}</signingActId> <description>{xs:string}</description> <type>{xs:string}</type> <minimumSigners>{xs:int}</minimumSigners> <signaturePolicy> <policyId>{xs:string}</policyId> <description>{xs:string}</description> <policyHash>{xs:base64Binary}</policyHash> <policyHashAlgorithm>{xs:string}</policyHashAlgorithm> </signaturePolicy> </signingAct> <data> <blockId>{xs:string}</blockId> <containerBlockId>{xs:string}</containerBlockId> <containerIndex>{xs:int}</containerIndex> <data>{xs:base64Binary}</data> <hash>{xs:base64Binary}</hash> <hashAlgorithm>{xs:string}</hashAlgorithm> <label>{xs:string}</label> <type>{xs:string}</type> <mimeType>{xs:string}</mimeType> </data> <signature> <blockId>{xs:string}</blockId> <containerBlockId>{xs:string}</containerBlockId> <containerIndex>{xs:int}</containerIndex> <data>{xs:base64Binary}</data> <hash>{xs:base64Binary}</hash> <hashAlgorithm>{xs:string}</hashAlgorithm> <format>{sign:SignatureFormat}</format> <state>{sign:SignatureState}</state> <referencedBlockId>{xs:string}</referencedBlockId> <externalReference>{xs:string}</externalReference> <signerId>{xs:string}</signerId> <signingActId>{xs:string}</signingActId> <signedInfoHash>{xs:base64Binary}</signedInfoHash> <signedInfoHashAlgorithm>{xs:string}</signedInfoHashAlgorithm> <signatureAlgorithm>{xs:string}</signatureAlgorithm> <signatureValue>{xs:base64Binary}</signatureValue> <signaturePolicy> <policyId>{xs:string}</policyId> <description>{xs:string}</description> <policyHash>{xs:base64Binary}</policyHash> <policyHashAlgorithm>{xs:string}</policyHashAlgorithm> </signaturePolicy> <signingDateTime>{mx:dateTime}</signingDateTime> <rejectionDateTime>{mx:dateTime}</rejectionDateTime> <rejectionReason>{xs:string}</rejectionReason> <validation>{xs:string}</validation> <signingCallbackUrl>{xs:string}</signingCallbackUrl> <rejectionCallbackUrl>{xs:string}</rejectionCallbackUrl> </signature> <signer> <signerId>{xs:string}</signerId> <signerIdentCode>{xs:string}</signerIdentCode> <signerUserId>{xs:string}</signerUserId> <signerRoleId>{xs:string}</signerRoleId> <signerCertificate>{xs:base64Binary}</signerCertificate> <automatic>{xs:boolean}</automatic> <signerName>{xs:string}</signerName> <signerCertificateId>{xs:string}</signerCertificateId> <signerCertificateIssuer>{xs:string}</signerCertificateIssuer> </signer> </signedDocument> </ns2:storeSignedDocument> </S:Body> </S:Envelope> | ||||||||||||
Sample output message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:storeSignedDocumentResponse xmlns:ns2="http://sign.matrix.org/"> <storedSignedDocument> <docId>{xs:string}</docId> <version>{xs:int}</version> <title>{xs:string}</title> <docTypeId>{xs:string}</docTypeId> <state>{doc:State}</state> <language>{xs:string}</language> <authorId>{xs:string}</authorId> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <changeDateTime>{mx:dateTime}</changeDateTime> <changeUserId>{xs:string}</changeUserId> <creationDate>{mx:date}</creationDate> <classId>{xs:string}</classId> <caseId>{xs:string}</caseId> <summary>{xs:string}</summary> <content> <contentId>{xs:string}</contentId> <contentType>{xs:string}</contentType> <formatId>{xs:string}</formatId> <formatDescription>{xs:string}</formatDescription> <language>{xs:string}</language> <creationDate>{mx:date}</creationDate> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <size>{xs:long}</size> <data>{xs:base64Binary}</data> <url>{xs:string}</url> </content> <lockUserId>{xs:string}</lockUserId> <property> <name>{xs:string}</name> <value>{xs:string}</value> </property> <relatedDocument> <relationType>{doc:RelationType}</relationType> <name>{xs:string}</name> <docId>{xs:string}</docId> <version>{xs:int}</version> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <changeDateTime>{mx:dateTime}</changeDateTime> <changeUserId>{xs:string}</changeUserId> </relatedDocument> <accessControl> <action>{xs:string}</action> <roleId>{xs:string}</roleId> </accessControl> <sigDocId>{xs:string}</sigDocId> <sigDocFormatId>{xs:string}</sigDocFormatId> <sigDocState>{sign:SignedDocumentState}</sigDocState> <currentSigningAct>{xs:int}</currentSigningAct> <signingAct> <signingActId>{xs:string}</signingActId> <description>{xs:string}</description> <type>{xs:string}</type> <minimumSigners>{xs:int}</minimumSigners> <signaturePolicy> <policyId>{xs:string}</policyId> <description>{xs:string}</description> <policyHash>{xs:base64Binary}</policyHash> <policyHashAlgorithm>{xs:string}</policyHashAlgorithm> </signaturePolicy> </signingAct> <data> <blockId>{xs:string}</blockId> <containerBlockId>{xs:string}</containerBlockId> <containerIndex>{xs:int}</containerIndex> <data>{xs:base64Binary}</data> <hash>{xs:base64Binary}</hash> <hashAlgorithm>{xs:string}</hashAlgorithm> <label>{xs:string}</label> <type>{xs:string}</type> <mimeType>{xs:string}</mimeType> </data> <signature> <blockId>{xs:string}</blockId> <containerBlockId>{xs:string}</containerBlockId> <containerIndex>{xs:int}</containerIndex> <data>{xs:base64Binary}</data> <hash>{xs:base64Binary}</hash> <hashAlgorithm>{xs:string}</hashAlgorithm> <format>{sign:SignatureFormat}</format> <state>{sign:SignatureState}</state> <referencedBlockId>{xs:string}</referencedBlockId> <externalReference>{xs:string}</externalReference> <signerId>{xs:string}</signerId> <signingActId>{xs:string}</signingActId> <signedInfoHash>{xs:base64Binary}</signedInfoHash> <signedInfoHashAlgorithm>{xs:string}</signedInfoHashAlgorithm> <signatureAlgorithm>{xs:string}</signatureAlgorithm> <signatureValue>{xs:base64Binary}</signatureValue> <signaturePolicy> <policyId>{xs:string}</policyId> <description>{xs:string}</description> <policyHash>{xs:base64Binary}</policyHash> <policyHashAlgorithm>{xs:string}</policyHashAlgorithm> </signaturePolicy> <signingDateTime>{mx:dateTime}</signingDateTime> <rejectionDateTime>{mx:dateTime}</rejectionDateTime> <rejectionReason>{xs:string}</rejectionReason> <validation>{xs:string}</validation> <signingCallbackUrl>{xs:string}</signingCallbackUrl> <rejectionCallbackUrl>{xs:string}</rejectionCallbackUrl> </signature> <signer> <signerId>{xs:string}</signerId> <signerIdentCode>{xs:string}</signerIdentCode> <signerUserId>{xs:string}</signerUserId> <signerRoleId>{xs:string}</signerRoleId> <signerCertificate>{xs:base64Binary}</signerCertificate> <automatic>{xs:boolean}</automatic> <signerName>{xs:string}</signerName> <signerCertificateId>{xs:string}</signerCertificateId> <signerCertificateIssuer>{xs:string}</signerCertificateIssuer> </signer> </storedSignedDocument> </ns2:storeSignedDocumentResponse> </S:Body> </S:Envelope> |
Operation removeSignedDocument | |||||||||||||
Name: | removeSignedDocument | ||||||||||||
Signature: | removeSignedDocument (sigDocId {xs:string}) => removed {xs:boolean} | ||||||||||||
Java signature: | boolean removeSignedDocument(String sigDocId) | ||||||||||||
Description: |
Elimina un document signat a partir del seu identificador.
Serà necessari el rol SIGN_ADMIN per poder realitzar aquesta operació.
|
||||||||||||
Parameters: |
|
||||||||||||
Response: |
|
||||||||||||
Sample input message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:removeSignedDocument xmlns:ns2="http://sign.matrix.org/"> <sigDocId>{xs:string}</sigDocId> </ns2:removeSignedDocument> </S:Body> </S:Envelope> | ||||||||||||
Sample output message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:removeSignedDocumentResponse xmlns:ns2="http://sign.matrix.org/"> <removed>{xs:boolean}</removed> </ns2:removeSignedDocumentResponse> </S:Body> </S:Envelope> |
Operation findSignedDocuments | |||||||||||||
Name: | findSignedDocuments | ||||||||||||
Signature: | findSignedDocuments (filter {sign:SignedDocumentFilter}) => signedDocument {sign:SignedDocument}* | ||||||||||||
Java signature: | List<org.matrix.sign.SignedDocument> findSignedDocuments(org.matrix.sign.SignedDocumentFilter filter) | ||||||||||||
Description: |
Cerca documents que satisfan unes determinades condicions expressades per mitjà d'un filtre SignedDocumentFilter.
|
||||||||||||
Parameters: |
|
||||||||||||
Response: |
|
||||||||||||
Sample input message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:findSignedDocuments xmlns:ns2="http://sign.matrix.org/"> <filter> <docId>{xs:string}</docId> <docTypeId>{xs:string}</docTypeId> <version>{xs:int}</version> <language>{xs:string}</language> <title>{xs:string}</title> <dateComparator>{xs:string}</dateComparator> <startDate>{mx:date}</startDate> <endDate>{mx:date}</endDate> <contentSearchExpression>{xs:string}</contentSearchExpression> <metadataSearchExpression>{xs:string}</metadataSearchExpression> <summary>{xs:boolean}</summary> <contentId>{xs:string}</contentId> <property> <name>{xs:string}</name> <value>{xs:string}</value> </property> <outputProperty>{xs:string}</outputProperty> <orderByProperty> <name>{xs:string}</name> <descending>{xs:boolean}</descending> </orderByProperty> <firstResult>{xs:int}</firstResult> <maxResults>{xs:int}</maxResults> <includeContentMetadata>{xs:boolean}</includeContentMetadata> <states>{doc:State}</states> <rolesDisabled>{xs:boolean}</rolesDisabled> <classId>{xs:string}</classId> <signer> <signerId>{xs:string}</signerId> <signerIdentCode>{xs:string}</signerIdentCode> <signerUserId>{xs:string}</signerUserId> <signerRoleId>{xs:string}</signerRoleId> <signerCertificate>{xs:base64Binary}</signerCertificate> <automatic>{xs:boolean}</automatic> <signerName>{xs:string}</signerName> <signerCertificateId>{xs:string}</signerCertificateId> <signerCertificateIssuer>{xs:string}</signerCertificateIssuer> </signer> <sigDocState>{sign:SignedDocumentState}</sigDocState> </filter> </ns2:findSignedDocuments> </S:Body> </S:Envelope> | ||||||||||||
Sample output message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:findSignedDocumentsResponse xmlns:ns2="http://sign.matrix.org/"> <signedDocument> <docId>{xs:string}</docId> <version>{xs:int}</version> <title>{xs:string}</title> <docTypeId>{xs:string}</docTypeId> <state>{doc:State}</state> <language>{xs:string}</language> <authorId>{xs:string}</authorId> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <changeDateTime>{mx:dateTime}</changeDateTime> <changeUserId>{xs:string}</changeUserId> <creationDate>{mx:date}</creationDate> <classId>{xs:string}</classId> <caseId>{xs:string}</caseId> <summary>{xs:string}</summary> <content> <contentId>{xs:string}</contentId> <contentType>{xs:string}</contentType> <formatId>{xs:string}</formatId> <formatDescription>{xs:string}</formatDescription> <language>{xs:string}</language> <creationDate>{mx:date}</creationDate> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <size>{xs:long}</size> <data>{xs:base64Binary}</data> <url>{xs:string}</url> </content> <lockUserId>{xs:string}</lockUserId> <property> <name>{xs:string}</name> <value>{xs:string}</value> </property> <relatedDocument> <relationType>{doc:RelationType}</relationType> <name>{xs:string}</name> <docId>{xs:string}</docId> <version>{xs:int}</version> <captureDateTime>{mx:dateTime}</captureDateTime> <captureUserId>{xs:string}</captureUserId> <changeDateTime>{mx:dateTime}</changeDateTime> <changeUserId>{xs:string}</changeUserId> </relatedDocument> <accessControl> <action>{xs:string}</action> <roleId>{xs:string}</roleId> </accessControl> <sigDocId>{xs:string}</sigDocId> <sigDocFormatId>{xs:string}</sigDocFormatId> <sigDocState>{sign:SignedDocumentState}</sigDocState> <currentSigningAct>{xs:int}</currentSigningAct> <signingAct> <signingActId>{xs:string}</signingActId> <description>{xs:string}</description> <type>{xs:string}</type> <minimumSigners>{xs:int}</minimumSigners> <signaturePolicy> <policyId>{xs:string}</policyId> <description>{xs:string}</description> <policyHash>{xs:base64Binary}</policyHash> <policyHashAlgorithm>{xs:string}</policyHashAlgorithm> </signaturePolicy> </signingAct> <data> <blockId>{xs:string}</blockId> <containerBlockId>{xs:string}</containerBlockId> <containerIndex>{xs:int}</containerIndex> <data>{xs:base64Binary}</data> <hash>{xs:base64Binary}</hash> <hashAlgorithm>{xs:string}</hashAlgorithm> <label>{xs:string}</label> <type>{xs:string}</type> <mimeType>{xs:string}</mimeType> </data> <signature> <blockId>{xs:string}</blockId> <containerBlockId>{xs:string}</containerBlockId> <containerIndex>{xs:int}</containerIndex> <data>{xs:base64Binary}</data> <hash>{xs:base64Binary}</hash> <hashAlgorithm>{xs:string}</hashAlgorithm> <format>{sign:SignatureFormat}</format> <state>{sign:SignatureState}</state> <referencedBlockId>{xs:string}</referencedBlockId> <externalReference>{xs:string}</externalReference> <signerId>{xs:string}</signerId> <signingActId>{xs:string}</signingActId> <signedInfoHash>{xs:base64Binary}</signedInfoHash> <signedInfoHashAlgorithm>{xs:string}</signedInfoHashAlgorithm> <signatureAlgorithm>{xs:string}</signatureAlgorithm> <signatureValue>{xs:base64Binary}</signatureValue> <signaturePolicy> <policyId>{xs:string}</policyId> <description>{xs:string}</description> <policyHash>{xs:base64Binary}</policyHash> <policyHashAlgorithm>{xs:string}</policyHashAlgorithm> </signaturePolicy> <signingDateTime>{mx:dateTime}</signingDateTime> <rejectionDateTime>{mx:dateTime}</rejectionDateTime> <rejectionReason>{xs:string}</rejectionReason> <validation>{xs:string}</validation> <signingCallbackUrl>{xs:string}</signingCallbackUrl> <rejectionCallbackUrl>{xs:string}</rejectionCallbackUrl> </signature> <signer> <signerId>{xs:string}</signerId> <signerIdentCode>{xs:string}</signerIdentCode> <signerUserId>{xs:string}</signerUserId> <signerRoleId>{xs:string}</signerRoleId> <signerCertificate>{xs:base64Binary}</signerCertificate> <automatic>{xs:boolean}</automatic> <signerName>{xs:string}</signerName> <signerCertificateId>{xs:string}</signerCertificateId> <signerCertificateIssuer>{xs:string}</signerCertificateIssuer> </signer> </signedDocument> </ns2:findSignedDocumentsResponse> </S:Body> </S:Envelope> |
Operation transformSignedDocument | |||||||||||||||||||||||||
Name: | transformSignedDocument | ||||||||||||||||||||||||
Signature: | transformSignedDocument (sigDocId {xs:string}, toSigDocFormatId {xs:string}, option {sign:TransformOption}*) => result {xs:base64Binary} | ||||||||||||||||||||||||
Java signature: | byte[] transformSignedDocument(String sigDocId, String toSigDocFormatId, List<org.matrix.sign.TransformOption> option) | ||||||||||||||||||||||||
Description: |
Transforma un document a un altre format documental.
|
||||||||||||||||||||||||
Parameters: |
|
||||||||||||||||||||||||
Response: |
|
||||||||||||||||||||||||
Errors: |
|
||||||||||||||||||||||||
Sample input message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:transformSignedDocument xmlns:ns2="http://sign.matrix.org/"> <sigDocId>{xs:string}</sigDocId> <toSigDocFormatId>{xs:string}</toSigDocFormatId> <option> <name>{xs:string}</name> <value>{xs:string}</value> </option> </ns2:transformSignedDocument> </S:Body> </S:Envelope> | ||||||||||||||||||||||||
Sample output message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:transformSignedDocumentResponse xmlns:ns2="http://sign.matrix.org/"> <result>{xs:base64Binary}</result> </ns2:transformSignedDocumentResponse> </S:Body> </S:Envelope> |
Operation getManagerMetaData | |||||||||||||
Name: | getManagerMetaData | ||||||||||||
Signature: | getManagerMetaData () => managerMetaData {sign:SignatureManagerMetaData} | ||||||||||||
Java signature: | org.matrix.sign.SignatureManagerMetaData getManagerMetaData() | ||||||||||||
Description: |
Recupera les caracterítiques de la implementació del servei.
|
||||||||||||
Parameters: |
|
||||||||||||
Response: |
|
||||||||||||
Sample input message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:getManagerMetaData xmlns:ns2="http://sign.matrix.org/"> </ns2:getManagerMetaData> </S:Body> </S:Envelope> | ||||||||||||
Sample output message: | <?xml version="1.0" ?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:getManagerMetaDataResponse xmlns:ns2="http://sign.matrix.org/"> <managerMetaData> {mx:ManagerMetaData} <certificateValidationService>{xs:string}</certificateValidationService> <signatureValidationService>{xs:string}</signatureValidationService> <timeStampService>{xs:string}</timeStampService> <sigDocFormatSupport> <sigDocFormatId>{xs:string}</sigDocFormatId> <version>{xs:string}</version> <description>{xs:string}</description> <creationSupported>{xs:boolean}</creationSupported> <toSigDocFormatId>{xs:string}</toSigDocFormatId> </sigDocFormatSupport> </managerMetaData> </ns2:getManagerMetaDataResponse> </S:Body> </S:Envelope> |