Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

En este apartado se explicarán los servicios de pfi y cómo inicializar su cliente java

ÍNDICE DEL CONTENIDO




Inicialización del cliente mediante CXF


Mediante sintaxis xml podemos definir fácilmente la configuración del cliente CXF para que acceda a los servicios de PFI. Inicialmente deberemos definir la referencia a la interfaz del servicio, que se encuentra dentro del cliente suministrado, así como a la dirección a la  que apunta el wsdl levantado.

IDocumentIntegrationService
<simple:client id="pfiClient" 
			   serviceClass="es.aragon.pfi.core.ws.IDocumentIntegrationService" 
			   address="http://[entorno:puerto]/pfi_core/services/IDocumentIntegrationServiceWS"
			   serviceName="s:IDocumentIntegrationService" 
			   xmlns:s="http://ws.core.pfi.aragon.es/ "
		       endpointName="s:IDocumentIntegrationServiceWS"
>
	<simple:outInterceptors>
		<ref bean="authorizeInterceptor" />
	</simple:outInterceptors>
</simple:client>


Como se puede observar en la definición XML del cliente CXF, se deberán configurar las urls donde se ubica el servicio IDocumentIntegrationServiceWS, para ello habrá que sustituir entorno y puerto por los valores correctos.
Las aplicaciones que se integran con PFI deben proporcionar en todas las peticiones el código de aplicación.

Para ello, utilizando los denominados interceptores, es posible rellenar este valor automáticamente en todas las peticiones. Como se ve en la definición del cliente se ha definido un interceptor de salida que entra en funcionamiento en el momento de construir la petición SOAP y que inserta el valor del código de aplicación en los parámetros de todos los métodos de PFI invocados.

<simple:outInterceptors>
	<ref bean="authorizeInterceptor" />
</simple:outInterceptors>


La definición al bean authotizeInterceptor que se incluye a continuación, permite indicarle el código de la aplicación, de esta manera el interceptor se encarga de establecer dicho valor en todos los parámetros de las llamadas a los servicios PFI. La clase con el interceptor de salida AuthorizeOutInterceptor se proporciona junto con el cliente de PFI.

<bean id="authorizeInterceptor" class="es.aragon.pfi.core.util.interceptors.AuthorizeOutInterceptor">
	<property name="applicationId" value="[código aplicación llamante]"/>
</bean>

-

Capturar notificaciones sobre cambios de estado en los documentos


Las aplicaciones integradoras deben definir un servlet al que invoque PFI cuando cambie el estado de un documento, no obstante, se puede consultar directamente al repositorio una vez que haya sido notificado el cambio para garantizar el último estado real.

No debe utilizarse la consulta directa al repositorio como mecanismo de control del estado de los documentos, ya que el número de llamadas recurrentes genera sobrecarga en los entornos, causando problemas tanto al propio integrador como al resto de los usuarios.


Dicho servlet se invocará con tres parámetros mediante querystring:

ParámetroDescripción
idAppPFI
CSVIdentificador del documento que ha sufrido un cambio de estado
estadoEstado en que se ha quedado el documento, borrador(1) u original(0)

-

Para que PFI pueda invocar a dicha url, ésta debe estar asociada a la aplicación a través de la plataforma PAU, en el atributo responseUrl correspondiente a la aplicación. Para ello el integrador deberá completar primero el  4.- Servicios de PFI#Procedimiento de alta descrito previamente en este manual.

-

Servicios SignerService


Método 'findQuickSignerList'

Método que busca una lista de firmantes compuesta por -el usuario -su jefe -el jefe de su jefe -los cinco últimos firmantes en su histórico

 Más detalles

Signatura

List<Signer> findQuickSignerList(SignerSearch signerSearch)

Parámetros de invocación

NombreTipoDescripción
signerSearch4.- Servicios de PFI#SignerSearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
signerListList<4.- Servicios de PFI#Signer>Lista de firmantes encontrados según los criterios de búsqueda indicados

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDQUICKSIGNERLISTError genérico durante el servicio findQuickSignerList
ORGANISMLIST_XXError durante la consulta de los datos en SIU (XX indica el código de error en SIU)

Ejemplos de invocación

Ejemplo de invocación
SignerSearch signerSearch = new SignerSearch();
signerSearch.setSignerNif("25448659X");
List<Signer> signerList = iSignerImpl.findQuickSignerList(signerSearch);

Método 'findSignerList'

Método que busca una lista de firmantes atendiendo a unos parámetros de búsqueda

 Más detalles

Signatura

List<Signer> findSignerList(SignerSearch signerSearch)

Parámetros de invocación

NombreTipoDescripción
signerSearch4.- Servicios de PFI#SignerSearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
signerListList<4.- Servicios de PFI#Signer>Lista de firmantes encontrados según los criterios de búsqueda indicados

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDSIGNERLISTError genérico durante el servicio findSignerList
GET_ORGANISM_HISTORICAL_INFORMATION_XXError durante la consulta de los datos en SIU (XX indica el código de error en SIU)

Ejemplos de invocación

Ejemplo de invocación
SignerSearch signerSearch = new SignerSearch();
signerSearch.setOrganismCode("ORG0001");
List<Signer> signerList = iSignerImpl.findSignerList(signerSearch);

Método 'findSignerByNif'

Método que busca un firmante atendiendo a unos parámetros de búsqueda establecidos en concreto se buscará el firmante que corresponde a un Nif

 Más detalles

Signatura

Signer findSignerByNif(SignerSearch signerSearch)

Parámetros de invocación

NombreTipoDescripción
signerSearch4.- Servicios de PFI#SignerSearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
signer4.- Servicios de PFI#SignerFirmante cuyo nif coincida con el proporcionado en el parámetro de búsqueda

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDSIGNERBYNIFError genérico durante el servicio findSignerByNif
GET_USER_INFORMATION_XXError durante la consulta de los datos en SIU (XX indica el código de error en SIU)

Ejemplos de invocación

Ejemplo de invocación
SignerSearch signerSearch = new SignerSearch();
signerSearch.setUserNif("78965412X");
Signer signer = iSignerImpl.findSignerByNif(signerSearch);

Método 'findProposedSigner'

Método que busca un firmante propuesto para un documento atendiendo a unos criterios de búsqueda

 Más detalles

Signatura

ParamProposedSigner findProposedSigner(ParamProposedSignerSearch paramProposedSignerSearch)

Parámetros de invocación

NombreTipoDescripción
paramProposedSignerSearch4.- Servicios de PFI#ParamProposedSignerSearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
proposedSigner4.- Servicios de PFI#ParamProposedSignerFirmante propuesto encontrado según los criterios de búsqueda indicados

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDPROPOSEDSIGNERError genérico durante el servicio findProposedSigner

Ejemplos de invocación

Ejemplo de invocación
ParamProposedSignerSearch paramProposedSignerSearch = new ParamProposedSignerSearch();
paramProposedSignerSearch.setSignerNif("78965412X");
ParamProposedSigner proposedSigner = iSignerImpl.findProposedSigner(paramProposedSignerSearch);

Método 'findProposedSignerList'

Método que busca la lista de firmantes propuestos según los criterios establecidos en el parámetro de entrada

 Más detalles

Signatura

ParamProposedSignerList findProposedSignerList(ParamProposedSignerSearch paramProposedSignerSearch)

Parámetros de invocación

NombreTipoDescripción
paramProposedSignerSearch4.- Servicios de PFI#ParamProposedSignerSearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
proposedSignerListParamProposedSignerListObjeto que encapsula la lista de firmantes propuestos encontrados y el tamaño de dicha lista

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_FINDPROPOSEDSIGNERLISTSIGNERSERVICEIMPL_FINDPROPOSEDSIGNERLIST

Ejemplos de invocación

Ejemplo de invocación
ParamProposedSignerSearch paramProposedSignerSearch = new ParamProposedSignerSearch();
paramProposedSignerSearch.setSignerNif("78965412X");
ParamProposedSignerList proposedSigner = iSignerImpl.findProposedSignerList(paramProposedSignerSearch);

Método 'saveProposedSigner'

Método que guarda en base de datos un firmante propuesto correspondiente a un documento

 Más detalles

Signatura

ParamProposedSigner saveProposedSigner(ParamProposedSigner paramProposedSigner, Document document)

Parámetros de invocación

NombreTipoDescripción
paramProposedSigner4.- Servicios de PFI#ParamProposedSignerParámetro que encapsula los datos del firmante propuesto
document4.- Servicios de PFI#DocumentDocumento al que se asociarán los firmantes propuestos

Parámetros de respuesta

NombreTipoDescripción
result4.- Servicios de PFI#ParamProposedSignerObjeto que encapsula los datos del firmante propuesto que se almacenado en la base de datos

Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_SAVEPROPOSEDSIGNERError genérico durante el servicio saveProposedSigner
PROPOSEDSIGNERMANAGER_FINDPROPOSEDSIGNERLISTError inesperado al buscar en la tabla de firmantes propuestos
SIGNMANAGERIMPL_FINDSIGNBEANBYPROPOSEDSIGNERBEANIDError inesperado al buscar una firma a partir de el identificador de un firmante propuesto

Ejemplos de invocación

Ejemplo de invocación
ParamProposedSignerSearch paramProposedSignerSearch = new ParamProposedSignerSearch();
paramProposedSignerSearch.setSignerNif("78965412X");
ParamProposedSigner proposedSigner = iSignerImpl.findProposedSigner(paramProposedSignerSearch);

DocumentSearch documentSearch = new DocumentSearch();
documentSearch.setCsv("CSV6F70H2A66T1E01PFI");
Document document = iDocumentImpl.findDocument(documentSearch);

ParamProposedSigner result = iSignerImpl.saveProposedSigner(paramProposedSigner, document);

Método 'deleteProposedSigner'

Método que borra un firmante propuesto de un documento y reordena el resto de firmantes

 Más detalles

Signatura

void deleteProposedSigner(ParamProposedSigner paramProposedSigner, Long documentId)

Parámetros de invocación

NombreTipoDescripción
paramProposedSigner4.- Servicios de PFI#ParamProposedSignerParámetro que encapsula los datos del firmante propuesto
documentIdLongIdentificador del documento del cual se eliminaran los firmantes propuestos

Parámetros de respuesta

NombreTipoDescripción



Códigos error

CódigoDescripción
SIGNERSERVICEIMPL_DELETEPROPOSEDSIGNERError genérico durante el servicio deleteProposedSigner
PROPOSEDSIGNERMANAGER_FINDPROPOSEDSIGNERLISTError inesperado al buscar en la tabla de firmantes propuestos
DOCUMENTMANAGERIMPL_FINDDOCUMENTError inesperado al buscar el documento

Ejemplos de invocación

Ejemplo de invocación
ParamProposedSignerSearch paramProposedSignerSearch = new ParamProposedSignerSearch();
paramProposedSignerSearch.setSignerNif("78965412X");
ParamProposedSigner proposedSigner = iSignerImpl.findProposedSigner(paramProposedSignerSearch);

DocumentSearch documentSearch = new DocumentSearch();
documentSearch.setCsv("CSV6F70H2A66T1E01PFI");
Document document = iDocumentImpl.findDocument(documentSearch);

iSignerImpl.deleteProposedSigner(paramProposedSigner, document.getId());

Servicios DocumentService


Método 'findDocument'

Método que busca un documento utilizando los criterios de búsqueda establecidos como parámetro de entrada

 Más detalles

Signatura

Document findDocument(DocumentSearch documentSearch)

Parámetros de invocación

NombreTipoDescripción
documentSearch4.- Servicios de PFI#DocumentSearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
document4.- Servicios de PFI#DocumentDocumento encontrado según el criterio de búsqueda proporcionada

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENT_02Error genérico durante el servicio findDocument

Ejemplos de invocación

Ejemplo de invocación
DocumentSearch documentSearch = new DocumentSearch();
documentSearch.setCsv("CSV6F70H2A66T1E01PFI");
Document document = iDocumentImpl.findDocument(documentSearch);

Método 'findDocumentList'

Método que busca una lista de documentos utilizando los criterios de búsqueda establecidos como parámetro de entrada

 Más detalles

Signatura

List<Document> findDocumentList(DocumentSearch documentSearch)

Parámetros de invocación

NombreTipoDescripción
documentSearch4.- Servicios de PFI#DocumentSearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
documentListList<4.- Servicios de PFI#Document>Lista de documentos encontrados según los parámetros de búsqueda indicados

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENTLIST_01Error genérico durante el servicio findDocumentList
DOCUMENTSERVICEIMPL_FINDDOCUMENTLIST_02Error genérico durante el servicio findDocumentList

Ejemplos de invocación

Ejemplo de invocación
DocumentSearch documentSearch = new DocumentSearch();
documentSearch.setState(2);
List<Document> documentList = iDocumentImpl.findDocumentList(documentSearch);

Método 'findDocumentTray'

Método que permite la búsqueda de un listado de documentos para las bandejas a partir del objeto ParamTraySearch

 Más detalles

Signatura

ResultTrayList findDocumentTray(ParamTraySearch paramTraySearch)

Parámetros de invocación

NombreTipoDescripción
paramTraySearch4.- Servicios de PFI#ParamTraySearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultTrayListResultTrayListLista de documentos para la bandeja que cumplen los criterios de búsqueda

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENTTRAYError genérico durante el servicio findDocumentTray
FIND_DOCUMENT_LISTError al buscar los documentos en bbdd

Ejemplos de invocación

Ejemplo de invocación
ParamTraySearch paramTraySearch = new ParamTraySearch();
paramTraySearch.setDraft(true);
ResultTrayList resultTrayList = iDocumentImpl.findDocumentTray(paramTraySearch);

Método 'findDocumentTrayVisibility'

Método que permite la búsqueda de un listado de documentos para las bandejas a partir del objeto ParamTraySearch incluyendo información de visibilidad

 Más detalles

Signatura

ResultTrayListVisibility findDocumentTrayVisibility(ParamTraySearch paramTraySearch)

Parámetros de invocación

NombreTipoDescripción
paramTraySearch4.- Servicios de PFI#ParamTraySearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultTrayListVisibilityResultTrayListVisibilityLista de documentos para la bandeja que cumplen los criterios de búsqueda con información de visibilidad

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENTTRAYError genérico durante el servicio findDocumentTrayVisibility
PAUINTEGRATION_PROCEDURELISTBYUSERError en el sistema de autentificación. Se ha producido el siguiente error al buscar la lista de procedimientos del usuario desde PAU
FIND_DOCUMENT_LISTError al buscar los documentos en bbdd

Ejemplos de invocación

Ejemplo de invocación
ParamTraySearch paramTraySearch = new ParamTraySearch();
paramTraySearch.setDraft(true);
ResultTrayListVisibility resultTrayListVisibility = iDocumentImpl.findDocumentTrayVisibility(paramTraySearch);

Método 'findDocumentFolderList'

Método que busca un listado de bloques o carpetas a partir del objeto de búsqueda del documento

 Más detalles

Signatura

List<ParamFolder> findDocumentFolderList(DocumentSearch document)

Parámetros de invocación

NombreTipoDescripción
document4.- Servicios de PFI#DocumentSearchParámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
paramFolderList<ParamFolder>Error inesperado al buscar los diferentes folder a los que pertenecen los documentos

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDDOCUMENTFOLDERLISTError genérico durante el servicio findDocumentFolderList
NOT_EXIST_DOCUMENT

Ejemplos de invocación

Ejemplo de invocación
DocumentMetadataSearch documentMetadataSearch = new DocumentMetadataSearch();


Método 'signDocument'

Método para firmar un documento

 Más detalles

Signatura

signDocument(ParamSignDocument paramSignDocument)

Parámetros de invocación

NombreTipoDescripción
paramSignDocument4.- Servicios de PFI#ParamSignDocumentParámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción



Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_SIGNDOCUMENT_01Error al firmar el documento porque ya esta en uso o superado la fecha de firma
DOCUMENTSERVICEIMPL_SIGNDOCUMENT_02El proceso de firma ha superado la fecha de firma del documento. Por favor, inténtelo de nuevo
DOCUMENTSERVICEIMPL_SIGNDOCUMENT_03No se puede actualizar el contenido porque ya está en uso
DOCUMENTSERVICEIMPL_SIGNDOCUMENT_04No se puede cambiar el estado porque ya está en uso
DOCUMENTSERVICEIMPL_SIGNDOCUMENT_05Error si se trata de firma simple simpre queda firmado, situacion imposible
DOCUMENTSERVICEIMPL_SIGNDOCUMENT_06No se puede guardar la firma en el documento porque ya está en uso

Ejemplos de invocación

Ejemplo de invocación
ParamSignDocument paramSignDocument = new ParamSignDocument();
paramSignDocument.setCsv("CSV6F70H2A66T1E01PFI");
iDocumentImpl.signDocument(paramSignDocument);

Método 'saveDocument'

Método para guardar los datos de un documento

 Más detalles

Signatura

Document saveDocument(Document document)

Parámetros de invocación

NombreTipoDescripción
document4.- Servicios de PFI#DocumentParámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
document4.- Servicios de PFI#DocumentEl documento resultante de la operación

Códigos error

CódigoDescripción
PARSE_CREATE_BLOBNo se ha podido crear el objeto de base de datos para el binario correspondiente
UTILSCORE_GENERATETEMPORALDOCUMENT_01Error al generar el documento temporal
UTILSCORE_GENERATETEMPORALDOCUMENT_02Error al generar el documento temporal
DOCUMENTSERVICEIMPL_SAVEDOCUMENTError genérico durante el método saveDocument
Ejemplo de invocación
	System.out.println("- PRUEBA 1.1: GUARDAR UN DOCUMENTO Pendiente de firma CON CSV");
		Document document = createNewDocument(Integer.parseInt(EstadoPFI.PENDIENTE_DE_FIRMA), null);
		document.setSaveFile(true);
		try {
			System.out.println("Guardar el documento");
			System.out.println("CSV: " + document.getCsv());
			document = documentServiceWS.saveDocument(document);

			System.out.println("Documento guardado");
		} catch (InternalCoreException e) {
			System.out.println("Error al guardar el documento con csv " + document.getCsv());
			System.out.println("Error: " + e.getMsg());

		}
	public es.aragon.pfi.core.ws.data.Document createNewDocument(Integer state, String csv) {
		es.aragon.pfi.core.ws.data.Document document = new es.aragon.pfi.core.ws.data.Document();
		if (csv == null) {
			document.setCsv(Utils.obtenerCSV());
		} else {
			document.setCsv(csv);
		}
		ParamFile paramFile = new ParamFile();
		paramFile.setContent(new DataHandler(new FileDataSource(new File("./src/main/resources/pdf.pdf"))));
		paramFile.setFileName("test.pdf");
		paramFile.setFileSize(new Long(1024));
		paramFile.setFileGenerated(new DataHandler(new FileDataSource(new File("./src/main/resources/pdf.pdf"))));
		paramFile.setFileGeneratedDate(new Date());
		document.setFile(paramFile);
		document.setFolder("testFolder");
		document.setPriority(Integer.parseInt(PFICoreConstants.PRIORITY_MEDIUM));
		document.setRejected(PFICoreConstants.DOCUMENT_NOREJECTED);
		document.setSignType(1);
		// XXX: contemplar la creación de un propose_signer con la posición
		// document.setSignaturePosition(PFICoreConstants.SIGNATURE_POS_NOSIGN);
		document.setState(state);
		document.setMetadataCache(createMetadataCache());
		return document;
	}

	public static Map<ParamMetadataId, ParamMetadata> createMetadataCache() {
		Map<ParamMetadataId, ParamMetadata> metadataCache = new HashMap<ParamMetadataId, ParamMetadata>();
		// Se crea el firmante propuesto
		ParamMetadata paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.SIGNER_ENTITY);
		paramMetadata.setMetadataName("agente_desc_nombre");
		paramMetadata.setMetadataValue("LUCIA CASPE - CADUCADO PRUEBAS AUTOMATIZADAS");
		ParamMetadataId paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.SIGNER_ENTITY);
		paramMetadata.setMetadataName("agente_ident_identificacion");
		paramMetadata.setMetadataValue("96666666N");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		// Se crea el preparador
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.ISSUER_ENTITY);
		paramMetadata.setMetadataName("agente_desc_nombre");
		paramMetadata.setMetadataValue("LUCIA CASPE - CADUCADO PRUEBAS AUTOMATIZADAS");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.SIGNER_ENTITY);
		paramMetadata.setMetadataName("agente_ident_identificacion");
		paramMetadata.setMetadataValue("96666666N");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		// Se crea la fecha de captura
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.DOCUMENT_ENTITY);
		paramMetadata.setMetadataName("dea_ident_fecha_captura");
		paramMetadata.setMetadataValue(Utils.fechaISO86012004(new Date()));
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		// Se crea la descripción
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.DOCUMENT_ENTITY);
		paramMetadata.setMetadataName("dea_desc_descripcion");
		paramMetadata.setMetadataValue("Documento de test");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		// Se crea el procedimiento
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.DOCUMENT_ENTITY);
		paramMetadata.setMetadataName("dea_cont_nom_procedimiento");
		paramMetadata.setMetadataValue("AYUDA A LOS CONTRATOS AGRARIOS");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.DOCUMENT_ENTITY);
		paramMetadata.setMetadataName("dea_cont_codprocedimiento");
		paramMetadata.setMetadataValue("404");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		// Se crea el tipo de documento
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.DOCUMENT_ENTITY);
		paramMetadata.setMetadataName("dea_desc_tipo_documento");
		paramMetadata.setMetadataValue("ACUERDO");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		// Se crea el estado y el origen
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.DOCUMENT_ENTITY);
		paramMetadata.setMetadataName("dea_desc_estado");
		paramMetadata.setMetadataValue("0");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		paramMetadata = new ParamMetadata();
		paramMetadata.setEntity(PFICoreConstants.DOCUMENT_ENTITY);
		paramMetadata.setMetadataName("dea_ident_origen");
		paramMetadata.setMetadataValue("1");
		paramMetadataId = new ParamMetadataId();
		paramMetadataId.setMetadataName(paramMetadata.getMetadataName());
		paramMetadataId.setEntity(paramMetadata.getEntity());
		metadataCache.put(paramMetadataId, paramMetadata);
		return metadataCache;
	}

Método 'findMetadataValue'

Método para guardar los datos de un documento

 Más detalles

Signatura

findMetadataValue(ParamMetadata paramMetadata)

Parámetros de invocación

NombreTipoDescripción
paramMetadata4.- Servicios de PFI#ParamMetadata Parámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
valueStringEl valor de metadato encontrado

Códigos error

CódigoDescripción
DOCUMENTSERVICEIMPL_FINDMETADATAVALUEError genérico durante el servicio findMetadataValue

Ejemplos de invocación

Ejemplo de invocación
ParamMetadata paramMetadata = new ParamMetadata();
paramMetadata.setMetadataName("metatada-name");
String value = iDocumentImpl.findMetadataValue(paramMetadata);

Método 'getDocumentState'

Método para obtener el estado del documento

 Más detalles

Signatura

Integer getDocumentState(ParamGetDocumentState paramGetDocumentState)

Parámetros de invocación

NombreTipoDescripción
paramGetDocumentState4.- Servicios de PFI#ParamGetDocumentStateParámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
stateInteger

Numero de estado correspondiente en porta-firmas:

6 →  En paralelo

4 →  Anulado

3 →  Firma Programada

2 →  Firmado

1 →  Pendiente de firma

0 → Borrador

Códigos error

CódigoDescripción

DOCUMENTSERVICEIMPL_GETDOCUMENTSTATE

Error genérico durante el servicio getDocumentState
FIND_DOCUMENTError inesperado al buscar un documento
DOCUMENTMANAGERIMPL_FINDDOCUMENTError buscando documento

Ejemplos de invocación

Ejemplo de invocación
ParamGetDocumentState paramGetDocumentState = new ParamGetDocumentState();
paramGetDocumentState.setCsv("CSVP55RYQS7R9AF01PFI");
Integer documentState = IDocumentService.getDocumentState(paramGetDocumentState);

Método 'setDocumentState'

Método para cambiar el estado de un documento

 Más detalles

Signatura

void setDocumentState(ParamSetDocumentState paramSetDocumentState)

Parámetros de invocación

NombreTipoDescripción
paramSetDocumentState4.- Servicios de PFI#ParamSetDocumentStateParámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción



Códigos error

CódigoDescripción

DOCUMENTSERVICEIMPL_SIGNDOCUMENT_03

No se puede actualizar el contenido porque ya está en uso
DOCUMENTSERVICEIMPL_SETDOCUMENTSTATEError genérico durante el metodo setDocumentState
DOCUMENTMANAGERIMPL_FINDDOCUMENTLISTError inesperado al buscar una lista de documentos

Ejemplos de invocación

Ejemplo de invocación
ParamSetDocumentState paramSetDocumentState = new ParamSetDocumentState();
paramSetDocumentState.setCsv("CSVP55RYQS7R9AF01PFI");
paramSetDocumentState.setState(0);
IDocumentService.setDocumentState(paramGetDocumentState);

Método 'getOperation'

Método para obtener la operación asociada al documento

 Más detalles

Signatura

ResultGetOperation getOperation(ParamGetOperation paramGetOperation)

Parámetros de invocación

NombreTipoDescripción
paramGetOperationParamGetOperationParámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultGetOperationResultGetOperation

Objeto que encapsula el resultado de la operación

Códigos error

CódigoDescripción

DOCUMENTSERVICEIMPL_GETOPERATION

Error genérico durante el servicio getOperation
SCDEINTEGRATION_GETSTATUSError al comprobar el estado de la operacion
LOAD_OPERATIONError buscando operación. El usuario no tiene permisos para ver la operación
FIND_OPERATIONError buscando operación

Ejemplos de invocación

Ejemplo de invocación
ParamGetOperation paramGetOperation = new ParamGetOperation();
paramGetOperation.setDocumentId(1L);
ResultGetOperation resultGetOperation = IDocumentService.getOperation(paramGetOperation);

Servicios AdviceService


Método 'sendAdvice'

Método que manda un aviso utilizando el sistema de cola de sga para informar de algún cambio en un documento

 Más detalles

Signatura

void sendAdvice(Integer noteType, String csv, String text, String userAdviser)

Parámetros de invocación

NombreTipoDescripción
noteTypeIntegerDefine el tipo de nota para identificar qué cambio ha sufrido el documento
csvStringCódigo seguro de verificación del documento que genera el aviso
textStringContenido de aviso
userAdviserStringNIF de usuario que ha generado el aviso

Parámetros de respuesta

NombreTipoDescripción



Códigos error

CódigoDescripción

ADVICESERVICEIMPL_SENDADVICE

Error genérico durante el servicio sendAdvice
DOCUMENTMANAGERIMPL_FINDDOCUMENTError inesperado al buscar el documento

Ejemplos de invocación

Ejemplo de invocación
String userNif = "12345678X";
DocumentSearch documentSearch = new DocumentSearch();
documentSearch.setCsv("CSV6F70H2A66T1E01PFI");
Document document = iDocumentImpl.findDocument(documentSearch);

IAdviceService.sendAdvice(PFICoreConstants.NOTE_TYPE_PROPOSEDSIGNER, document.getCsv(), null, userNif);

Método 'sendMail'

Método que manda un correo electrónico de manera inmediata mediante sga para informar de algún cambio en un documento

 Más detalles

Signatura

void sendMail(String fiscalAnagram, String asunto, String mensaje)

Parámetros de invocación

NombreTipoDescripción
fiscalAnagramStringIdentificación fiscal
asuntoStringAsunto de mensaje que se enviará
mensajeStringContenido de mensaje que se enviará

Parámetros de respuesta

NombreTipoDescripción



Códigos error

CódigoDescripción

ADVICESERVICEIMPL_SENDMAIL

Error genérico durante el servicio sendMail
SENDADVICE_ADVICEMANAGERError al generar el aviso por correo

Ejemplos de invocación

Ejemplo de invocación
String userNif = "12345678X";
String message = "...";

IAdviceService.sendAdvice(userNif, "Operacion finalizada", message);

Servicios DocumentIntegrationService


Método 'sendDocumentumDocument'

Cuando una aplicación que integra Porta-firmas almacena un documento en Documentum y desea que quede guardado en Porta-firmas, invoca este servicio para que posteriormente Porta-firmas pueda hacer uso de dicho documento.

 Más detalles

Signatura

ResultSendDocument sendDocumentumDocument(ParamSendDocument paramSendDocument)

Parámetros de invocación

NombreTipoDescripción
paramSendDocument4.- Servicios de PFI#ParamSendDocumentParámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultSendDocument4.- Servicios de PFI#ResultSendDocument

Objeto que encapsula el resultado de la operación, proporcionado información en caso de error

Códigos error

CódigoDescripción

DOCUMENTINTEGRATIONMANAGERIMPL_SENDDOCUMENTUMDOCUMENT

Error inesperado al crear un documento en la tabla de PFI_DOCUMENT
DOCUMENTMANAGERIMPL_FINDDOCUMENTError inesperado al buscar un documento
LOAD_DOCUMENTError cargando documentos
SIUINTEGRATION_SENDPROPOSEDSIGNERS
Error en el sistema de identificación. El firmante propuesto debe estar dado de alta en el sistema de identificación de usuarios (SIU)

Ejemplos de invocación

Ejemplo de invocación
ParamSendDocument paramSendDocument = new ParamSendDocument();
paramSendDocument.setCsv("CSVDA6FLBW3PNAX01PFI");
paramSendDocument.setApplicationId("PFI");
paramSendDocument.setUserNif("00000000T");
ResultSendDocument resultSendDocument = iDocumentIntegrationImpl.sendDocumentumDocument(paramSendDocument);

Método 'updateQuorumAndLimitDateDocument'

Método que actualiza el número mínimo de firmantes que deben firmar un documento y fecha límite de firma en los documentos con más de un firmante

 Más detalles

Signatura

ResultUpdateQuorumAndLimitDate updateQuorumAndLimitDateDocument (ParamUpdateQuorumAndLimitDate paramUpdateQuorumAndDate)

Parámetros de invocación

NombreTipoDescripción
paramUpdateQuorumAndDate4.- Servicios de PFI#ParamUpdateQuorumAndLimitDateParámetros de entrada (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

NombreTipoDescripción
resultUpdateQuorum4.- Servicios de PFI#ResultUpdateQuorumAndLimitDate

Objeto que encapsula el resultado de la operación, proporcionado información en caso de error

Códigos error

CódigoDescripción

QUORUMTASK_DOCUMENTNONEXISTING

El documento con el CSV especificado no existe en la base de datos de PFI
QUORUMTASK_QUORUMWRONGEl valor de quorum indicado es incorrecto. Debe ser mayor que 0 y menor o igual que el número de firmantes propuestos del documento
QUORUMTASK_DATEWRONGLa fecha límite de firma del documento ha expirado
QUORUMTASK_NOMULTIFIRMAEl documento no es multifirma
QUORUMTASK_SIGNEDEl documento ya ha sido firmado por alguno de los firmantes

Ejemplos de invocación

Ejemplo de invocación
ParamUpdateQuorumAndLimitDate paramUpdateQuorumAndDate = new ParamUpdateQuorumAndLimitDate();
paramUpdateQuorumAndDate.setCsv("CSVP55RYQS7R9AF01PFI");
paramUpdateQuorumAndDate.setQuorum(2);
//queremos de fecha límite por ejemplo el día de hoy más una semana
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
Integer incFecha = 7;
cal.add(Calendar.DATE, incFecha);
paramCheckQuorumAndDate.setDate(cal.getTime());
paramCheckQuorumAndDate.setQuorumOnly(false);

ResultUpdateQuorumAndLimitDate resultCheckQuorumAndDate = iDocumentIntegrationImpl.updateQuorumAndLimitDateDocument(paramUpdateQuorumAndDate);

Suscripción a eventos


PFI se integra con SGA para el envío de eventos. Para que una aplicación pueda recibir los eventos de PFI, es necesario que esté dada de alta en SGA y que publique un servicio web para la recepción de los eventos. En el manual de SGA se explica cómo publicar el servicio web para poder recibir los eventos.

PFI envía eventos a través de los siguientes métodos:

  • expiredDocument → Método que informa los documentos que han quedado expirados por no haber sido firmados antes de la fecha límite configurada. En los datos del evento llega el código CSV del documento y su estado. Los estados a recibir son los siguientes:
    • Estado 0 (BORRADOR ) → Un documento queda expirado en estado 0 (BORRADOR) cuando no tiene ninguna firma realizada y no ha sido firmado antes de la fecha límite configurada
    • Estado 2 (FIRMADO) → Un documento queda expirado en estado 2 (FIRMADO) cuando tiene todas las firmas necesarias realizadas pero por algún motivo ha quedado en el estado erróneo y no se ha cumplido la fecha límite configurada

Ejemplo de datos del evento que recibiría la aplicación destino:

La aplicación destino que desee recibir los eventos debe estar suscrita en SGA al método expiredDocument de PFI. Además, en PAU deberá tener permiso sobre el método expiredDocument de PFI.


  • sendEvent → Método que informa sobre los cambios de estado de los documentos de PFI. Para poder recibir estos eventos de cambios de estado, los documentos deben tener asignado el alias de la aplicación receptora en el metadato dea_ident_codigo_aplicacion. De lo contrario, no se recibirán los eventos. El evento se compone de clave y valor. La clave es el CSV del documento y el valor es el estado del documento. Los cambios de estado que se notifican son los siguientes:
    • Estado 3 (Firmando asíncronamente) → Estado al que se pasan los documentos al inicio del proceso de firma para indicar que se está realizando la firma del documento.
    • Estado 6 (Firma paralela) → Se alcanza este estado cuando un documento tiene varios firmantes propuestos y alguno de ellos ya ha firmado pero todavía no se cumple el quorum.
    • Estado 2 (Firmado) → Documento firmado.
    • Estado 0 (Borrador) → Se recibe este evento cuando se rechaza un documento pendiente de firma.
    • Estado 9 (Anulado) → Se recibe este evento cuando se anula un documento.

Ejemplo de datos del evento que recibiría la aplicación destino:

La aplicación destino que desee recibir los eventos debe estar suscrita en SGA al método sendEvent de PFI. Además, en PAU deberá tener permiso sobre el método sendEvent de PFI.

Anexos


Objectos Comunes

Objeto   'SignerSearch'

NombreTipoDescripción
auditorNifStringNif del auditor a buscar
signerNifStringNif del firmante para el que se quieren buscar auditores
fiscalAnagramStringNif del usuario identificado en la aplicación
organismCodeStringCódigo de organismo del firmante
nameStringNombre del firmante
surname1StringPrimer apellido de firmante
surname2StringSegundo apellido de firmante
emailStringE-mail del firmante
roleCodeStringCódigo del rol del usuario
userOrganismCodeStringCódigo de organismo de usuario
prepararOtrasRamasbooleanIndica si el usuario tiene acceso a ramas diferentes a la suya
fromIndexintÍndice a partir del que se quieren obtener los auditores
toIndexintÍndice hasta el que se permite devolver auditores
maxResultsintMáximo número de auditores que se devuelven
sortColumnStringIndica la ordenación de los resultados
ascendingBooleanIndica si la ordenación de los resultados es ascendente o descendente
activeBooleanIndica si han de ser activos los firmantes encontrados o no

Objeto   'Signer'

NombreTipoDescripción
nameLongNombre del firmante
surname1StringPrimer apellido del firmante
surname2StringSegundo apellido del firmante
nifStringNif del firmante
fiscalAnagramStringAnagrama fiscal del auditor
organismStringOrganismos en los que firma
roleStringNombre del rol del firmante
roleCodeStringCódigo del rol del firmante
organismCodeStringNombre del organismo en el que firma

Objeto   'ParamProposedSignerSearch'

NombreTipoDescripción
signerNifStringNif del firmante propuesto
signerNameStringNombre del firmante propuesto
signerDateToDateIndica el inicio del periodo para cotejar la fecha de firma
signerDateFromDateIndica el final del periodo para cotejar la fecha de firma
signaturePositionIntegerTipo de posición de los pies de firma
signerOrderIntegerOrden de firma del firmante propuesto
positionStringCoordenadas donde se ha colocado el pie de firma del firmante propuesto
delegationTextStringTexto de delegación del firmante propuesto
signedIntegerIndica si el firmante propuesto ha firmando (1) o no (0)
signerOrgCodeStringCódigo de organismo del firmante propuesto
documentDocumentDocumento para el el cual se buscarán los firmantes propuestos
signerStatusStringCondición del firmante
fromIndexintÍndice a partir del que se quieren obtener los auditores
toIndexintÍndice hasta el que se permite devolver auditores
maxResultsintMáximo número de auditores que se devuelven
sortColumnStringIndica la ordenación de los resultados
ascendingBooleanIndica si la ordenación de los resultados es ascendente o descendente

Objeto   'ParamProposedSigner'

NombreTipoDescripción
proposedSignerIdLongId del firmante propuesto
signerNifStringNif del firmante propuesto
signerNameStringNombre del firmante propuesto
signerDateFromStringFecha de selección del firmante
signerOrderStringOrden de firma del firmante propuesto
signaturePositionStringTipo de posición de los pies de firma
positionStringCoordenadas donde se ha colocado el pie de firma del firmante propuesto
delegationTextStringTexto de delegación del firmante propuesto
signedStringIndica si el firmante propuesto ha firmando (1) o no (0)
signerOrgCodeStringCódigo de organismo del firmante propuesto
signerOrganismStringNombre de organismo del firmante propuesto
signerRoleStringCargo del firmante propuesto
signerStatusStringCondición del firmante
revisedStringIndica si el firmate propuesto ha sido revisado o no. Valores: S o N
deleteSignBooleanIndica si se ha de borrar la firma al actualizar el firmante propuesto

Objeto   'DocumentMetadata'

NombreTipoDescripción

signerName

StringSi se mostrará el documento (S), o no (N)
signerSurnameStringApellidos del firmante
signerNifStringNif del firmante
auditorNameStringNombre de auditor
auditorSurnameStringApellidos de auditor
auditorNifStringNif de auditor
descriptionStringDescripción del metadato
documentTypeStringTipo de documento
procedureStringNombre de procedimiento
metadataNameStringNombre del metadato
metadataValueStringValor del metadato

Objeto   'DocumentMetadataSearch'

NombreTipoDescripción
documentMetadataIdLongId del registro en el historial

signerName

StringSi se mostrará el documento (S), o no (N)
signerSurnameStringApellidos del firmante
signerNifStringNif del firmante
auditorNameStringNombre de auditor
auditorSurnameStringApellidos de auditor
auditorNifStringNif de auditor
descriptionStringDescripción de metadato
documentTypeStringTipo de documento
procedureStringNombre del procedimiento
metadataNameStringNombre del metadato
metadataValueStringValor del metadato

Objeto   'DocumentSearch'

NombreTipoDescripción
documentIdLongId del documento a buscar

documentIds

List<Long>Lista de ids a buscar
csvStringCódigo seguro de verificación del documento
lookUpDocumentumDataBooleanBuscar datos en documentum
lookUpStampSignedBoolean
lookUpLetDocumentStampBoolean
lookUpProposedSignersBooleanBuscar firmantes propuestos
lookUpFileStringBuscar fichero
stateIntegerEstado del documento
csvAuthorizedStringCódigo seguro de verificación autorizado
isDetailBooleanIndica si es detalle
modifiedStateBooleanSi el documento ha cambiado de estado
esDocAnulacionStringSi es un documento de anulación
csvAnulacionStringCSV del documento de anulación asociado
csvSustitucionStringCSV del documento de sustitución asociado

Objeto   'ParamTraySearch'

NombreTipoDescripción
metadataIdLongId del documento a buscar

metadataName

StringLista de ids a buscar
issuerNameStringCódigo seguro de verificación del documento
signerNameStringBuscar datos en documentum
signerNifStringNif del firmante
issuerNifStringBuscar firmantes propuestos
recipientStringBuscar fichero
descriptionStringEstado del documento
documentTypeStringCódigo seguro de verificación autorizado
documentCopyOriginalStringIndica si es detalle
folderStringSi el documento ha cambiado de estado
stateIntegerSi es un documento de anulación
preparationDateFromDateCSV del documento de anulación asociado
preparationDateToDateCSV del documento de sustitución asociado
procedureStringNombre del procedimiento
signedBooleanDocumento firmado o no firmado
draftBooleanIndica si el documento es un borrador
pendingSignatureBooleanIndica si el documento esta pendiente de firma
auditorBooleanEs auditor
generalAuditorBooleanEs auditor general
fromIndexintÍndice a partir del que se quieren obtener los documentos
toIndexintÍndice hasta el que se permite devolver los documentos coincidentes
maxResultsintCantidad de documentos máxima que se devolverá
sortColumnStringIndica la ordenación de los resultados
ascendingBoolean

Indica si la ordenación de los resultados es ascendente o descendente

Objeto   'Document'

Nombre
Tipo
Descripción
applicationIdStringAplicación que ejecuta el método
userNifStringNif del usuario
documentIdLongId del documento.
csvStringCsv generado por CCSV para el documento.
stateInteger

Estado del documento en el sistema. Puede tomar los siguientes valores:

0:borrador, 1: pendiente de firma, 2: firmado, 3: firmando asíncrona-mente, 4: eliminado

rejectedStringIndica que el documento ha sido rechazado “S” o que no ha sido rechazado “N”. Por defecto “N”.
folderStringIdentificador de la carpeta a la que pertenece un documento.
priorityInteger

Prioridad del documento, por defecto 1:

0: baja

1: media

2:alta

csvAutorizedStringCsv de un documento de autorización.
operationIdStringId del proceso de firma que se realiza.
operationStateStringEstado en el que se ha quedado el proceso de firma.
signTypeIntegerTipo de firma del documento.
limitDateDateFecha límite para la firma del documento.
prepateDateInitDateFecha de inicio de la preparación del documento.
prepareDateEndDateFecha de fin de la preparación del documento.
creatorNifStringNif del creador del documento.
quorumIntegerMínimo de firmas requeridas para pasar a firmar un documento.
quorumOnlyBooleanIndica, en el caso de multifirma, si se admiten más firmas que las mínimas requeridas (quorum).
csvDocCancelStringCSV del documento de cancelación de la operación.
hashDocumentStringIndica el hash del documento.
preloadedImageBase64byte[]Array de bytes que contiene la imagen en base64 del documento.
esDocAnulacionStringIndica si el documento es de anulación “S”.
obligatorioExpedienteStringIndica si el documento es obligatorio para el expediente, en caso de que lo haya, al que va asociado.
asoaciadoAExpedienteBooleanIndica si el documento está asociado a algún expediente.
metadataCacheMap<ParamMetadataId,
ParamMetadata>
Metadatos obtenidos de la tabla PFI_METADATA
metadatasMap<ParamMetadataId,
ParamMetadata>
Mapa con los metadatos del documento ordenados
proposedSignersMap<String,
ParamProposedSigner>
Mapa con todos los firmantes propuestos.
documentumMetadataMap<String, String>Mapa con los metadatos que se obtienen de documentum.
metadatosDocumentoList<ParamMetadata>Lista de los metadatos para los JSP’s
fileParamFileArchivo asociado al documento.
oidStringNúmero de operación de firma que se realiza
letStampIntegerResultado de la llamada al letDocumentStamp.
showDocumentStringIndica si se ha de mostrar el documento.
saveFileBooleanIndica si se tiene que guardar el fichero.
signResultStringResultado de la firma del documento.
hasSummaryDocumentBooleanIndica si el documento tiene un sumario.
modifyStateIntegerEstado al que se ha modificado un documento.
modifyDateDateFecha en la que se ha modificado un documento.

Objeto   'ParamSignDocument'

NombreTipoDescripción
csvLongCSV del documento

nif

StringNif del firmante
proposedSignerLongIdentificador del firmante propuesto
allSignedBoolean
isAuthorizationBooleanIndica si es un documento de autorización
numberOfSignersIntegerIndica la cantidad de firmantes
simpleSignBooleanIndica si es una firma simple
restoreDocumentBooleanSi se restaurará el documento

Objeto   'ParamGetDocumentState'

NombreTipoDescripción
csvStringCódigo seguro de verificación del documento

applicationId

StringAplicación que ejecuta el método
userNifStringNif de usuario

Objeto   'ParamSetDocumentState'

NombreTipoDescripción
csvStringCódigo seguro de verificación del documento
stateIntegerEstado actual del documento
modifyStateIntegerEstado al que cambiará el documento
modifyDateDateFecha del cambio de estado del documento

Objeto   'ParamUpdateQuorumAndLimitDate'

NombreTipoDescripción
csvStringCSV del documento

quorum

IntegerCantidad de firmas necesarias para firmar un documento
quorumOnlyBooleanIndica, en el caso de multifirma, si se admiten más firmas que las mínimas requeridas (quorum).
dateDateFecha limite para firmar 

Objeto   'ResultUpdateQuorumAndLimitDate'

NombreTipoDescripción
errorCodeStringCódigo de error del servicio

returnCode

StringIndica si la llamada ha finalizado correctamente (OK) o en error (ERROR)
errorMessageStringDescripción del mensaje de error

Objeto   'ParamSendDocument'

NombreTipoDescripción
applicationIdStringAplicación que ejecuta el método

userNif

StringNif del usuario
csvStringCódigo seguro de verificación del documento

Objeto   'ResultSendDocument'

NombreTipoDescripción
returnCodeStringIndica si la llamada ha finalizado correctamente (OK) o en error (ERROR)

errorCode

StringCódigo de error del servicio
errorMessageStringMensaje de error del servicio
exception StringExcepción producida durante el proceso

Objeto   'ParamGetOperation'

NombreTipoDescripción
documentIdLongIdentificador único del documento

userNif

StringNif del usuario que ejecuta el servicio web
applicationIdStringId de la aplicación que ejecuta al servicio web

Objeto   'ResultGetOperation'

NombreTipoDescripción
operationIdLongIdentificador único de la operación

operationState

StringEstado actual de la operación
csvAutorizedString
csvDocCancelString
documentListList<Document>Documentos asociados a la operación consultada

-

  • No labels