10.- Proyectos de ejemplo integración con CCSV
Para facilitar la integración con los servicios de CCSV, se han elaborado proyectos de ejemplo que contienen métodos que permiten la creación y recuperación de documentos.
Este proyecto está disponible en dos versiones:
Una que utiliza Spring para gestionar las dependencias.
Una que utiliza las librerías mínimas necesarias.
Ambos proyectos hacen uso del cliente oficial de CCSV y utilizan Maven.
CCSV_SPRING_INTEGRATION
Este es el proyecto que incluye todas las dependencias con Spring.
La estructura del proyecto es la siguiente:
Clase Tests:
Contiene tests JUnit con llamadas completas a los métodos de obtención y creación de documentos: testGetDocument() y testCreateDocumentWithSign()
Clase Utils:
Contiene toda la lógica de uso del cliente CCSV y la construcción de los parámetros y objetos necesarios para realizar las invocaciones a los métodos.
Carpeta src/main/resources/documents:
Contiene el fichero de ejemplo (fichero.pdf) y su firma (firmaCadesA), que se utilizan en el método de creación. La ruta a estos ficheros está en la clase de los tests, y se puede modificar para crear ficheros diferentes.
Fichero src/main/resources/spring/application-context.xml:
Al ser un proyecto Spring, las URLs de los servicios se inyectan mediante inversión de dependencias. Este fichero contiene la información de dichos servicios. Modificando el campo ‘address’ se puede apuntar a los distintos entornos
Servicio expedientes PRE:
https://preaplicaciones.aragon.es/ccsv_core/services/AdministrativeFileWS
Servicio documentos PRE:
https://preaplicaciones.aragon.es/ccsv_core/services/DocumentMetadataSignatureWS
Servicio expedientes PRO:
https:/aplicaciones.aragon.es/ccsv_core/services/AdministrativeFileWS
Servicio documentos PRO:
https://aplicaciones.aragon.es/ccsv_core/services/DocumentMetadataSignatureWS
CCSV_SIMPLE_INTEGRATION
Este es el proyecto que incluye las librerías mínimas y no hace uso de Spring.
La estructura es la siguiente:
Clase integrationCCSV:
Contiene una función main en la que se indica el proceso al que se quiere invocar (getDocument(csv) o testCreateDocuments()).
El método getDocument devuelve el documento cuyo código csv se le pase como parámetro.
El método testCreateDocuments recoge los documentos de la carpeta src/main/resources/documents, crea los objetos necesarios y llama al método de creación de documentos del cliente. Se puede configurar el tipo del documento (variable tipoCopia), la ruta al documento (pathDocumento) y el numero de documentos que se crearán (numeroDocumentos).
Carpeta src/main/resources/documents:
Contiene el fichero de ejemplo que se incluirá como contenido en las llamadas a createDocument
El entorno en el que se lanzarán los métodos se configura en la instrucción ‘setCCSV(…)’ de la clase integrationCCSV, a la que se le pasará como parámetros las URL de los servicios de documentos y expedientes, respectivamente (están declarados previamente en el código).
Ejecución de los proyectos:
Una vez descomprimidos los proyectos, será necesario ejecutar “mvn clean install” en la raíz del proyecto para que este descargue y sincronice las librerías correspondientes.
En el caso del proyecto con Spring, se pueden modificar y ejecutar con JUnit las clases de test que realizan las llamadas a los métodos. Desde Eclipse/IntelliJ:
Run As… → JUnit Test
En el proyecto sin Spring, se podrá modificar el método main de la clase IntegrationCCSV, y desde el IDE ejecutar:
Run As… → Java Application
O bien, desde CMD, ir a la ruta donde se encuentren las clases generadas (por defecto con maven ‘target/classes’) y ejecutar 'java IntegrationCCSV'
Ejemplos XML
A continuación se incluyen ejemplos de llamadas SOAP a los servicios getDocument, createDocument y createAndVerifySignature, estos dos últimos con las respectivas cabeceras y binarios de los adjuntos:
Llamada a getDocument, para recuperar el documento indicado en el campo csv:
Llamada a createDocument para crear un documento en estado borrador. Incluye un attachment con el contenido del documento a crear:
Llamada a createAndVerifySignature para crear un documento con firma. Se indica createDocument=true, por lo que se creará además el documento correspondiente. Incluye dos attachments, uno para el contenido del documento y otro para el de la firma.
