4.- Servicios de PFI
En este apartado se explicarán los servicios de pfi y cómo inicializar su cliente java
ÍNDICE DEL CONTENIDO
- 1 Inicialización del cliente mediante CXF
- 2 Capturar notificaciones sobre cambios de estado en los documentos
- 3 Servicios SignerService
- 3.1 Método 'findQuickSignerList'
- 3.1.1 Ejemplo de invocación
- 3.2 Método 'findQuickSignerListWithAuditor'
- 3.2.1 Ejemplo de invocación
- 3.3 Método 'findSignerList'
- 3.3.1 Ejemplo de invocación
- 3.4 Método 'findSignerByNif'
- 3.4.1 Ejemplo de invocación
- 3.5 Método 'findProposedSigner'
- 3.5.1 Ejemplo de invocación
- 3.6 Método 'findProposedSignerList'
- 3.6.1 Ejemplo de invocación
- 3.1 Método 'findQuickSignerList'
- 4 Servicios DocumentService
- 4.1 Método 'findDocument'
- 4.1.1 Ejemplo de invocación
- 4.2 Método 'findDocumentList'
- 4.2.1 Ejemplo de invocación
- 4.3 Método 'findDocumentTray'
- 4.3.1 Ejemplo de invocación
- 4.4 Método 'findDocumentTrayVisibility'
- 4.4.1 Ejemplo de invocación
- 4.5 Método 'findDocumentFolderList'
- 4.5.1 Ejemplo de invocación
- 4.6 Método 'getDocumentState'
- 4.6.1 Ejemplo de invocación
- 4.7 Método 'getOperation'
- 4.7.1 Ejemplo de invocación
- 4.8 Método 'findDocumentListByExternalsigned'
- 4.8.1 Ejemplo de invocación
- 4.9 Método 'findDocumentListByExternalSignedCount'
- 4.9.1 Ejemplo de invocación
- 4.10 Método 'findDocumentListByExternalWithoutSignature'
- 4.10.1 Ejemplo de invocación
- 4.11 Método 'findDocumentListByExternalWithoutSignatureCount'
- 4.11.1 Ejemplo de invocación
- 4.1 Método 'findDocument'
- 5 Servicios DocumentServiceEx
- 6 Servicios DocumentIntegrationService
- 7 Servicios ExternalUserService
- 8 Suscripción a eventos
- 9 Anexos
- 9.1 Objectos Comunes
- 9.1.1 Objeto 'SignerSearch'
- 9.1.2 Objeto 'Signer'
- 9.1.3 Objeto 'ParamProposedSignerSearch'
- 9.1.4 Objeto 'ParamProposedSigner'
- 9.1.5 Objeto 'DocumentMetadata'
- 9.1.6 Objeto 'DocumentMetadataSearch'
- 9.1.7 Objeto 'DocumentSearch'
- 9.1.8 Objeto 'ParamTraySearch'
- 9.1.9 Objeto 'Document'
- 9.1.10 Objeto 'ParamSignDocument'
- 9.1.11 Objeto 'ParamGetDocumentState'
- 9.1.12 Objeto 'ParamUpdateQuorumAndLimitDate'
- 9.1.13 Objeto 'ResultUpdateQuorumAndLimitDate'
- 9.1.14 Objeto 'ParamSendDocument'
- 9.1.15 Objeto 'ResultSendDocument'
- 9.1.16 Objeto 'ParamGetOperation'
- 9.1.17 Objeto 'ResultGetOperation'
- 9.1.18 Objeto 'ParamFindDocumentListBySignerEx'
- 9.1.19 Objeto 'ParamFindDocumentListBySignerExCount'
- 9.1.20 Objeto 'ResultDocumentInfoAdv'
- 9.1.21 Objeto 'ResultDocumentListCount'
- 9.1 Objectos Comunes
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ámetro | Descripción |
|---|---|
idApp | PFI |
CSV | Identificador del documento que ha sufrido un cambio de estado |
estado | Estado 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 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étodo 'findQuickSignerListWithAuditor'
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 y los revisores de cada firmante.
Método 'findSignerList'
Método que busca una lista de firmantes atendiendo a unos parámetros de búsqueda
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étodo 'findProposedSigner'
Método que busca un firmante propuesto para un documento atendiendo a unos criterios de búsqueda
Método 'findProposedSignerList'
Método que busca la lista de firmantes propuestos según los criterios establecidos en el parámetro de entrada
Servicios DocumentService
Método 'findDocument'
Método que busca un documento utilizando los criterios de búsqueda establecidos como parámetro de entrada
Método 'findDocumentList'
Método que busca una lista de documentos utilizando los criterios de búsqueda establecidos como parámetro de entrada
Método 'findDocumentTray'
Método que permite la búsqueda de un listado de documentos para las bandejas a partir del objeto 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étodo 'findDocumentFolderList'
Método que busca un listado de bloques o carpetas a partir del objeto de búsqueda del documento
