Connexió amb PSIS

Índex





Propòsit

El connector de PSIS de Canigó exposa totes les operacións publicades pel producte PSIS de la PICA.
Aquest mòdul permet consumir els diferents serveis que ofereix la plataforma de Psis mitjançant la PICA. El mòdul permet consumir els serveis oferts pels WebService amb peticions síncrones.

Funcionalitats del connector

El connector proporciona accés a les següents operacions de Psis:

Operació PSIS
Descripció Funcional
Modalitat PICA
Operació PICA
validarCertificat Avalua la validesa d'un certificat digital. També retorna informació sobre l'estat i altres dades utils del certificat. PSIS_VAL_CERT_SIMP TIPUS_VALIDAR_CERTIFICAT
validarPDF Valida la integritat de la signatura d'un document PDF. PSIS_VAL_ATT_PDF TIPUS_VALIDAR_PDF
validarSignatura (Fitxer) Valida matemàticament la signatura digital d'un fitxer mitjançant la certificat digital. També comprova l'estat del certificat en el moment de la signatura. PSIS_VAL_DET_FITXER TIPUS_VALIDAR_SIGNATURA
validarSignatura (Hash) Comprova la validesa de la signtura digital mitjançant el hash del certificat. PSIS_VAL_DET_HASH TIPUS_VALIDAR_SIGNATURA

Versions i Dependències

Les dependències descrites a la següent url són requerides per tal de compilar i fer funcionar el projecte:
Javadoc: http://canigo.ctti.gencat.cat/repository/maven2/canigo/connectors/canigo-connectors-psis/1.0.1-SNAPSHOT/
Site: http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo2_3_13/canigo-connectors-root/canigo-connectors-psis-pica/project-info.html

Instal.lació i Configuració

Instal.lació

La instal.lació del servei requereix de la utilització de la llibreria 'canigo-services-psis' i les dependències indicades a l'apartat 'Introducció - Versions i Dependències'.

Configuració

La configuració del Servei de PSIS implica:

  • Configurar el connector de la PICA.
  • Definir el servei de Psis

    Configuració del connector de la PICA

S'han de crear els beans Requeridor i PicaServiceWrapper en el contexte de Spring src/main/resources/spring/canigo-connectors.xml com s'indica a continuació.

<!-- CONNECTOR A PSIS -->
    <!-- Aquest connector és necessari per a utilitzar el servei de psis-->
    <bean id="requeridor" class="cat.gencat.pica.peticio.core.beans.Requeridor" singleton="true">
        <property name="password" value="${pica.password}"></property>
        <property name="user" value="${pica.user}"></property>
    </bean>
   
    <bean id="picaService" class="net.gencat.ctti.canigo.connectors.pica.impl.PicaServiceWrapper" singleton="false">
        <property name="axisDefinition" value="classpath:axis2client/"></property>
        <property name="loggingService" ref="loggingService"></property>
        <property name="requeridor" ref="requeridor"></property>
        <property name="modalitats">
            <map>
            </map>
        </property>
    </bean>


Les propietats de connexió de la pica necessaries es defineixen a l'arxiu de propietats src/main/resources/connectors/pica.properties .

Propietat
Requerit
Descripció
pica.user Usuari del connector amb la PICA
pica.password Password del connector amb la PICA
pica.urlPica EndPoint del Servei Web de la PICA
per defecte: http://preproduccio.pica.gencat.intranet/pica_cataleg/AppJava/services/

Definició del servei de Psis

S'ha de crear els bean PSISConnectorImpl en el contexte de Spring src/main/resources/spring/canigo-services-psis.xml com s'indica a continuació.

<bean id="psisService" class="net.gencat.ctti.canigo.connectors.psis.impl.PSISConnectorImpl" singleton="false">
	<property name="picaService" ref="picaService"></property>
	<property name="loggingService" ref="loggingService"></property>
	<property name="urlPica" value="${pica.urlPica}" />
        <property name="finalitat" value="${psis.finalitat}"/>
</bean>


També cal crear un arxiu de propietats (src/main/resources/connectors/psis.properties) per definir el valor de la finalitat de les crides al servei:

Propietat
Requerit
Descripció
psis.finalitat Finalitat de la crida al servei

Utilització del Servei

La instanciació, la preparació i la petició del servei es fa de manera transparent, de tal manera que el servei s'activa en el moment en que el bean "PSISConnectorImpl" es instanciat.

Per tant, la utilització del servei es realitza en la seva totalitat mitjançant la correcta parametrització de els objectes que constitueixen els missatges de les operacions de psis tant d'entrada com de sortida.

Exemples

Com exemple d'utilització del servei de connexió amb Psis s'inclou un exemple en el que es realitza la validació d'un certificat digital:

...
private static byte[] certificatValid = getBytesFromInputStream(Thread.currentThread().getContextClassLoader().
getResourceAsStream("certificatValid.cer"));
    
public void testValidarCertificat() throws PSISException {
  PSISConnectorImpl psisConnector = (PSISConnectorImpl) beanFactory.getBean("psisService");
  assertNotNull(psisConnector);
    	
  ValCertSimpPICARequestDocument document = ValCertSimpPICARequestDocument.Factory.newInstance();
  ValCertSimpPICARequest peticioValidar = ValCertSimpPICARequest.Factory.newInstance();
    	
  peticioValidar.setCertificat(certificatValid);
   	
  document.setValCertSimpPICARequest(peticioValidar);
    	
  ValCertSimpPICAResponseDocument resposta = psisConnector.validarCertificat(document);
  assertEquals("VALID", resposta.getValCertSimpPICAResponse().getResultat());
}