En En este apartado se explicarán los servicios de pfi y cómo inicializar su cliente java
...
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.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<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.
Code Block | ||||
---|---|---|---|---|
| ||||
<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.
Code Block | ||||
---|---|---|---|---|
| ||||
<bean id="authorizeInterceptor" class="es.aragon.pfi.core.util.interceptors.AuthorizeOutInterceptor"> <property name="applicationId" value="[código aplicación llamante]"/> </bean> |
...
Expand | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
Signatura ResultSendDocument sendDocumentumDocument(ParamSendDocument paramSendDocument) Parámetros de invocación
Parámetros de respuesta
Códigos error
Ejemplos de invocación
|
...
Expand | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||
Signatura ResultUpdateQuorumAndLimitDate updateQuorumAndLimitDateDocument (ParamUpdateQuorumAndLimitDate paramUpdateQuorumAndDate) Parámetros de invocación
Parámetros de respuesta
Códigos error
Ejemplos de invocación
|
...
- 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.
...
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 Anchor
...
ParamUpdateQuorumAndLimitDate
...
'ParamUpdateQuorumAndLimitDate
...
ParamUpdateQuorumAndLimitDate'
Nombre | Tipo | Descripción |
---|---|---|
auditorNifcsv | String | Nif CSV del auditor a buscardocumento |
signerNif quorum | String | Nif del firmante para el que se quieren buscar auditores |
fiscalAnagram | String | Nif del usuario identificado en la aplicación |
organismCode | String | Código de organismo del firmante |
name | String | Nombre del firmante |
surname1 | String | Primer apellido de firmante |
surname2 | String | Segundo apellido de firmante |
String | E-mail del firmante | |
roleCode | String | Código del rol del usuario |
userOrganismCode | String | Código de organismo de usuario |
prepararOtrasRamas | boolean | Indica si el usuario tiene acceso a ramas diferentes a la suya |
fromIndex | int | Índice a partir del que se quieren obtener los auditores |
toIndex | int | Índice hasta el que se permite devolver auditores |
maxResults | int | Máximo número de auditores que se devuelven |
sortColumn | String | Indica la ordenación de los resultados |
ascending | Boolean | Indica si la ordenación de los resultados es ascendente o descendente |
active | Boolean | Indica si han de ser activos los firmantes encontrados o no |
...
signerName
...
signerName
...
documentIds
...
metadataName
...
Indica si la ordenación de los resultados es ascendente o descendente
...
...
...
...
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
...
Prioridad del documento, por defecto 1:
0: baja
1: media
2:alta
...
nif
...
applicationId
...
Nombre | Tipo | Descripción | |
---|---|---|---|
csv | String | CSV del documento | |
quorum | Integer | Cantidad de firmas necesarias para firmar Integer | Cantidad de firmas necesarias para firmar un documento |
quorumOnly | Boolean | Indica, en el caso de multifirma, si se admiten más firmas que las mínimas requeridas (quorum). | |
date | Date | Fecha limite para firmar |
...
Nombre | Tipo | Descripción |
---|---|---|
errorCode | String | Código de error del servicio |
returnCode | String | Indica si la llamada ha finalizado correctamente (OK) o en error (ERROR) |
errorMessage | String | Descripción del mensaje de errorfirmar |
Objeto Anchor
...
ResultUpdateQuorumAndLimitDate
ResultUpdateQuorumAndLimitDate |
...
ResultUpdateQuorumAndLimitDate
'
ResultUpdateQuorumAndLimitDate |
...
ResultUpdateQuorumAndLimitDate'
Nombre | Tipo | Descripción | |
---|---|---|---|
applicationIderrorCode | StringAplicación que ejecuta el método | ||
userNif | String | Nif del usuario | |
csv | String | Código | segurode | verificación del documento
...
Nombre | Tipo | Descripciónerror del servicio | |||
---|---|---|---|---|---|
returnCode | String | Indica si la llamada ha finalizado correctamente (OK) o en error (ERROR) | errorCode | String | Código de error del servicio |
errorMessage | String | Mensaje Descripción del mensaje de error del servicio | exception | String | Excepción producida durante el proceso |
Objeto Anchor
...
ParamSendDocument
ParamSendDocument |
...
ParamSendDocument
'
ParamSendDocument |
...
ParamSendDocument'
Nombre | Tipo | Descripción | |
---|---|---|---|
documentIdapplicationId | Long | Identificador único del documentoString | Aplicación que ejecuta el método |
userNif | String | Nif del usuario que ejecuta el servicio web | |
applicationIdcsv | StringId | de la aplicación que ejecuta al servicio webCódigo seguro de verificación del documento |
Objeto Anchor
...
ResultSendDocument
ResultSendDocument |
...
ResultSendDocument
'
ResultSendDocument |
...
ResultSendDocument'
Nombre | Tipo | Descripción | ||
---|---|---|---|---|
operationIdreturnCode | Long | Identificador único de la operación | operationStateString | Indica si la llamada ha finalizado correctamente (OK) o en error (ERROR) |
errorCode | String | Estado actual de la operación | csvAutorizedCódigo de error del servicio | |
errorMessage | StringcsvDocCancel | Mensaje de error del servicio | ||
exception | String | |||
documentList | List<Document> | Documentos asociados a la operación consultada |
...
Excepción producida durante el proceso |