Canigó - Connector PICA-PADRO
CONNECTOR PICA-PADRO
IntroduccióL'objectiu d'aquest connector, és el de proporcionar un punt d'accés utilitzant la plataforma PICA cap serveis d'empadronament publicats en aquesta plataforma. PropòsitEl propòsit del connector és proporcionar una interfície funcional reduida al connector de la Pica que simplifica l'utilització dels diferents serveis d'empadronament oferts per la generalitat. Context i Escenaris d'úsEl connector PICA-PADRO es troba dins els connectors de serveis funcionals de la Generalitat. Versions i DependènciesEn el present apartat es mostren quines són les versions i dependències necessàries per fer ús del Connector. Les dependències descrites a la següent url són requerides per tal de fer funcionar el servei: A qui va dirigitAquest document va dirigit als següents perfils:
Documents i Fonts de Referència
Descripció DetalladaAquest connector permet utilitzar els diferents serveis del PADRO a través de l'accés a través d'una API de les següents modalitats de consum: Serveis Síncrons
Serveis Asíncrons
Arquitectura i ComponentsInterfícies i Components GenèricsEs pot trobar tota la documentació JavaDoc i el codi font referent aquests components a les següents url's: JavaDoc: http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo2_3_17/canigo-connectors-root/canigo-connectors-pica-padro/apidocs/index.html RequerimentsEl connector PADRO és compatible amb les versions 1.5 o superior de Java. Per versions inferiors no es garantit el seu correcte funcionament. Per tal de que el connector PADRO funcioni correctament sobre l'aplicació que l'utilitzi, s'ha de tenir configurat el servei connector genèric de la PICA 1.0. Instal.lació i ConfiguracióInstal.lacióLa instal.lació del connector requereix de la utilització de la llibreria 'canigo.integration.padro.pica' i les dependències indicades a l'apartat 'Introducció-Versions i Dependències'. Es pot afegir el mòdul de forma automàtica a través del plugin de Canigó 3 per l'eclipse. Afegint el mòdul d'integració amb PADRO. Per fer-ho de forma manual modificar el pom.xml de l'aplicació per incloure la llibreria del Connector com a dependència. <dependency> <groupId>canigo.connectors</groupId> <artifactId>canigo-connectors-pica-padro</artifactId> <version>1.0.1</version> </dependency> També és necessari afegir una exclusió sobre la dependència de la PICA; <dependency> <groupId>canigo.connectors</groupId> <artifactId>canigo-connectors-pica</artifactId> <version>1.0</version> <exclusions> <exclusion> <groupId>xmlbeans</groupId> <artifactId>xbean</artifactId> </exclusion> </exclusions> </dependency> Configuració
<bean id="requeridor" class="cat.gencat.pica.peticio.core.beans.Requeridor" singleton="true"> <property name="fitxerSignatura" value="signatura.properties"> </property> <property name="idSolicitante" value="1DPGO049"></property> <property name="idTransmision" value="213421"></property> <property name="nombreSolicitante" value="CTTI"></property> <property name="password" value="password"></property> <property name="user" value="usuari"></property> </bean> <bean name="ProducteModalitatBase" abstract="true" class="cat.gencat.pica.peticio.core.beans.ProducteModalitat"> <property name="passwordType" value="PasswordText"></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> 2.- Configuiració e inicialització del bean d'spring que generarà el servei. <bean id="padroService" class="net.gencat.ctti.canigo.connectors.pica.padro.impl.PadroConnectorImpl" singleton="false"> <property name="picaService" ref="picaService"/> <property name="nifEmisor" value="[nifEmissor]" /> <property name="nomEmisor" value="[nomEmisor]" /> <property name="finalitat" value="[finalitat]"/> <property name="urlPica" value="http://preproduccio.pica.intranet.gencat.cat/pica_cataleg/AppJava/services/" /> <property name="funcionari" ref="funcionari" /> </bean> <bean id="funcionari" class="cat.gencat.pica.peticio.core.beans.Funcionari"> <property name="nifFuncionario" value="nifFuncionari"/> <property name="nombreFuncionario" value="nombreFuncionari"/> <property name="emailFuncionario" value="emailFuncionario"/> </bean> Els valors d finalitat, urlPica, nifEmisor i nomEmisor s'han de consultar a la OT PICA en requeridors.otpica.ctti@gencat.cat NOTA: El valor per defecte de urlPica es la de l'entorn de Pre-producció. Utilització del ConnectorExemple d'utilització d'un Servei Sincron1.- Referenciar al servei PADRO des de l'acció que es vulgui utilitzar (action-servlet-aaa.xml): <property name="padroConnector" ref="padroService"></property> 2.- En l'acció, s'hauran de crear els getters i setters corresponents per al connector de PADRO: private PadroConnectorImpl padroConnector; public PadroConnectorImpl getPadroConnector() { return padroConnector; } public void setPadroConnector(PadroConnectorImpl padroConnector) { this.padroConnector = padroConnector; } En aquest cas d'exemple es consumirà la modalitat de servei PADRO_COMPROVACIO_CONVIVENTS. String numExpedient = "CAT-1234567890ABCDEF"; int tipusDocumentacio = Constants.NIE; String documentacio = "X02649265X"; String codMun = "999"; int numConv = 99; String codProv = "1"; int idesCat = 0; RespuestaComprobacionConvivientes resposta = padroConnector.padroComprovacioConvivents(numExpedient, tipusDocumentacio, documentacio, codMun, codProv, numConv, idesCat); Per consultar la totalitat de possibles codis de retorn i objectes de la resposta consultar el document de la PICA Guia d'us del servei de PADRO v1.5x.pdf disponible via petició a requeridors.otpica.ctti@gencat.cat Exemple d'utilització d'un Servei AsíncronL'única modalitat de servei del connector PICA-PADRO que és asíncrona es tracta de la PADRO_TITULAR_CERCA. Els passos per consumir un servei d'aquest tipus són: 1.- Fer petició al Servei String numExpedient = "123456"; int tipusDocumentacio = Constants.NIF; String documentacio = "46583836G"; DataResponse resposta = padroConnector.padroTitularCerca(numExpedient, tipusDocumentacio, documentacio); //<-- Petició al servei EstatAsincron estat = padroConnector.getEstatPadroTitularCerca(resposta.getServei(), resposta.getResponse()); //<-- Comprovació estat petició int tempsEstimat = estat.getTempsEstimatResposta(); ... RespostaCercaTitular dades = padroConnector.getDadesPadroTitularCerca(resposta.getServei()); //<-- Recuperació resposta a la petició Per consultar la totalitat de possibles codis de retorn i objectes de la resposta consultar el document de la PICA Guia d'us del servei de PADRO v1.5x.pdf disponible via petició a requeridors.otpica.ctti@gencat.cat |