4.- Servicios de PFI

4.- Servicios de PFI

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ámetro

Descripción

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

Signatura

List<Signer> findQuickSignerList(SignerSearch signerSearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

signerSearch

SignerSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

signerList

List<Signer>

Lista de firmantes encontrados según los criterios de búsqueda indicados

Códigos error

Código

Descripción

Código

Descripción

SIGNERSERVICEIMPL_FINDQUICKSIGNERLIST

Error genérico durante el servicio findQuickSignerList

ORGANISMLIST_XX

Error 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 '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.

Signatura

List<SignerWithAuditor> findQuickSignerListWithAuditor(SignerSearch signerSearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

signerSearch

Manual de Integración PFI 4.7 - servicios para integradores#SignerSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

signerAuditorList

 

Lista de firmantes y auditores encontrados según los criterios de búsqueda indicados

Códigos error

Código

Descripción

Código

Descripción

FIND_QUICKSIGNER_LIST_WITH_AUDITOR

Error inesperado al buscar en la tabla de firmantes y/o auditores

PROPOSEDSIGNERMANAGER_FINDQUICKSIGNERLISTWITHAUDITOR

Error genérico durante el servicio findQuickSignerList

Ejemplos de invocación

Ejemplo de invocación
SignerSearch signerSearch = new SignerSearch(); signerSearch.setApplicationId("PFI"); signerSearch.setOrganismCode("ORG07458"); signerSearch.setSignerNif("00000000T"); List <SignerWithAuditor> listSignerAuditor = signerServiceImpl.findQuickSignerListWithAuditor(signerSearch);

Método 'findSignerList'

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

Signatura

List<Signer> findSignerList(SignerSearch signerSearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

signerSearch

SignerSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

signerList

List<Signer>

Lista de firmantes encontrados según los criterios de búsqueda indicados

Códigos error

Código

Descripción

Código

Descripción

SIGNERSERVICEIMPL_FINDSIGNERLIST

Error genérico durante el servicio findSignerList

GET_ORGANISM_HISTORICAL_INFORMATION_XX

Error 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

Signatura

Signer findSignerByNif(SignerSearch signerSearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

signerSearch

SignerSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

signer

Signer

Firmante cuyo nif coincida con el proporcionado en el parámetro de búsqueda

Códigos error

Código

Descripción

Código

Descripción

SIGNERSERVICEIMPL_FINDSIGNERBYNIF

Error genérico durante el servicio findSignerByNif

GET_USER_INFORMATION_XX

Error 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

Signatura

ParamProposedSigner findProposedSigner(ParamProposedSignerSearch paramProposedSignerSearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

paramProposedSignerSearch

ParamProposedSignerSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

proposedSigner

ParamProposedSigner

Firmante propuesto encontrado según los criterios de búsqueda indicados

Códigos error

Código

Descripción

Código

Descripción

SIGNERSERVICEIMPL_FINDPROPOSEDSIGNER

Error 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

Signatura

ParamProposedSignerList findProposedSignerList(ParamProposedSignerSearch paramProposedSignerSearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

paramProposedSignerSearch

ParamProposedSignerSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

proposedSignerList

ParamProposedSignerList

Objeto que encapsula la lista de firmantes propuestos encontrados y el tamaño de dicha lista

Códigos error

Código

Descripción

Código

Descripción

SIGNERSERVICEIMPL_FINDPROPOSEDSIGNERLIST

SIGNERSERVICEIMPL_FINDPROPOSEDSIGNERLIST

Ejemplos de invocación

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

Servicios DocumentService


Método 'findDocument'

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

Signatura

Document findDocument(DocumentSearch documentSearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

documentSearch

DocumentSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

document

Document

Documento encontrado según el criterio de búsqueda proporcionada

Códigos error

Código

Descripción

Código

Descripción

DOCUMENTSERVICEIMPL_FINDDOCUMENT_02

Error 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

Signatura

List<Document> findDocumentList(DocumentSearch documentSearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

documentSearch

DocumentSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

documentList

List<Document>

Lista de documentos encontrados según los parámetros de búsqueda indicados

Códigos error

Código

Descripción

Código

Descripción

DOCUMENTSERVICEIMPL_FINDDOCUMENTLIST_01

Error genérico durante el servicio findDocumentList

DOCUMENTSERVICEIMPL_FINDDOCUMENTLIST_02

Error 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

Signatura

ResultTrayList findDocumentTray(ParamTraySearch paramTraySearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

paramTraySearch

ParamTraySearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

resultTrayList

ResultTrayList

Lista de documentos para la bandeja que cumplen los criterios de búsqueda

Códigos error

Código

Descripción

Código

Descripción

DOCUMENTSERVICEIMPL_FINDDOCUMENTTRAY

Error genérico durante el servicio findDocumentTray

FIND_DOCUMENT_LIST

Error 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

Signatura

ResultTrayListVisibility findDocumentTrayVisibility(ParamTraySearch paramTraySearch)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

paramTraySearch

ParamTraySearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

resultTrayListVisibility

ResultTrayListVisibility

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

Códigos error

Código

Descripción

Código

Descripción

DOCUMENTSERVICEIMPL_FINDDOCUMENTTRAY

Error genérico durante el servicio findDocumentTrayVisibility

PAUINTEGRATION_PROCEDURELISTBYUSER

Error en el sistema de autentificación. Se ha producido el siguiente error al buscar la lista de procedimientos del usuario desde PAU

FIND_DOCUMENT_LIST

Error 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

Signatura

List<ParamFolder> findDocumentFolderList(DocumentSearch document)

Parámetros de invocación

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

document

DocumentSearch

Parámetros de búsqueda (ver detalle de campos en el apartado de objetos comunes)

Parámetros de respuesta

Nombre

Tipo

Descripción

Nombre

Tipo

Descripción

paramFolder

List<ParamFolder>

Error inesperado al buscar los diferentes folder a los que pertenecen los documentos

Códigos error