Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop"

Transcript

1 i Tutorial di configurazione e programmazione di OpenSPCoop

2 ii Copyright Link.it s.r.l.

3 iii Indice 1 Introduzione 1 2 Ambiente di sviluppo 1 3 Presentazione degli scenari di esempio 2 4 Comunicazione Variazione (Oneway) Descrizione formale dell Accordo di Servizio: WSDL Configurazione Porta di Dominio Configurazioni comuni a tutti gli esempi del tutorial Configurazione del registro dei servizi della PdD Programmazione Fruitore: Servizio Applicativo del Comune Modalità trasparente Modalità via Integration Manager Erogatore: Servizio Applicativo del CentroAnagrafico Test e verifica Stato Famiglia (sincrono) Descrizione formale dell Accordo di Servizio: WSDL Configurazione Porta di Dominio Programmazione Test e verifica Stampa Documento (AsincronoAsimmetrico) Descrizione formale dell Accordo di Servizio: WSDL Configurazione Porta di Dominio Programmazione Test e verifica Identifica Soggetto (AsincronoSimmetrico) Descrizione formale dell Accordo di Servizio: WSDL Configurazione Porta di Dominio Programmazione Test e verifica

4 iv Elenco delle tabelle 1 Dati autenticazione PddConsole Dati Soggetto SPCoop Fruitore Connettore del Soggetto SPCoop fruitore Dati Servizio Applicativo Fruitore Dati del Soggetto SPCoop erogatore Connettore del Soggetto SPCoop erogatore Dati Accordo di Servizio Parte Comune Dati Servizio dell Accordo Dati delle azioni del servizio Dati dell Accordo di Servizio Parte Specifica Dati Porta Applicativa Dati Servizio Applicativo Dati invocazione Servizio Applicativo Dati Accordo di Servizio Parte Comune Dati Servizio dell Accordo Dati delle azioni del servizio Dati Accordo di Servizio Parte Specifica Dati Porta Applicativa Dati Servizio Applicativo Dati invocazione Servizio Applicativo Dati Accordo di Servizio Parte Comune Dati Servizio dell Accordo Dati delle azioni del servizio Dati Accordo di Servizio Parte Specifica Dati Porta Applicativa Dati Servizio Applicativo Dati invocazione Servizio Applicativo Dati invocazione Risposta Asincrona Dati Servizio Applicativo Erogatore Dati Servizio Applicativo Fruitore Dati invocazione Servizio Applicativo erogatore Dati risposta asincrona Servizio Applicativo fruitore Dati Accordo di Servizio Parte Comune Dati Servizio Asincrono Simmetrico nell accordo di servizio Dati Servizio Asincrono Simmetrico Correlato nell accordo di servizio Dati Accordo di Servizio Parte Specifica Dati Accordo di Servizio Parte Specifica correlato Dati Porta Applicativa

5 1 / 57 1 Introduzione Questa guida documenta le procedure necessarie per la realizzazione di alcuni scenari tipici di Cooperazione Applicativa in ambiente OpenSPCoop, illustrando sia la configurazione della Porta di Dominio OpenSPCoop, sia lo sviluppo di servizi applicativi compatibili con i diversi profili di egovernment analizzati. La figura che segue mostra le entità che collaborano nell interazione tra due servizi applicativi in accordo allo standard SPCoop. Nella figura proposta sono identificabili i due domini che intendono scambiare messaggi tra i rispettivi Servizi Applicativi. Le Porte di Dominio fanno da interfaccia pubblica a tali servizi, comunicando tra loro tramite messaggi in accordo alle specifiche e-gov. Gli aspetti di cooperazione delle Porte di Dominio coinvolte sono specificati in un Accordo di Servizio, contenuto nel Registro dei Servizi. Questo Registro contiene infatti l elenco dei Soggetti abilitati alle comunicazioni SPCoop, l elenco dei servizi erogati da ogni Soggetto e i relativi accordi di servizio. Per dare maggiore efficacia all esposizione dei contenuti si farà riferimento a quattro scenari di esempio che rappresentano casi abbastanza verosimili nell ambito della cooperazione applicativa. 2 Ambiente di sviluppo Per la messa in opera degli scenari di esempio trattati in questo tutorial si assume che l installazione standard (binary release) di OpenSPCoop sia stata completata correttamente e che quindi i servizi della porta di dominio, PD, PA e IntegrationManager, siano raggiungibili e che si disponga dell accesso all interfaccia di gestione web pddconsole per la configurazione della Porta di Dominio. Nota Per semplificare l esecuzione degli esempi di scenario ed evitare di dover installare una seconda porta di dominio o creare numerosi soggetti cooperanti, si è scelto di utilizzare due soggetti, uno erogatore e l altro fruitore, gestiti entrambi dalla medesima porta di dominio (modalità loopback). Il fatto di realizzare gli esempi utilizzando la medesima porta di dominio in fruizione ed erogazione è un dettaglio trascurabile che non modifica sostanzialmente il modus operandi nel caso in cui fruitore ed erogatore fossero appartenenti a domini distinti con Porte di Dominio distinte. Per quanto riguarda i soggetti cooperanti si utilizzeranno come esempio:

6 2 / 57 CentroAnagrafico, che rappresenta una generica amministrazione centrale orientata ai servizi anagrafici (soggetto erogatore) Comune, che rappresenta una generica amministrazione locale che richiede dei servizi anagrafici (soggetto fruitore) Assumiamo che si siano adottate le impostazioni di default per l installazione di JBoss e che quindi l indirizzo di ricezione delle buste egov della porta di dominio sia uguale a: Essendo i due soggetti entrambi interni al dominio, possiamo assumere che questa url corrisponda al loro connettore. La figura seguente schematizza il flusso di una richiesta gestita dalla Porta di Dominio configurata in modalità loopback. 3 Presentazione degli scenari di esempio Immaginiamo di dover sviluppare ed integrare in cooperazione applicativa alcuni servizi che gestiscono dati anagrafici, erogati dal soggetto CentroAnagrafico. Immaginiamo inoltre che altri servizi, ad esempio nell ambito di un generico Comune, abbiano bisogno di fruire dei servizi erogati dal Centro Anagrafico. Tra le varie funzionalità ammissibili in questo contesto, abbiamo selezionato una casistica composta da quattro servizi che coprono tutti i profili di cooperazione previsti dalla specifica SPCoop. Elenchiamo i servizi di esempio: ComunicazioneVariazione: con questa operazione si inviano i dati anagrafici di una persona fisica da sostituire a quelli preesistenti. Non richiede nessuna risposta. (profilo di cooperazione Oneway) RichiestaStatoFamiglia: questa operazione permette di recuperare i dati anagrafici di una persona fisica. Nella richiesta viene inserito il codice fiscale della persona e nella risposta saranno inclusi di dati corrispondenti. (profilo di cooperazione Sincrono) StampaDocumento: viene usato per richiedere la stampa di un documento. Poiché è un operazione che può richiedere un tempo indefinito e non immediato per essere portata a termine, la richiesta di stampa e il messaggio che conferma il completamento sono consegnati su connessioni distinte. Immaginiamo inoltre che per questa particolare operazione l infrastruttura del centro Anagrafe non consenta connessioni in uscita, quindi entrambe le connessioni saranno aperte dal Comune. (profilo di cooperazione AsincronoAsimmetrico) IdentificaSoggetto: quest operazione permette di risalire ad un soggetto con i dati di un documento qualora non si disponesse di un codice fiscale. Anche in questo caso l operazione può essere lunga da portare a termine, quindi richiesta e risposta vengono comunicate su differenti connessioni. A differenza dell operazione StampaDocumento, immaginiamo che l infrastruttura del centro Anagrafe consenta connessioni in ingresso e in uscita. (profilo di cooperazione AsincronoSimmetrico) Nelle sezioni successive vedremo in dettaglio come realizzare gli scenari appena descritti analizzando la progettazione dei descrittori dell Accordo di Servizio, i passi di configurazione della Porta di Dominio, la fase di programmazione dei servizi di fruizione ed erogazione ed infine come effettuare un test di verifica complessivo. Il materiale di esempio, illustrato nel tutorial, contenente le descrizioni dei servizi e l implementazione delle applicazioni di esempio, può essere scaricato qui.

7 3 / 57 4 Comunicazione Variazione (Oneway) 4.1 Descrizione formale dell Accordo di Servizio: WSDL Il primo passo sarà, per l erogatore del servizio, quello di fornire il WSDL che descrive il servizio che si intende erogare. Il WSDL poi dovrà essere partizionato, secondo le specifiche del CNIPA, in definitorio, concettuale, logico fruitore/erogatore e implementativo fruitore/erogatore. WSDL Definitorio (scarica definitorio.xsd) Contiene le definizioni dei tipi di dato utilizzati per la codifica dei messaggi. <xs:schema xmlns:so=" xmlns:xs=" xmlns:xsd=" targetnamespace=" <xs:element name="comunicazionevariazione"> <xs:complextype> <xs:complexcontent> <xs:extension base="so:personatype"> <xs:attribute name="cf" type="so:codicefiscaletype" use="required"/> </xs:extension> </xs:complexcontent> </xs:complextype> </xs:element> <xs:simpletype name="codicefiscaletype"> <xs:restriction base="xs:string"> <xs:pattern value="[a-za-z]{6}\d\d[a-za-z]\d\d[a-za-z]\d\d\d[a-za-z]"/> </xs:restriction> </xs:simpletype> <xs:complextype name="personatype"> <xs:sequence> <xs:element name="nome" type="xs:string"/> <xs:element name="cognome" type="xs:string"/> <xs:element name="codicefiscale" type="so:codicefiscaletype"/> <xs:element name="nascita" type="xs:date"/> <xs:element name="statocivile" type="xs:string"/> </xs:sequence> </xs:complextype> <xs:element name="notifica"> <xsd:complextype> <xsd:sequence> <xsd:element name="comunicazionevariazione" type="so:comunicazionevariazionetype"/> </xsd:sequence> </xsd:complextype> </xs:element> </xs:schema> WSDL Concettuale (scarica concettuale.wsdl). Specifica l interfaccia completa dell accordo di servizio indipendentemente da chi espone i servizi. <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc="

8 4 / 57 xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd" /> <wsdl:message name="comunicazionevariazionerequest"> <wsdl:part element="spc:notifica" name="comunicazionevariazionepart" /> </wsdl:message> <wsdl:porttype name="comunicazionevariazione"> <wsdl:operation name="notifica"> <wsdl:input message="spc:comunicazionevariazionerequest" /> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Logico Erogatore (scarica logicoerogatore.wsdl). Specifica l interfaccia di servizi e operazioni esposte dal soggetto erogatore. <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd" /> <wsdl:message name="comunicazionevariazionerequest"> <wsdl:part element="spc:notifica" name="comunicazionevariazionepart" /> </wsdl:message> <wsdl:porttype name="comunicazionevariazione"> <wsdl:operation name="notifica"> <wsdl:input message="spc:comunicazionevariazionerequest" /> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Logico Fruitore Specifica le interfacce di servizi e operazioni esposte dal soggetto fruitore. Il fruitore, per realizzare questo scenario, non ha bisogno di esporre nessun servizio, quindi non è presente il WSDL Logico Fruitore. WSDL Implementativo Erogatore (scarica implementativoerogatore.wsdl). accesso per servizi e operazioni esposti dal soggetto erogatore. <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" Specifica i dettagli di protocollo e porti di <wsdl:import namespace=" location="logicoerogatore.wsdl "/> <wsdl:binding name="comunicazionevariazionebinding" type="spc:comunicazionevariazione"> <soap:binding style="document" transport=" <wsdl:operation name="notifica"> <wsdl:input> <soap:body use="literal"/> </wsdl:input> </wsdl:operation> </wsdl:binding>

9 5 / 57 <wsdl:service name="comunicazionevariazioneservice"> <wsdl:port name="comunicazionevariazioneinterfaceendpoint" binding="spc: ComunicazioneVariazioneBinding"> <soap:address location=" SPCCentroAnagrafico/SPCComunicazioneVariazione/Notifica"/> </wsdl:port> </wsdl:service> </wsdl:definitions> WSDL Implementativo Fruitore Specifica i dettagli di protocollo e porti di accesso per servizi e operazioni esposti dal soggetto erogatore. Come per il WSDL Logico Fruitore, non ci sono servizi da implementare per il fruitore del servizio in questo scenario. 4.2 Configurazione Porta di Dominio Configurazioni comuni a tutti gli esempi del tutorial Le operazioni descritte in questo paragrafo forniscono entità (soggetti, servizi...) utili per tutti i profili di collaborazione che verranno configurati successivamente. 1. Configuriamo il registro dei servizi attraverso l interfaccia web di gestione pddconsole. Identifichiamoci con diritti di amministratore: Login Password amministratore secret Tabella 1: Dati autenticazione PddConsole Una volta effettuato il login, nel menù a sinistra sono elencate le operazioni di modifica e visualizzazione della configurazione. 2. Creazione del Soggetto SPCoop Comune avente il ruolo di fruitore negli esempi del tutorial: Aggiungiamo il soggetto che fruirà del servizio ComunicazioneVariazione. Comune Tabella 2: Dati Soggetto SPCoop Fruitore (a) Selezionare aggiungi nel menù Soggetti SPCoop (b) Utilizzare la form per inserire i parametri del soggetto fruitore del servizio

10 6 / 57 Nota Se non viene indicato il nome della Porta di dominio che ospita il soggetto, viene usato il valore di default: [_Soggetto]SPCoopIT. (c) Premere il pulsante Invia 3. Impostazione del connettore, cioè l indirizzo della porta di dominio per la ricezione delle richieste indirizzate ad un determinato soggetto, relativo al Soggetto SPCoop Comune. URL Tabella 3: Connettore del Soggetto SPCoop fruitore (a) Dalla lista dei soggetti selezionare visualizza relativamente alla riga del soggetto Comune in corrispondenza della colonna Connettore (b) Abilitare quindi il connettore dall apposito checkbox e Utilizzare il campo testo sottostante per inserire il valore del connettore (c) Premere il pulsante Invia 4. Creazione del Servizio Applicativo Comune_SA utilizzato per l integrazione del client fruitore nei primi tre scenari: Comune_SA Soggetto SPCoop SPC/Comune Invocazione porta / Credenziale di accesso basic Utente Comune_SA Password Modalità di fault soap Tabella 4: Dati Servizio Applicativo Fruitore (a) Selezionare aggiungi nel menù Servizi Applicativi

11 7 / 57 (b) Utilizzare la form per inserire i parametri del servizio applicativo fruitore (c) Premere il pulsante Invia 5. Creazione del Soggetto SPCoop CentroAnagrafico avente il ruolo di erogatore dei servizi di esempio del tutorial. CentroAnagrafico Tabella 5: Dati del Soggetto SPCoop erogatore (a) Selezionare aggiungi nel menù Soggetti SPCoop (b) Utilizzare la form per inserire i parametri del soggetto erogatore del servizio Nota Se non viene indicato il nome della Porta di dominio che ospita il soggetto, viene usato il valore di default: [_Soggetto]SPCoopIT. (c) Premere il pulsante Invia 6. Impostazione del connettore relativo al Soggetto SPCoop CentroAnagrafico. URL Tabella 6: Connettore del Soggetto SPCoop erogatore

12 8 / 57 (a) Dalla lista dei soggetti selezionare visualizza relativamente alla riga del soggetto CentroAnagrafico in corrispondenza della colonna Connettore (b) Utilizzare la form per inserire il valore del connettore (c) Premere il pulsante Invia Configurazione del registro dei servizi della PdD Una volta creati i descrittori (WSDL) del servizio, possiamo procedere con la creazione dell Accordo di Servizio Parte Comune nella pddconsole. 1. Creazione dell Accordo di Servizio Parte Comune AS_ComunicazioneVariazione Soggetto Referente SPC/CentroAnagrafico Versione 1 WSDL Definitorio definitorio.xsd WSDL Concettuale concettuale.wsdl WSDL Logico Erogatore logicoerogatore.wsdl Tabella 7: Dati Accordo di Servizio Parte Comune (a) Selezionare aggiungi nel menù Accordi Servizio Parte Comune (b) Utilizzare la form per inserire i vari parametri dell Accordo 2. Aggiungiamo il Servizio generico all Accordo: il nome del servizio dovrà avere lo stesso nome del PortType indicato nel WSDL Concettuale.

13 9 / 57 Profilo ComunicazioneVariazione oneway Tabella 8: Dati Servizio dell Accordo (a) Dalla lista degli Accordi di Servizio Parte Comune, selezionare visualizza nella colonna servizi in corrispondenza dell Accordo creato al punto precedente. (b) Selezionare aggiungi e completare la form per l aggiunta di un nuovo servizio. 3. Specifichiamo le azioni del Servizio: le azioni del Servizio corrispondono alle Operation specificate nel WSDL Notifica Tabella 9: Dati delle azioni del servizio (a) Dalla lista degli Accordi di Servizio Parte Comune, selezionare visualizza nella colonna servizi in corrispondenza dell Accordo creato al punto precedente. (b) Selezionare visualizza nella colonna azioni in corrispondenza del servizio ComunicazioneVariazione (c) Selezionare aggiungi e completare la form per l aggiunta di una nuova azione. 4. Aggiungere l Accordo di Servizio Parte Specifica: Soggetto Erogatore Accordo di Servizio Parte Comune Servizio WSDL Implementativo Erogatore SPC/CentroAnagrafico AS_ComunicazioneVariazione ComunicazioneVariazione implementativoerogatore.wsdl Tabella 10: Dati dell Accordo di Servizio Parte Specifica (a) Nella sezione Accordi Servizio Parte Specifica selezionare Aggiungi. (b) Utilizzare la form per inserire i parametri della parte specifica dell accordo di servizio

14 10 / 57 (c) Premere il pulsante Invia 5. Aggiungere il soggetto fruitore alla lista dei soggetti che possono fruire del servizio: l installazione standard di Open- SPCoop attiva di default l autorizzazione SPCoop che attiva il controllo da parte della porta applicativa che il soggetto che invoca un servizio sia un fruitore autorizzato. Per superare questo controllo dobbiamo quindi aggiungere il soggetto Comune ai fruitori del servizio ComunicazioneVariazione (a) Nell elenco degli Accordi Servizio Parte Specifica individuare ComunicazioneVariazione e selezionare visualizza nella colonna Adesioni: (b) Selezionare Add ed utilizzare la form per inserire i parametri del soggetto fruitore del servizio (c) Premere il pulsante Invia Nota Si tenga presente che l operazione descritta in questo passaggio comporta la creazione automatica di una porta delegata associata al soggetto fruitore appena aggiunto. La porta delegata viene inizializzata con dei valori di default che vanno bene in molti casi. Se si vogliono modificare tali impostazioni si deve procedere con la modifica della porta delegata individuabile nella lista per ciascun soggetto SPCoop. 6. Aggiungere nelle politiche sicurezza il servizio applicativo che si vuole autorizzare all invocazione del servizio. Questo passaggio riguarda l autorizzazione del servizio applicativo fruitore all invocazione della porta delegata generata al passo precedente. (a) Dall elenco dei fruitori del servizio, in corrispondenza del soggetto Comune, nella colonna politiche sicurezza selezionare visualizza, quindi il pulsante Aggiungi (b) Compilare il form selezionando il servizio applicativo Comune_SA dalla lista a discesa e confermando con il pulsante Invia (c) Premere il pulsante Invia

15 11 / 57 Nota L operazione descritta in questo passaggio, creerà automaticamente un associazione tra il servizio applicativo e la porta delegata creata automaticamente al passo precedente. 7. Aggiungere la Porta Applicativa: aggiungiamo al soggetto SPC/CentroAnagrafico la porta applicativa che si occuperà della consegna delle richieste applicative verso il serivizio applicativo erogatore. Validazione Contenuti Gestione Body Gestione Manifest Accordo di Servizio Parte Specifica Azione ComunicazioneVariazione_PA disabilitato none abilitato ComunicazioneVariazione Notifica Tabella 11: Dati Porta Applicativa (a) Dalla lista dei Soggetti SPCoop, in corrispondenza del soggetto CentroAnagrafico, nella colonna Porte Applicative, Selezionare visualizza (b) Cliccare sul pulsante Aggiungi (c) Utilizzare la form per inserire i parametri della Porta Applicativa per il soggetto CentroAnagrafico. (d) Premere il pulsante Invia 8. Aggiungere il Servizio Applicativo Erogatore: Soggetto SPCoop Credenziale di accesso Modalità fault ComunicazioneVariazione_SA CentroAnagrafico nessuna soap Tabella 12: Dati Servizio Applicativo

16 12 / 57 (a) Selezionare aggiungi nel menù Servizi Applicativi (b) Utilizzare la form per inserire i parametri del Servizio Applicativo. (c) Premere il pulsante Invia 9. Impostare i parametri di invocazione del Servizio Applicativo: Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso ComunicazioneVariazione_SA no disabilitato si none Tabella 13: Dati invocazione Servizio Applicativo (a) Abilitare l invocazione del servizio ComunicazioneServizio_SA dall elenco dei Servizi Applicativi (selezionare disabilitato nella colonna Invocazione servizio) (b) Utilizzare la form per inserire i parametri del Servizio Applicativo. (c) Premere il pulsante Invia 10. Associare alla Porta Applicativa il Servizio Applicativo Erogatore: (a) Dall elenco dei Soggetti SPCoop visualizzare le Porta Applicative associati al soggetto SPC/CentroAnagrafico. Selezionare ComunicazioneVariazione_PA e quindi visualizzare l elenco dei Servizi Applicativi (b) Selezionare add. (c) Selezionare il servizio applicativo creato in precedenza. (d) Premere il pulsante Invia

17 13 / Programmazione Completata la configurazione della Porta di Dominio, si passa alla fase di integrazione degli applicativi tramite l implementazione delle componenti relative ai servizi applicativi erogatore e fruitore Fruitore: Servizio Applicativo del Comune Modalità trasparente Cominciamo con la programmazione del fruitore. Per completare gli esempi sono stati utilizzati gli stub generati dal tool wsdl2java fornito da CXF. L approccio in modalità trasparente prevede che l invocazione del servizio avvenga tramite l interfaccia descritta nel WSDL dell accordo di servizio. ComunicazioneVariazioneService ss = new ComunicazioneVariazioneService(wsdlURL, SERVICE_NAME); ComunicazioneVariazione port = ss.getcomunicazionevariazioneinterfaceendpoint(); /* * Imposto la url della porta di dominio come destinazione * Imposto username e password per l autenticazione */ ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, SOAPUrl); ((BindingProvider)port).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, username); ((BindingProvider)port).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, password); org.openspcoop.example.comunicazionevariazione_type _notifica_comunicazionevariazionepart = new ComunicazioneVariazione_Type(); _notifica_comunicazionevariazionepart.setcf("bbbccc11f11f111f"); port.notifica(_notifica_comunicazionevariazionepart); Modalità via Integration Manager Un altro modo per inviare i messaggi alla Porta di Dominio è quello di utilizzare il servizio di Integration Manager. Generiamo gli stub partendo dal wsdl del servizio: wsdl2java -all ottenuti gli stub possiamo inviare il messaggio di richiesta: QName SERVICE_NAME = new QName(" " IntegrationManagerService"); try{ URL wsdlurl = new URL(...); } catch (MalformedURLException e) { e.printstacktrace(); } try{ String file = "request.xml"; String PD = "/SPCComune/SPCCentroAnagrafico/SPCComunicazioneVariazione/ Notifica";

18 14 / 57 /* * Creo il port per l IntegrationManager */ IntegrationManagerService ss = new IntegrationManagerService(wsdlURL, SERVICE_NAME); IntegrationManager port = ss.getintegrationmanager(); /* * Invoco il servizio invocaportadelegata */ java.lang.string _invocaportadelegata_portadelegata = PD; SPCoopMessage _invocaportadelegata_msg = new SPCoopMessage(); File xmlmessage = new File(file); byte[] msg = new byte[(int)xmlmessage.length()]; FileInputStream strm = new FileInputStream(xmlMessage); strm.read(msg); _invocaportadelegata_msg.setmessage(msg); System.out.println("Invocazione Comunicazione Variazione via Integration Manager..."); System.out.println("Request Message:"); System.out.println(new String(_invocaPortaDelegata_msg.getMessage())); try { SPCoopMessage _invocaportadelegata return = port.invocaportadelegata( _invocaportadelegata_portadelegata, _invocaportadelegata_msg); System.out.println("\n Response Message:"); System.out.println(new String(_invocaPortaDelegata return.getmessage())) ; } catch (SPCoopException_Exception e) { System.out.println("Expected exception: SPCoopException has occurred."); System.out.println(e.toString()); return; } } catch(exception e){ System.out.println("Errore::::" + e); return; } Erogatore: Servizio Applicativo del CentroAnagrafico Il Servizio Applicativo del Centro Anagrafico deve ricevere il messaggio SOAP senza mandare una risposta. un implementazione con gli skeleton generati dal tool wsdl2java di CXF package org.openspcoop.example; servicename = "ComunicazioneVariazioneService", portname = "ComunicazioneVariazioneInterfaceEndpoint", targetnamespace = " wsdllocation = "file:comunicazionevariazione.wsdl", endpointinterface = "org.openspcoop.example.comunicazionevariazione") public class ComunicazioneVariazioneImpl implements ComunicazioneVariazione { public void notifica(comunicazionevariazione_type comunicazionevariazionepart) {

19 15 / 57 } } try { System.out.println("========== Ricevuta Comunicazione Variazione ==============") ; System.out.println("== Codice fiscale da modificare: " + comunicazionevariazionepart. getcf()); System.out.println(); System.out.println("== Nuovo nome: " + comunicazionevariazionepart.get()); System.out.println("== Nuovo cognome: " + comunicazionevariazionepart.getcognome()); System.out.println("== Nuovo codice fiscale: " + comunicazionevariazionepart. getcodicefiscale()); System.out.println("== Nuova data di nascita: " + comunicazionevariazionepart. getnascita()); System.out.println("== Nuovo stato civile: " + comunicazionevariazionepart. getstatocivile()); } catch (Exception ex) { ex.printstacktrace(); throw new RuntimeException(ex); } 4.4 Test e verifica Seguendo le istruzioni fornite con i sorgenti per la configurazione, compilazione ed esecuzione degli esempi, avviamo il test per il servizio ComunicazioneVariazione Il Client invierà il messaggio di richiesta alla Porta Delegata: (Messaggio 1 in figura) POST /openspcoop/pd/spccomune/spccentroanagrafico/spccomunicazionevariazione/notifica HTTP /1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Content-Length: 504 Cache-Control: no-cache Pragma: no-cache User-Agent: Java/1.5.0_11 Host: localhost:8080 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive <soapenv:envelope xmlns:soapenv=" xmlns:xsd=" xmlns:xsi=" <soapenv:body> <Notifica xmlns=" <comunicazionevariazione CF="BBBCCC11F11F111F"> <nome>mario</nome> <cognome>rossi</cognome> <codicefiscale>dddfff22g22g222g</codicefiscale> <nascita> t12:00:00.000z</nascita> <statocivile>celibe</statocivile> </comunicazionevariazione>

20 16 / 57 </Notifica> </soapenv:body> </soapenv:envelope> La Porta di Dominio si occupa quindi di imbustare la richiesta ed inviarla alla Porta di Dominio destinataria, nel nostro caso a se stessa, arricchita dell header e-gov (Messaggio 2 in figura): <soapenv:envelope xmlns:soapenv=" xmlns:xsd=" xmlns:xsi=" <soapenv:header> <egov_it:intestazione SOAP_ENV:actor=" SOAP_ENV:mustUnderstand="1" xmlns:soap_env=" xmlns:egov_it=" /"> <egov_it:intestazionemessaggio> <egov_it:mittente> <egov_it:identificativoparte tipo="spc">comune</egov_it:identificativoparte> </egov_it:mittente> <egov_it:destinatario> <egov_it:identificativoparte tipo="spc">centroanagrafico</egov_it: IdentificativoParte> </egov_it:destinatario> <egov_it:profilocollaborazione>egov_it_messaggiosingolooneway</egov_it: ProfiloCollaborazione> <egov_it:servizio tipo="spc">comunicazionevariazione</egov_it:servizio> <egov_it:azione>notifica</egov_it:azione> <egov_it:messaggio> <egov_it:identificatore>comune_comunespcoopit_ _ _12:07</egov_it: Identificatore> <egov_it:oraregistrazione tempo="egov_it_spc"> t12:07:05.897</egov_it: OraRegistrazione> </egov_it:messaggio> <egov_it:profilotrasmissione confermaricezione="false" inoltro=" EGOV_IT_ALPIUUNAVOLTA"/> </egov_it:intestazionemessaggio> <egov_it:listatrasmissioni> <egov_it:trasmissione> <egov_it:origine> <egov_it:identificativoparte tipo="spc">comune</egov_it:identificativoparte> </egov_it:origine> <egov_it:destinazione> <egov_it:identificativoparte tipo="spc">centroanagrafico</egov_it: IdentificativoParte> </egov_it:destinazione> <egov_it:oraregistrazione tempo="egov_it_spc"> t12:07:05.897</egov_it: OraRegistrazione> </egov_it:trasmissione> </egov_it:listatrasmissioni> </egov_it:intestazione> </soapenv:header> <soapenv:body> <comunicazionevariazione CF="BBBCCC11F11F111F" xmlns=" "> <nome>mario</nome> <cognome>rossi</cognome> <codicefiscale>dddfff22g22g222g</codicefiscale> <nascita> t12:00:00.000z</nascita> <statocivile>celibe</statocivile> </comunicazionevariazione> </soapenv:body>

21 17 / 57 </soapenv:envelope> La Porta di Dominio destinataria recupera le informazioni necessarie alla gestione della richiesta, riconosce che il tipo di comunicazione è Oneway e si occupa quindi di consegnare il messaggio applicativo al servizio erogatore (Messaggio 3 in figura) e quindi inviare la risposta alla PdD mittente con payload vuoto (come previsto nei profili oneway, Messaggio 5 in figura). La PdD mittente quindi invia anch essa la risposta con payload vuoto al servizio applicativo fruitore del soggetto Comune. La risposta inviata al client è questa (Messaggio 6 in figura): HTTP/ OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.4; JBoss GA_CP04 (build: CVSTag= jbossas/tags/jboss_4_0_5_ga_cp04 date= )/tomcat-5.5 SPCoopTipoMittente: SPC SPCoopID: Comune_ComuneSPCoopIT_ _ _10:56 SPCoopServizio: ComunicazioneVariazione SPCoopDestinatario: CentroAnagrafico SPCoopTipoDestinatario: SPC SPCoopAzione: Notifica SPCoopTipoServizio: SPC SPCoopMittente: Comune Content-Length: 0 Date: Thu, 31 Jul :56:56 GMT Controllando il file openspcoop.log possiamo verificare il corretto funzionamento della porta: ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T15:13:48.754> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _15:13 PD:SPCComune/SPCCentroAnagrafico/ SPCComunicazioneVariazione SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ ComunicazioneVariazione_Notifica Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [Comune_SA] ) Comune_SA verso la porta delegata SPCComune/SPCCentroAnagrafico/ SPCComunicazioneVariazione ComuneSPCoopIT.InoltroBusteEGov < T15:13:48.780> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _15:13 PD:SPCComune/SPCCentroAnagrafico/ SPCComunicazioneVariazione SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ ComunicazioneVariazione_Notifica Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _15:13] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T15:13:48.910> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _15:13 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _15 :13] inviata dalla parte mittente [SPC/Comune] CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T15:13:48.926> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _15:13 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _15:13] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica]... CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T15:13:48.951> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _15:13 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _15:13] FR[SPC/Comune]->ER[SPC/

22 18 / 57 CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica]: autorizzato (client-auth disabilitato nella porta di dominio PddOpenSPCoop) CentroAnagraficoSPCoopIT.Sbustamento < T15:13:48.954> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _15:13 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _15:13] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T15:13:48.972> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _15:13 SA:ComunicazioneVariazione_SA FR :SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _15:13] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T15:13:49.309> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _15:13 SA:ComunicazioneVariazione_SA FR :SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _15:13], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [ComunicazioneVariazione_SA] mediante connettore [http] (location: con codiceconsegna: 202 ComuneSPCoopIT.InoltroBusteEGov < T15:13:49.347> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _15:13 PD:SPCComune/SPCCentroAnagrafico/ SPCComunicazioneVariazione SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ ComunicazioneVariazione_Notifica Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _15:13] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: Stato Famiglia (sincrono) 5.1 Descrizione formale dell Accordo di Servizio: WSDL Come per il servizio ComunicazioneVariazione, creiamo un accordo di servizio fornendo i wsdl che descrivono il servizio applicativo in questione. I wsdl in questione sono forniti insieme ai sorgenti degli esempi: WSDL Definitorio (scarica definitorio.xsd) Contiene le definizioni dei tipi di dato utilizzati per la codifica dei messaggi. <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:so=" xmlns:xs=" XMLSchema" xmlns:xsd=" targetnamespace=" openspcoop.org/example"> <xs:simpletype name="codicefiscaletype"> <xs:restriction base="xs:string"> <xs:pattern value="[a-za-z]{6}\d\d[a-za-z]\d\d[a-za-z]\d\d\d[a-za-z]"/> </xs:restriction> </xs:simpletype> <xs:complextype name="personatype"> <xs:sequence> <xs:element name="nome" type="xs:string"/>

23 19 / 57 <xs:element name="cognome" type="xs:string"/> <xs:element name="codicefiscale" type="so:codicefiscaletype"/> <xs:element name="nascita" type="xs:date"/> <xs:element name="statocivile" type="xs:string"/> </xs:sequence> </xs:complextype> <xs:element name="richiestastatofamiglia" type="so:codicefiscaletype"/> <xs:element name="statofamiglia" type="so:personatype"/> </xs:schema> WSDL Concettuale (scarica concettuale.wsdl). Specifica l interfaccia completa dell accordo di servizio indipendentemente da chi espone i servizi. <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="statofamigliaresponse"> <wsdl:part name="statofamigliaresponsepart" element="spc:statofamiglia"> </wsdl:part> </wsdl:message> <wsdl:message name="statofamigliarequest"> <wsdl:part name="statofamigliarequestpart" element="spc:richiestastatofamiglia"> </wsdl:part> </wsdl:message> <wsdl:porttype name="richiestastatofamiglia"> <wsdl:operation name="acquisisci"> <wsdl:input message="spc:statofamigliarequest"> </wsdl:input> <wsdl:output message="spc:statofamigliaresponse"> </wsdl:output> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Logico Erogatore (scarica logicoerogatore.wsdl). Specifica l interfaccia di servizi e operazioni esposte dal soggetto erogatore. <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="statofamigliaresponse"> <wsdl:part name="statofamigliaresponsepart" element="spc:statofamiglia"> </wsdl:part> </wsdl:message> <wsdl:message name="statofamigliarequest"> <wsdl:part name="statofamigliarequestpart" element="spc:richiestastatofamiglia"> </wsdl:part> </wsdl:message> <wsdl:porttype name="richiestastatofamiglia"> <wsdl:operation name="acquisisci"> <wsdl:input message="spc:statofamigliarequest"> </wsdl:input> <wsdl:output message="spc:statofamigliaresponse"> </wsdl:output> </wsdl:operation> </wsdl:porttype>

24 20 / 57 </wsdl:definitions> WSDL Logico Fruitore Il fruitore, per realizzare questo scenario, non ha bisogno di esporre nessun servizio, quindi non ha un WSDL che lo descrive. WSDL Implementativo Erogatore (scarica implementativoerogatore.wsdl). accesso per servizi e operazioni esposti dal soggetto erogatore. Specifica i dettagli di protocollo e porti di <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="logicoerogatore.wsdl "> </wsdl:import> <wsdl:binding name="richiestastatofamigliabinding" type="spc:richiestastatofamiglia"> <soap:binding style="document" transport=" <wsdl:operation name="acquisisci"> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="richiestastatofamigliaservice"> <wsdl:port name="richiestastatofamigliainterfaceendpoint" binding="spc: RichiestaStatoFamigliaBinding"> <soap:address location=" SPCCentroAnagrafico/SPCRichiestaStatoFamiglia/Acquisisci"/> </wsdl:port> </wsdl:service> </wsdl:definitions> WSDL Implementativo Fruitore Come per il WSDL Logico Fruitore, non ci sono servizi da implementare per il fruitore del servizio in questo scenario. 5.2 Configurazione Porta di Dominio Eseguiamo la configurazione sulla pddconsole sulla falsariga di quanto fatto per lo scenario oneway visto in precedenza. Una volta creati i descrittori WSDL del servizio, possiamo procedere con la creazione dell accordo di servizio. 1. Creazione dell Accordo di Servizio Parte Comune con i dati riportati in Tabella 14. Referente WSDL Definitorio WSDL Concettuale WSDL Logico Erogatore AS_RichiestaStatoFamiglia SPC/CentroAnagrafico definitorio.xsd concettuale.wsdl logicoerogatore.wsdl Tabella 14: Dati Accordo di Servizio Parte Comune 2. Aggiungiamo il Servizio Generico all Accordo: il nome del servizio dovrà avere lo stesso nome del PortType indicato nel WSDL Concettuale. 3. Specifichiamo le azioni del Servizio: le azioni del Servizio corrispondono alle Operation specificate nel WSDL

25 21 / 57 Profilo RichiestaStatoFamiglia sincrono Tabella 15: Dati Servizio dell Accordo Acquisisci Tabella 16: Dati delle azioni del servizio 4. Aggiungere l Accordo di Servizio Parte Specifica con i dati riportati in Tabella Aggiungere il soggetto fruitore alla lista dei soggetti che possono fruire della parte specifica appena creata: avendo attiva di default l autenticazione SPCoop dobbiamo aggiungere il soggetto Comune ai fruitori del servizio RichiestaStatoFamiglia 6. Aggiungere nelle politiche sicurezza il servizio applicativo autorizzato ad invocare il servizio. Questo passaggio attiva l autorizzazione del servizio applicativo fruitore all invocazione della porta delegata generata al passo precedente. (a) Dall elenco dei fruitori del servizio, in corrispondenza del soggetto Comune, nella colonna politiche sicurezza selezionare visualizza, quindi il pulsante Aggiungi (b) Compilare il form selezionando il servizio applicativo Comune_SA dalla lista a discesa e confermando con il pulsante Invia (c) Premere il pulsante Invia Nota L operazione descritta in questo passaggio, creerà automaticamente un associazione tra il servizio applicativo e la porta delegata creata automaticamente al passo precedente. 7. Aggiungere la Porta Applicativa: aggiungiamo al soggetto SPC/CentroAnagrafico la porta applicativa che si occuperà dello sbustamento delle richieste e-gov dei fruitori e della consegna al servizio applicativo erogatore. 8. Aggiungere il Servizio Applicativo Erogatore: 9. Impostare i parametri di invocazione del Servizio Applicativo, per la consegna trasparente delle richieste al servizio, con i valori riportati in Tabella 20: 10. Associare alla Porta Applicativa il Servizio Applicativo 5.3 Programmazione Gli aspetti di programmazione di un servizio e relativo client,per il profilo sincrono, sono molto simili al caso del profilo Oneway, tranne per il fatto che il servizio in questo caso restituisce un messaggio SOAP di risposta che deve essere gestita dal chiamante. Nella programmazione dei servizi a livello di operazioni, questo si traduce in un operazione con un oggetto di ritorno invece di void. Soggetto SPCoop Accordo Servizio Parte Comune Servizio WSDL Implementativo Erogatore SPC/CentroAnagrafico AS_RichiestaStatoFamiglia RichiestaStatoFamiglia implementativoerogatore.wsdl Tabella 17: Dati Accordo di Servizio Parte Specifica

26 22 / 57 Validazione Contenuti Gestione Body Gestione Manifest Servizio SPCoop Azione RichiestaStatoFamiglia_PA disabilitato none abilitato RichiestaStatoFamiglia Acquisisci Tabella 18: Dati Porta Applicativa Soggetto SPCoop Credenziale di accesso Modalità fault RichiestaStatoFamiglia_SA CentroAnagrafico nessuna soap Tabella 19: Dati Servizio Applicativo public interface RichiestaStatoFamiglia { = "statofamiglia", targetnamespace = " ", partname = = "Acquisisci") public PersonaType = "statofamigliarequestpart", name = "richiestastatofamiglia", targetnamespace = " java.lang.string statofamigliarequestpart ); 5.4 Test e verifica Seguendo le istruzioni fornite con i sorgenti per la configurazione, compilazione ed esecuzione degli esempi, avviamo il test per il servizio RichiestaStatoFamiglia. Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso RichiestaStatoFamiglia_SA no disabilitato si none Tabella 20: Dati invocazione Servizio Applicativo

27 23 / 57 Il Client invierà il messaggio di richiesta alla Porta Delegata (Messaggio 1 in figura): POST /openspcoop/pd/spccomune/spccentroanagrafico/spcrichiestastatofamiglia/acquisisci HTTP /1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Authorization: Basic Q29tdW5lX1NBOjEyMzQ1Ng== Accept: */* User-Agent: Apache CXF Cache-Control: no-cache Pragma: no-cache Host: localhost:8080 Connection: keep-alive Content-Length: 228 <soap:envelope xmlns:soap=" <soap:body> <ns2:richiestastatofamiglia xmlns:ns2=" DDDFFF22G22G222G</ns2:richiestaStatoFamiglia> </soap:body> </soap:envelope> La Porta di Dominio si occupa quindi di imbustare la richiesta ed inviarla alla Porta di Dominio destinataria, nel nostro caso a se stessa, arricchita dell header e-gov (Messaggio 2 in figura): POST /openspcoop/pa HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" User-Agent: Java/1.5.0_11 Host: localhost:8080 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 1911 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap=" <soap:header> <egov_it:intestazione SOAP_ENV:actor=" SOAP_ENV: mustunderstand="1" xmlns:soap_env=" xmlns: egov_it=" xmlns:xsd=" org/2001/xmlschema" xmlns:xsi=" <egov_it:intestazionemessaggio> <egov_it:mittente> <egov_it:identificativoparte tipo="spc">comune</egov_it:identificativoparte> </egov_it:mittente> <egov_it:destinatario> <egov_it:identificativoparte tipo="spc">centroanagrafico</egov_it: IdentificativoParte> </egov_it:destinatario> <egov_it:profilocollaborazione>egov_it_serviziosincrono</egov_it: ProfiloCollaborazione> <egov_it:servizio tipo="spc">richiestastatofamiglia</egov_it:servizio> <egov_it:azione>acquisisci</egov_it:azione> <egov_it:messaggio> <egov_it:identificatore>comune_comunespcoopit_ _ _15:31</egov_it: Identificatore> <egov_it:oraregistrazione tempo="egov_it_spc"> t15:31:47.085</egov_it: OraRegistrazione> </egov_it:messaggio> <egov_it:profilotrasmissione confermaricezione="false" inoltro="egov_it_alpiuunavolta "/> </egov_it:intestazionemessaggio>

28 24 / 57 <egov_it:listatrasmissioni> <egov_it:trasmissione> <egov_it:origine> <egov_it:identificativoparte tipo="spc">comune</egov_it:identificativoparte> </egov_it:origine> <egov_it:destinazione> <egov_it:identificativoparte tipo="spc">centroanagrafico</egov_it: IdentificativoParte> </egov_it:destinazione> <egov_it:oraregistrazione tempo="egov_it_spc"> t15:31:47.085</egov_it: OraRegistrazione> </egov_it:trasmissione> </egov_it:listatrasmissioni> </egov_it:intestazione> </soap:header> <soap:body> <ns2:richiestastatofamiglia xmlns:ns2=" DDDFFF22G22G222G</ns2:richiestaStatoFamiglia> </soap:body> </soap:envelope> La Porta di Dominio destinataria recupera le informazioni necessarie alla gestione della richiesta, riconosce che il tipo di comunicazione è Sincrona e si occupa quindi di consegnare il messaggio applicativo al servizio erogatore (Messaggio 3 in figura) e quindi inviare il messaggio di risposta alla PdD mittente (Messaggio 5 in figura). La PdD mittente quindi invia anch essa la risposta al servizio applicativo fruitore del soggetto Comune (Messaggio 6 in figura). La risposta inviata al client è questa: HTTP/ OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.4; JBoss GA (build: SVNTag=JBoss_4_2_3_GA date= )/ JBossWeb-2.0 Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Wed, 18 Nov :31:47 GMT 86c <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap=" <soap:header> <egov_it:intestazione SOAP_ENV:actor=" SOAP_ENV: mustunderstand="1" xmlns:soap_env=" xmlns: egov_it=" xmlns:xsd=" org/2001/xmlschema" xmlns:xsi=" <egov_it:intestazionemessaggio> <egov_it:mittente> <egov_it:identificativoparte tipo="spc">centroanagrafico</egov_it: IdentificativoParte> </egov_it:mittente> <egov_it:destinatario> <egov_it:identificativoparte tipo="spc">comune</egov_it:identificativoparte> </egov_it:destinatario> <egov_it:profilocollaborazione>egov_it_serviziosincrono</egov_it: ProfiloCollaborazione> <egov_it:servizio tipo="spc">richiestastatofamiglia</egov_it:servizio> <egov_it:azione>acquisisci</egov_it:azione> <egov_it:messaggio> <egov_it:identificatore>centroanagrafico_centroanagraficospcoopit_ _ _15:31</egov_it:identificatore> <egov_it:oraregistrazione tempo="egov_it_spc"> t15:31:47.358</egov_it: OraRegistrazione> <egov_it:riferimentomessaggio>comune_comunespcoopit_ _ _15:31</ egov_it:riferimentomessaggio> </egov_it:messaggio>

29 25 / 57 <egov_it:profilotrasmissione confermaricezione="false" inoltro="egov_it_alpiuunavolta "/> </egov_it:intestazionemessaggio> <egov_it:listatrasmissioni> <egov_it:trasmissione> <egov_it:origine> <egov_it:identificativoparte tipo="spc">centroanagrafico</egov_it: IdentificativoParte> </egov_it:origine> <egov_it:destinazione> <egov_it:identificativoparte tipo="spc">comune</egov_it:identificativoparte> </egov_it:destinazione> <egov_it:oraregistrazione tempo="egov_it_spc"> t15:31:47.358</egov_it: OraRegistrazione> </egov_it:trasmissione> </egov_it:listatrasmissioni> </egov_it:intestazione> </soap:header> <soap:body> <ns2:statofamiglia xmlns:ns2=" cognome>rossi</cognome><codicefiscale>dddfff22g22g222g</codicefiscale><nascita > Z</nascita><statoCivile>Celibe</statoCivile></ns2:statoFamiglia> </soap:body> </soap:envelope> 0 Controllando il file openspcoop.log possiamo verificare il corretto funzionamento della porta: ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T15:29:25.889> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _15:29 PD:SPCComune/SPCCentroAnagrafico/ SPCRichiestaStatoFamiglia SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ RichiestaStatoFamiglia_Acquisisci Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [Comune_SA] ) Comune_SA verso la porta delegata SPCComune/SPCCentroAnagrafico/ SPCRichiestaStatoFamiglia ComuneSPCoopIT.InoltroBusteEGov < T15:29:25.960> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _15:29 PD:SPCComune/SPCCentroAnagrafico/ SPCRichiestaStatoFamiglia SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ RichiestaStatoFamiglia_Acquisisci Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _15:29] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T15:29:26.161> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _15:29 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _15 :29] inviata dalla parte mittente [SPC/Comune] CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T15:29:26.169> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _15:29 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _15:29] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci]... CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T15:29:26.213> (infoopenspcoop)

30 26 / 57 IDeGov:Comune_ComuneSPCoopIT_ _ _15:29 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _15:29] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci]: autorizzato (client-auth disabilitato nella porta di dominio PddOpenSPCoop) CentroAnagraficoSPCoopIT.Sbustamento < T15:29:26.220> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _15:29 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _15:29] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T15:29:26.235> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _15:29 SA:RichiestaStatoFamiglia_SA FR: SPC/Comune -> S:SPC/CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _15:29] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T15:29:26.528> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _15:29 SA:RichiestaStatoFamiglia_SA FR: SPC/Comune -> S:SPC/CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _15:29], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [RichiestaStatoFamiglia_SA] mediante connettore [http] (location: con codiceconsegna: 200 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T15:29:26.599> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _15:29 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/RichiestaStatoFamiglia_Acquisisci Generato messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _15:29] inviato alla parte destinataria [SPC/Comune] ComuneSPCoopIT.InoltroBusteEGov < T15:29:26.616> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _15:29 PD:SPCComune/SPCCentroAnagrafico/ SPCRichiestaStatoFamiglia SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ RichiestaStatoFamiglia_Acquisisci Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _15:29] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: 200 ComuneSPCoopIT.InoltroBusteEGov < T15:29:26.713> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _15:29 PD:SPCComune/SPCCentroAnagrafico/ SPCRichiestaStatoFamiglia SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ RichiestaStatoFamiglia_Acquisisci Ricevuto messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _15:29] inviata dalla parte mittente [SPC/CentroAnagrafico] ComuneSPCoopIT.SbustamentoRisposte < T15:29:26.735> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _15:29 PD:SPCComune/SPCCentroAnagrafico/ SPCRichiestaStatoFamiglia SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ RichiestaStatoFamiglia_Acquisisci

31 27 / 57 Ricevuta Busta EGov [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _15:29] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T15:29:26.738> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _15:29 PD:SPCComune/SPCCentroAnagrafico/ SPCRichiestaStatoFamiglia SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ RichiestaStatoFamiglia_Acquisisci Consegna contenuto applicativo, della risposta applicativa sincrona, effettuata 6 Stampa Documento (AsincronoAsimmetrico) 6.1 Descrizione formale dell Accordo di Servizio: WSDL Creiamo un accordo di servizio fornendo i wsdl che descrivono il servizio applicativo in questione. I wsdl in questione sono forniti insieme ai sorgenti degli esempi: WSDL Definitorio (scarica definitorio.xsd) Contiene le definizioni dei tipi di dato utilizzati per la codifica dei messaggi. <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:so=" xmlns:xs=" XMLSchema" xmlns:xsd=" targetnamespace=" openspcoop.org/example"> <xs:simpletype name="codicefiscaletype"> <xs:restriction base="xs:string"> <xs:pattern value="[a-za-z]{6}\d\d[a-za-z]\d\d[a-za-z]\d\d\d[a-za-z]"/> </xs:restriction> </xs:simpletype> <xs:complextype name="richiestadocumento"> <xs:sequence> <xs:element name="codicedocumento" type="xs:string"/> </xs:sequence> </xs:complextype> <xs:element name="stampadocumento"> <xs:complextype> <xs:complexcontent> <xs:extension base="so:richiestadocumento"> <xs:attribute name="cf" type="so:codicefiscaletype" use="required"/> </xs:extension> </xs:complexcontent> </xs:complextype> </xs:element> <xs:element name="presaconsegnastampa"> <xs:complextype> <xs:sequence> <xs:element name="idstampa" type="xs:long"/> <xs:element name="stimacompletamento" type="xs:date"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="statodocumento" type="xs:long"/> <xs:element name="esito" type="xs:string"/> </xs:schema> WSDL Concettuale (scarica concettuale.wsdl). Specifica l interfaccia completa dell accordo di servizio indipendentemente da chi espone i servizi.

32 28 / 57 <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="stampadocumentoresponse"> <wsdl:part name="stampadocumentoresponsepart" element="spc:presaconsegnastampa"> </wsdl:part> </wsdl:message> <wsdl:message name="statodocumentorequest"> <wsdl:part name="statodocumentorequestpart" element="spc:statodocumento"> </wsdl:part> </wsdl:message> <wsdl:message name="stampadocumentorequest"> <wsdl:part name="stampadocumentorequestpart" element="spc:stampadocumento"> </wsdl:part> </wsdl:message> <wsdl:message name="statodocumentoresponse"> <wsdl:part name="statodocumentoresponsepart" element="spc:esito"> </wsdl:part> </wsdl:message> <wsdl:porttype name="stampadocumento"> <wsdl:operation name="stampa"> <wsdl:input message="spc:stampadocumentorequest"> </wsdl:input> <wsdl:output message="spc:stampadocumentoresponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="stato"> <wsdl:input message="spc:statodocumentorequest"> </wsdl:input> <wsdl:output message="spc:statodocumentoresponse"> </wsdl:output> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Logico Erogatore (scarica logicoerogatore.wsdl). Specifica l interfaccia di servizi e operazioni esposte dal soggetto erogatore. <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="stampadocumentoresponse"> <wsdl:part name="stampadocumentoresponsepart" element="spc:presaconsegnastampa"> </wsdl:part> </wsdl:message> <wsdl:message name="statodocumentorequest"> <wsdl:part name="statodocumentorequestpart" element="spc:statodocumento"> </wsdl:part> </wsdl:message> <wsdl:message name="stampadocumentorequest"> <wsdl:part name="stampadocumentorequestpart" element="spc:stampadocumento"> </wsdl:part> </wsdl:message> <wsdl:message name="statodocumentoresponse"> <wsdl:part name="statodocumentoresponsepart" element="spc:esito">

33 29 / 57 </wsdl:part> </wsdl:message> <wsdl:porttype name="stampadocumento"> <wsdl:operation name="stampa"> <wsdl:input message="spc:stampadocumentorequest"> </wsdl:input> <wsdl:output message="spc:stampadocumentoresponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="stato"> <wsdl:input message="spc:statodocumentorequest"> </wsdl:input> <wsdl:output message="spc:statodocumentoresponse"> </wsdl:output> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Logico Fruitore Il fruitore, per realizzare questo scenario, non ha bisogno di esporre nessun servizio, quindi non ha un WSDL che lo descrive. WSDL Implementativo Erogatore (scarica implementativoerogatore.wsdl). accesso per servizi e operazioni esposti dal soggetto erogatore. Specifica i dettagli di protocollo e porti di <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="logicoerogatore.wsdl "> </wsdl:import> <wsdl:binding name="stampadocumentobinding" type="spc:stampadocumento"> <soap:binding style="document" transport=" <wsdl:operation name="stampa"> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="stato"> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="stampadocumentoservice"> <wsdl:port name="stampadocumentointerfaceendpoint" binding="spc:stampadocumentobinding "> <soap:address location=" SPCCentroAnagrafico/SPCStampaDocumento"/> </wsdl:port> </wsdl:service> </wsdl:definitions> WSDL Implementativo Fruitore Come per il WSDL Logico Fruitore, non ci sono servizi da implementare per il fruitore del servizio in questo scenario.

34 30 / Configurazione Porta di Dominio Una volta creati i descrittori del servizio, possiamo procedere con la creazione dell accordo di servizio. 1. Creazione dell Accordo di Servizio Parte Comune Referente WSDL Definitorio WSDL Concettuale WSDL Logico Erogatore AS_StampaDocumento SPC/CentroAnagrafico definitorio.xsd concettuale.wsdl logicoerogatore.wsdl Tabella 21: Dati Accordo di Servizio Parte Comune 2. Aggiungiamo il Servizio all Accordo: il nome del servizio dovrà avere lo stesso nome del PortType indicato nel WSDL Concettuale. Profilo StampaDocumento asincronoasimmetrico Tabella 22: Dati Servizio dell Accordo 3. Specifichiamo le azioni del Servizio: le azioni del Servizio corrispondono alle Operation specificate nel WSDL Stampa Stato Tabella 23: Dati delle azioni del servizio A differenza dei profili di collaborazione esaminati in precedenza, nel caso dell asincronoasimmetrico abbiamo due azioni per lo stesso servizio, uno per consegnare la richiesta ed uno per richiedere la risposta. Dobbiamo quindi informare la Porta di Dominio che le due operazioni sono correlate al momento della creazione della seconda azione: 4. Aggiungere l Accordo di Servizio Parte Specifica: 5. Aggiungere il soggetto fruitore alla lista dei soggetti che possono fruire del servizio: avendo attiva di default l autenticazione SPCoop dobbiamo aggiungere il soggetto Comune ai fruitori del servizio StampaDocumento 6. Aggiungere nelle politiche sicurezza il servizio applicativo autorizzato ad invocare il servizio. Questo passaggio è essenziale ai fini dell autenticazione da parte del servizio applicativo in fase di invocazione della porta delegata.

35 31 / 57 Soggetto SPCoop Accordo Servizio Parte Comune Servizio WSDL Implementativo Erogatore SPC/CentroAnagrafico AS_StampaDocumento StampaDocumento implementazioneerogatore.wsdl Tabella 24: Dati Accordo di Servizio Parte Specifica (a) Dall elenco dei fruitori del servizio, in corrispondenza del soggetto Comune, nella colonna politiche sicurezza selezionare visualizza, quindi il pulsante Aggiungi (b) Compilare il form selezionando il servizio applicativo Comune_SA dalla lista a discesa e confermando con il pulsante Invia (c) Premere il pulsante Invia Nota L operazione descritta in questo passaggio, creerà automaticamente un associazione tra il servizio applicativo e la porta delegata creata automaticamente al passo precedente. 7. Aggiungere la Porta Applicativa: aggiungiamo al soggetto SPC/CentroAnagrafico la porta applicativa che si occuperà dello sbustamento delle richieste e-gov dei fruitori e di consegnarle al servizio applicativo erogato. Validazione Contenuti Stateless Gestione Body Gestione Manifest Accordo di Servizio Parte Specifica Azione StampaDocumento_PA disabilitato default none abilitato StampaDocumento Stampa Tabella 25: Dati Porta Applicativa 8. Aggiungere il Servizio Applicativo con i dati riportati in Tabella 26: Soggetto SPCoop Credenziale d accesso Modalità fault StampaDocumento_SA CentroAnagrafico nessuna soap Tabella 26: Dati Servizio Applicativo 9. Impostare i parametri di invocazione del Servizio Applicativo con i valori riportati in Tabella 27. Questi dati serviranno alla PdD per la consegna della richiesta al servizio applicativo erogatore. 10. Impostare i parametri di invocazione per la Risposta Asincrona per la consegna della richiesta stato (correlata) con i valori riportati in Tabella Associare alla Porta Applicativa il Servizio Applicativo.

36 32 / 57 Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso StampaDocumento_SA no disabilitato si none Tabella 27: Dati invocazione Servizio Applicativo Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso StampaDocumento_SA no disabilitato si none Tabella 28: Dati invocazione Risposta Asincrona 6.3 Programmazione La fruizione di un servizio asincronoasimmetrico è dal punto di vista logico equivalente ad due richieste sincrone consecutive. Le due richieste, oltre al payload, differiscono per la url invocata che rispecchia la diversa operazione richiesta. Per la richiesta, l operazione da invocare è Stampa, mentre per la risposta Stato. Per correlare i due messaggi, dobbiamo includere nell header HTTP della risposta, l id SPCoop ritornato dalla richiesta. In CXF un modo per reperire l id SPCoop dall header SPCoopID della richiesta è quello di aggiungere un Interceptor nella catena di input: Client client = org.apache.cxf.frontend.clientproxy.getclient(port); client.getininterceptors().add((new StampaDocumento_StampaDocumentoInterfaceEndpoint_Client ()).new SPCoopIdInInterceptor()); dove la classe SPCoopIdInInterceptor è così definita: public class SPCoopIdInInterceptor extends AbstractPhaseInterceptor<Message> { public SPCoopIdInInterceptor() { super(phase.receive); } public void handlemessage(message message) { Map<String, List<String>> headers = CastUtils.cast((Map)message.get(Message. PROTOCOL_HEADERS)); riferimento = headers.get("spcoopid").get(0); } } public void handlefault(message messageparam) { } a questo punto non resta che aggiungere questo parametro nella successiva risposta con nome SPCoopRiferimentoMessaggio inserendolo ad esempio nella url di invocazione.

37 33 / Test e verifica Seguendo le istruzioni fornite con i sorgenti per la configurazione, compilazione ed esecuzione degli esempi, avviamo il test per il servizio StampaDocumento. Vedremo, lato client, che verrà effettuata una richiesta e successivamente una serie di interrogazioni finché non viene restituita la risposta applicativa attesa. Inizialmente il client invoca l azione Stampa (Messaggio 1 in figura) POST /openspcoop/pd/spccomune/spccentroanagrafico/spcstampadocumento/stampa HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Authorization: Basic Q29tdW5lX1NBOjEyMzQ1Ng== Accept: */* User-Agent: Apache CXF Cache-Control: no-cache Pragma: no-cache Host: localhost:8080 Connection: keep-alive Content-Length: 268 <soap:envelope xmlns:soap=" stampadocumento xmlns:ns2=" CF="DDDFFF22G22G222G">< codicedocumento>cartaidentita</codicedocumento></ns2:stampadocumento></soap:body></soap: Envelope> La risposta ricevuta dal servizio applicativo fruitore (Messaggio 6 in figura) sarà: HTTP/ OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.4; JBoss GA (build: SVNTag=JBoss_4_2_3_GA date= )/ JBossWeb-2.0 SPCoopTipoMittente: SPC SPCoopTipoDestinatario: SPC SPCoopAzione: Stampa SPCoopDestinatario: CentroAnagrafico SPCoopID: Comune_ComuneSPCoopIT_ _ _18:16 SPCoopCollaborazione: Comune_ComuneSPCoopIT_ _ _18:16 SPCoopServizio: StampaDocumento SPCoopTipoServizio: SPC SPCoopMittente: Comune Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Wed, 18 Nov :16:40 GMT 154

38 34 / 57 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap=" <soap:body> <ns2:presaconsegnastampa xmlns:ns2=" <idstampa> </idstampa> <stimacompletamento> :00</stimacompletamento> </ns2:presaconsegnastampa> </soap:body> </soap:envelope> 0 Il servizio applicativo preleva il valore SPCoopID, in questo caso con valore Comune_ComuneSPCoopIT_ _ _18:16 per utilizzarlo come id di correlazione per le richieste successive. Quindi eseguirà un ciclo per verificare la disponibilità della risposta e quindi riceverla. La richiesta stato (Messaggio 7 in figura) sarà: POST /openspcoop/pd/spccomune/spccentroanagrafico/spcstampadocumento/stato? SPCoopRiferimentoMessaggio=Comune_ComuneSPCoopIT_ _ _18:16 HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Authorization: Basic Q29tdW5lX1NBOjEyMzQ1Ng== Accept: */* User-Agent: Apache CXF Cache-Control: no-cache Pragma: no-cache Host: localhost:8080 Connection: keep-alive Content-Length: 214 <soap:envelope xmlns:soap=" <soap:body> <ns2:statodocumento xmlns:ns2=" :statodocumento> </soap:body> </soap:envelope> Se la risposta non è ancora disponibile, il servizio applicativo riceverà la risposta (Messaggio 12 in figura): HTTP/ OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.4; JBoss GA (build: SVNTag=JBoss_4_2_3_GA date= )/ JBossWeb-2.0 SPCoopTipoMittente: SPC SPCoopTipoDestinatario: SPC SPCoopAzione: Stato SPCoopDestinatario: CentroAnagrafico SPCoopID: Comune_ComuneSPCoopIT_ _ _18:16 SPCoopRiferimentoMessaggio: Comune_ComuneSPCoopIT_ _ _18:16 SPCoopCollaborazione: Comune_ComuneSPCoopIT_ _ _18:16 SPCoopServizio: StampaDocumento SPCoopTipoServizio: SPC SPCoopMittente: Comune Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Wed, 18 Nov :16:40 GMT e2 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap="

39 35 / 57 <soap:body> <ns2:esito xmlns:ns2=" </soap:body> </soap:envelope> 0 Quando la risposta sarà disponibile, il fruitore riceverà la seguente risposta (Messaggio 12 in figura): HTTP/ OK Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.4; JBoss GA (build: SVNTag=JBoss_4_2_3_GA date= )/ JBossWeb-2.0 SPCoopTipoMittente: SPC SPCoopTipoDestinatario: SPC SPCoopAzione: Stato SPCoopDestinatario: CentroAnagrafico SPCoopID: Comune_ComuneSPCoopIT_ _ _18:16 SPCoopRiferimentoMessaggio: Comune_ComuneSPCoopIT_ _ _18:16 SPCoopCollaborazione: Comune_ComuneSPCoopIT_ _ _18:16 SPCoopServizio: StampaDocumento SPCoopTipoServizio: SPC SPCoopMittente: Comune Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Wed, 18 Nov :16:45 GMT e2 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap=" <soap:body> <ns2:esito xmlns:ns2=" </soap:body> </soap:envelope> 0 Controllando il file openspcoop.log possiamo verificare il corretto funzionamento della porta: ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:39.926> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stampa Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [Comune_SA] ) Comune_SA verso la porta delegata SPCComune/SPCCentroAnagrafico/SPCStampaDocumento ComuneSPCoopIT.InoltroBusteEGov < T18:16:39.959> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stampa Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:40.127> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18 :16] inviata dalla parte mittente [SPC/Comune]

40 36 / 57 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:40.138> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa]... CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:40.166> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa]: autorizzato (client-auth disabilitato nella porta di dominio PddOpenSPCoop) CentroAnagraficoSPCoopIT.Sbustamento < T18:16:40.179> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:40.193> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stampa Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:40.207> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stampa Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _18:16], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [StampaDocumento_SA] mediante connettore [http] (location: con codiceconsegna: 200 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:40.220> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Generato messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/Comune] ComuneSPCoopIT.InoltroBusteEGov < T18:16:40.235> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stampa Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: 200 ComuneSPCoopIT.InoltroBusteEGov < T18:16:40.312> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/

41 37 / 57 SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stampa Ricevuto messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviata dalla parte mittente [SPC/CentroAnagrafico] ComuneSPCoopIT.SbustamentoRisposte < T18:16:40.322> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stampa Ricevuta Busta EGov [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute ComuneSPCoopIT.SbustamentoRisposte < T18:16:40.355> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stampa Validazione ricevuta di una richiesta asincrona asimmetrica ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:40.361> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stampa Consegna contenuto applicativo, della ricevuta di una richiesta asincrona asimmetrica, effettuata ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:40.595> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [Comune_SA] ) Comune_SA verso la porta delegata SPCComune/SPCCentroAnagrafico/SPCStampaDocumento ComuneSPCoopIT.InoltroBusteEGov < T18:16:40.626> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:40.773> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18 :16] inviata dalla parte mittente [SPC/Comune] CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:40.779> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato]...

42 38 / 57 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:40.801> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato]: autorizzato (client-auth disabilitato nella porta di dominio PddOpenSPCoop) CentroAnagraficoSPCoopIT.Sbustamento < T18:16:40.804> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:40.811> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stato Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:40.819> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stato Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _18:16], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [StampaDocumento_SA] mediante connettore [http] (location: con codiceconsegna: 200 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:40.828> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Generato messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/Comune] ComuneSPCoopIT.InoltroBusteEGov < T18:16:40.841> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: 200 ComuneSPCoopIT.InoltroBusteEGov < T18:16:40.965> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuto messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviata dalla parte mittente [SPC/CentroAnagrafico] ComuneSPCoopIT.SbustamentoRisposte < T18:16:40.975> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/

43 39 / 57 StampaDocumento_Stato Ricevuta Busta EGov [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute ComuneSPCoopIT.SbustamentoRisposte < T18:16:40.977> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Validazione ricevuta di una risposta asincrona asimmetrica contenente l esito della richiesta stato ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:40.983> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Consegna contenuto applicativo, della ricevuta di una risposta asincrona asimmetrica, effettuata ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:42.121> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [Comune_SA] ) Comune_SA verso la porta delegata SPCComune/SPCCentroAnagrafico/SPCStampaDocumento ComuneSPCoopIT.InoltroBusteEGov < T18:16:42.181> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:42.381> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18 :16] inviata dalla parte mittente [SPC/Comune] CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:42.388> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato]... CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:42.434> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato]: autorizzato (client-auth disabilitato nella porta di dominio PddOpenSPCoop)

44 40 / 57 CentroAnagraficoSPCoopIT.Sbustamento < T18:16:42.440> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:42.457> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stato Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:42.465> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stato Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _18:16], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [StampaDocumento_SA] mediante connettore [http] (location: con codiceconsegna: 200 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:42.473> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Generato messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/Comune] ComuneSPCoopIT.InoltroBusteEGov < T18:16:42.487> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: 200 ComuneSPCoopIT.InoltroBusteEGov < T18:16:42.580> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuto messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviata dalla parte mittente [SPC/CentroAnagrafico] ComuneSPCoopIT.SbustamentoRisposte < T18:16:42.588> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuta Busta EGov [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute ComuneSPCoopIT.SbustamentoRisposte < T18:16:42.590> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/

45 41 / 57 StampaDocumento_Stato Validazione ricevuta di una risposta asincrona asimmetrica contenente l esito della richiesta stato ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:42.594> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Consegna contenuto applicativo, della ricevuta di una risposta asincrona asimmetrica, effettuata ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:43.728> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [Comune_SA] ) Comune_SA verso la porta delegata SPCComune/SPCCentroAnagrafico/SPCStampaDocumento ComuneSPCoopIT.InoltroBusteEGov < T18:16:43.762> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:43.903> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18 :16] inviata dalla parte mittente [SPC/Comune] CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:43.912> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato]... CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:43.933> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato]: autorizzato (client-auth disabilitato nella porta di dominio PddOpenSPCoop) CentroAnagraficoSPCoopIT.Sbustamento < T18:16:43.937> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:43.945> (infospcoop

46 42 / 57 ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stato Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:43.953> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stato Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _18:16], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [StampaDocumento_SA] mediante connettore [http] (location: con codiceconsegna: 200 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:43.964> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Generato messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/Comune] ComuneSPCoopIT.InoltroBusteEGov < T18:16:43.992> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: 200 ComuneSPCoopIT.InoltroBusteEGov < T18:16:44.095> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuto messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviata dalla parte mittente [SPC/CentroAnagrafico] ComuneSPCoopIT.SbustamentoRisposte < T18:16:44.106> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuta Busta EGov [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute ComuneSPCoopIT.SbustamentoRisposte < T18:16:44.111> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Validazione ricevuta di una risposta asincrona asimmetrica contenente l esito della richiesta stato ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:44.114> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato

47 43 / 57 Consegna contenuto applicativo, della ricevuta di una risposta asincrona asimmetrica, effettuata ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:45.233> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [Comune_SA] ) Comune_SA verso la porta delegata SPCComune/SPCCentroAnagrafico/SPCStampaDocumento ComuneSPCoopIT.InoltroBusteEGov < T18:16:45.264> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:45.376> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18 :16] inviata dalla parte mittente [SPC/Comune] CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:45.382> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato]... CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:45.402> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _18:16] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato]: autorizzato (client-auth disabilitato nella porta di dominio PddOpenSPCoop) CentroAnagraficoSPCoopIT.Sbustamento < T18:16:45.406> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stato Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:45.414> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stato Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T18:16:45.422> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 SA:StampaDocumento_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/StampaDocumento_Stato

48 44 / 57 Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _18:16], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [StampaDocumento_SA] mediante connettore [http] (location: con codiceconsegna: 200 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T18:16:45.432> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _18:16 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/StampaDocumento_Stampa Generato messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/Comune] ComuneSPCoopIT.InoltroBusteEGov < T18:16:45.446> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _18:16] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: 200 ComuneSPCoopIT.InoltroBusteEGov < T18:16:45.526> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuto messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] inviata dalla parte mittente [SPC/CentroAnagrafico] ComuneSPCoopIT.SbustamentoRisposte < T18:16:45.541> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Ricevuta Busta EGov [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _18:16] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute ComuneSPCoopIT.SbustamentoRisposte < T18:16:45.542> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Validazione ricevuta di una risposta asincrona asimmetrica contenente l esito della richiesta stato ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T18:16:45.548> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _18:16 PD:SPCComune/SPCCentroAnagrafico/ SPCStampaDocumento SA:Comune_SA FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ StampaDocumento_Stato Consegna contenuto applicativo, della ricevuta di una risposta asincrona asimmetrica, effettuata

49 45 / 57 7 Identifica Soggetto (AsincronoSimmetrico) 7.1 Descrizione formale dell Accordo di Servizio: WSDL Creiamo un accordo di servizio fornendo i wsdl che descrivono il servizio applicativo in questione. I wsdl in questione sono forniti insieme ai sorgenti degli esempi: WSDL Definitorio (scarica definitorio.xsd) Contiene le definizioni dei tipi di dato utilizzati per la codifica dei messaggi. <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:so=" xmlns:xs=" XMLSchema" xmlns:xsd=" targetnamespace=" openspcoop.org/example"> <xs:element name="identifica"> <xs:complextype> <xs:sequence maxoccurs="1"> <xs:element name="tipodocumento" type="xs:string"/> <xs:element name="codicedocumento" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="presaconsegnaidentifica" type="xs:string"/> <xs:simpletype name="codicefiscaletype"> <xs:restriction base="xs:string"> <xs:pattern value="[a-za-z]{6}\d\d[a-za-z]\d\d[a-za-z]\d\d\d[a-za-z]"/> </xs:restriction> </xs:simpletype> <xs:complextype name="personatype"> <xs:sequence> <xs:element name="nome" type="xs:string"/> <xs:element name="cognome" type="xs:string"/> <xs:element name="codicefiscale" type="so:codicefiscaletype"/> <xs:element name="nascita" type="xs:date"/> <xs:element name="statocivile" type="xs:string"/> </xs:sequence> </xs:complextype> <xs:element name="risultato" type="so:personatype"/> <xs:element name="risultatoresponse" type="xs:string"/> </xs:schema> WSDL Concettuale (scarica concettuale.wsdl). Specifica l interfaccia completa dell accordo di servizio indipendentemente da chi espone i servizi. <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="risultatoidentificarequest"> <wsdl:part name="identificarequestpart" element="spc:risultato"> </wsdl:part> </wsdl:message>

50 46 / 57 <wsdl:message name="risultatoidentificaresponse"> <wsdl:part name="risultatoidentificaresponse" element="spc:risultatoresponse"> </wsdl:part> </wsdl:message> <wsdl:porttype name="esitoidentificazione"> <wsdl:operation name="risultato"> <wsdl:input message="spc:risultatoidentificarequest"> </wsdl:input> <wsdl:output message="spc:risultatoidentificaresponse"> </wsdl:output> </wsdl:operation> </wsdl:porttype> <wsdl:message name="identificaresponse"> <wsdl:part name="identificaresponsepart" element="spc:presaconsegnaidentifica"> </wsdl:part> </wsdl:message> <wsdl:message name="identificarequest"> <wsdl:part name="identificarequestpart" element="spc:identifica"> </wsdl:part> </wsdl:message> <wsdl:porttype name="identificasoggetto"> <wsdl:operation name="cerca"> <wsdl:input message="spc:identificarequest"> </wsdl:input> <wsdl:output message="spc:identificaresponse"> </wsdl:output> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Logico Erogatore (scarica logicoerogatore.wsdl). Specifica l interfaccia di servizi e operazioni esposte dal soggetto erogatore. <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="identificaresponse"> <wsdl:part name="identificaresponsepart" element="spc:presaconsegnaidentifica"> </wsdl:part> </wsdl:message> <wsdl:message name="identificarequest"> <wsdl:part name="identificarequestpart" element="spc:identifica"> </wsdl:part> </wsdl:message> <wsdl:porttype name="identificasoggetto"> <wsdl:operation name="cerca"> <wsdl:input message="spc:identificarequest"> </wsdl:input> <wsdl:output message="spc:identificaresponse"> </wsdl:output> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Logico Fruitore (scarica logicofruitore.wsdl). Specifica l interfaccia di servizi e operazioni esposte dal soggetto fruitore. <?xml version="1.0" encoding="utf-8"?>

51 47 / 57 <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="risultatoidentificarequest"> <wsdl:part name="identificarequestpart" element="spc:risultato"> </wsdl:part> </wsdl:message> <wsdl:message name="risultatoidentificaresponse"> <wsdl:part name="risultatoidentificaresponse" element="spc:risultatoresponse"> </wsdl:part> </wsdl:message> <wsdl:porttype name="esitoidentificazione"> <wsdl:operation name="risultato"> <wsdl:input message="spc:risultatoidentificarequest"> </wsdl:input> <wsdl:output message="spc:risultatoidentificaresponse"> </wsdl:output> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Implementativo Erogatore (scarica implementativoerogatore.wsdl). accesso per servizi e operazioni esposti dal soggetto erogatore. Specifica i dettagli di protocollo e porti di <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="logicoerogatore.wsdl "> </wsdl:import> <wsdl:binding name="identificasoggettobinding" type="spc:identificasoggetto"> <soap:binding style="document" transport=" <wsdl:operation name="cerca"> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="identificasoggettoservice"> <wsdl:port name="identificasoggettointerfaceendpoint" binding="spc: IdentificaSoggettoBinding"> <soap:address location=" SPCCentroAnagrafico/SPCIdentificaSoggetto/Cerca"/> </wsdl:port> </wsdl:service> </wsdl:definitions> WSDL Implementativo Fruitore (scarica implementativofruitore.wsdl). Specifica i dettagli di protocollo e porti di accesso per servizi e operazioni esposti dal soggetto fruitore. <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="logicofruitore.wsdl ">

52 48 / 57 </wsdl:import> <wsdl:binding name="esitoidentificazionebinding" type="spc:esitoidentificazione"> <soap:binding style="document" transport=" <wsdl:operation name="risultato"> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="esitoidentificazioneservice"> <wsdl:port name="esitoidentificazioneinterfaceendpoint" binding="spc: EsitoIdentificazioneBinding"> <soap:address location=" SPCComune/SPCEsitoIdentificazione/Risultato"/> </wsdl:port> </wsdl:service> </wsdl:definitions> 7.2 Configurazione Porta di Dominio Una volta in possesso dei descrittori del servizio, possiamo procedere con la configurazione della porta di dominio. 1. Creiamo i Servizi Applicativi erogatore e fruitore con i valori riportati in Tabella 29 e Tabella 30. IdentificaSoggetto_SA Soggetto SPCoop CentroAnagrafico Credenziale d accesso basic Utente IdentificaSoggetto_SA Password Modalità fault soap Tabella 29: Dati Servizio Applicativo Erogatore IdentificaSoggettoComune_SA Soggetto SPCoop Comune Credenziale d accesso basic Utente IdentificaSoggettoComune_SA Password Modalità fault soap Tabella 30: Dati Servizio Applicativo Fruitore 2. Impostare i parametri di invocazione del Servizio Applicativo con i valori riportati in Tabella 31. Impostare la Risposta Asincrona per il Servizio Applicativo fruitore con i valori riportati in Tabella Creazione dell Accordo di Servizio Parte Comune 4. Aggiungiamo i due servizi all accordo di Servizio Parte Comune: i nomi dei servizio dovranno avere lo stesso nome del PortType indicato nel WSDL Concettuale. Per ciascun servizio aggiungiamo le azioni ad essi associate, corrispondenti alle Operation specificate nel WSDL. Facciamo riferimento ai valori riportati in Tabella 34 e Tabella 35

53 49 / 57 Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso IdentificaSoggetto_SA no disabilitato si none Tabella 31: Dati invocazione Servizio Applicativo erogatore Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso IdentificaSoggettoComune_SA no disabilitato si none Tabella 32: Dati risposta asincrona Servizio Applicativo fruitore Referente WSDL Definitorio WSDL Concettuale WSDL Logico Fruitore WSDL Logico Erogatore AS_IdentificaSoggetto SPC/CentroAnagrafico definitorio.xsd concettuale.wsdl logicofruitore.wsdl logicoerogatore.wsdl Tabella 33: Dati Accordo di Servizio Parte Comune Azione Profilo IdentificaSoggetto Cerca asincronosimmetrico Tabella 34: Dati Servizio Asincrono Simmetrico nell accordo di servizio Azione Profilo Correlata al servizio Correlata all azione EsitoIdentificazione Risultato asincronosimmetrico IdentificaSoggetto Cerca Tabella 35: Dati Servizio Asincrono Simmetrico Correlato nell accordo di servizio

54 50 / 57 Dopo aver inserito i due servizi e le relative azioni, l interfaccia mostra la seguente schermata L azione Risultato deve essere creata specificando il servizio IdentificaSoggetto e l azione Cerca come informazioni di correlazione 5. Aggiungere l Accordo di Servizio Parte Specifica e il suo correlato erogato dal soggetto fruitore con i dati riportati in Tabella 36 e in Tabella 37: Soggetto SPCoop Accordo Servizio Servizio WSDL Implementativo Erogatore SPC/CentroAnagrafico AS_IdentificaSoggetto IdentificaSoggetto implementazioneerogatore.wsdl Tabella 36: Dati Accordo di Servizio Parte Specifica Soggetto SPCoop Accordo Servizio Servizio WSDL Implementativo Fruitore SPC/Comune AS_IdentificaSoggetto EsitoIdentificazione implementazionefruitore.wsdl Tabella 37: Dati Accordo di Servizio Parte Specifica correlato 6. Aggiungere il soggetto fruitore alla lista dei soggetti che possono fruire del servizio: avendo attiva di default l autorizzazione SPCoop dobbiamo aggiungere il soggetto Comune ai fruitori del servizio IdentificaSoggetto e il soggetto CentroAnagrafico ai fruitori del servizio EsitoIdentificazione 7. Aggiungere nelle politiche sicurezza i servizi applicativi creati ai primi due passi. Questo passaggio è essenziale ai fini dell autorizzazione da parte del servizio applicativo in fase di invocazione della porta delegata. (a) Dall elenco dei fruitori del servizio IdentificaSoggetto, in corrispondenza del soggetto Comune, nella colonna politiche sicurezza selezionare visualizza, quindi il pulsante Aggiungi (b) Compilare il form selezionando il servizio applicativo IdentificaSoggettoComune_SA dalla lista a discesa e confermando con il pulsante Invia (c) Dall elenco dei fruitori del servizio EsitoIdentificazione, in corrispondenza del soggetto CentroAnagrafico, nella colonna politiche sicurezza selezionare visualizza, quindi il pulsante Aggiungi

55 51 / 57 (d) Compilare il form selezionando il servizio applicativo IdentificaSoggetto_SA dalla lista a discesa e confermando con il pulsante Invia Nota L operazione descritta in questo passaggio, creerà automaticamente un associazione tra i servizi applicativi e le porte delegate create automaticamente al passo precedente. 8. Aggiungere la Porta Applicativa: aggiungiamo al soggetto SPC/CentroAnagrafico la porta applicativa che si occuperà dello sbustamento delle richieste e-gov dei fruitori e di consegnarle al servizio applicativo erogato. Validazione Contenuti Gestione Body Gestione Manifest Servizio SPCoop Azione IdentificaSoggetto_PA disabilitato none abilitato IdentificaSoggetto Cerca Tabella 38: Dati Porta Applicativa 9. Associare alla Porta Applicativa il Servizio Applicativo erogatore 7.3 Programmazione La fruizione di un servizio asincronosimmetrico è dal punto di vista logico equivalente ad due richieste sincrone consecutive a ruoli invertiti. Abbiamo quindi che entrambi i soggetti sono sia erogatori che fruitori. Come per l asincrono Asimmetrico, per correlare la richiesta con la risposta dobbiamo includere nella risposta l SPCoopID della richiesta. 7.4 Test e verifica Seguendo le istruzioni fornite con i sorgenti per la configurazione, compilazione ed esecuzione degli esempi, avviamo il test per il servizio IdentificaSoggetto. In questo esempio ciascuna delle due parti ha una componente client e una server. Si vedrà quindi il client del fruitore inviare la richiesta, ricevendo conferma e successivamente il client dell erogatore inviare la risposta asincrona. Inizialmente il client del fruitore invoca l azione Cerca (Messaggio 1 in figura) POST /openspcoop/pd/spccomune/spccentroanagrafico/spcidentificasoggetto/cerca HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Authorization: Basic SWRlbnRpZmljYVNvZ2dldHRvQ29tdW5lX1NBOjEyMzQ1Ng== Accept: */*

56 52 / 57 User-Agent: Apache CXF Cache-Control: no-cache Pragma: no-cache Host: localhost:8080 Connection: keep-alive Content-Length: 277 <soap:envelope xmlns:soap=" <soap:body> <ns2:identifica xmlns:ns2=" <tipodocumento>cartaidentita</tipodocumento> <codicedocumento>aabbccddee</codicedocumento> </ns2:identifica> </soap:body> </soap:envelope> La Porta di Dominio consegna la richiesta al servizio applicativo erogatore (Messaggio 3 in figura) POST /tutorial/asincronosimmetrico HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" SPCoopTipoMittente: SPC SPCoopTipoDestinatario: SPC SPCoopAzione: Cerca SPCoopDestinatario: CentroAnagrafico SPCoopID: Comune_ComuneSPCoopIT_ _ _12:00 SPCoopCollaborazione: Comune_ComuneSPCoopIT_ _ _12:00 SPCoopServizio: IdentificaSoggetto SPCoopTipoServizio: SPC SPCoopMittente: Comune User-Agent: Java/1.5.0_11 Host: localhost:8081 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 315 <?xml version="1.0" encoding="utf-8"?><soap:envelope xmlns:soap=" /soap/envelope/"> <soap:body> <ns2:identifica xmlns:ns2=" <tipodocumento>cartaidentita</tipodocumento> <codicedocumento>aabbccddee</codicedocumento> </ns2:identifica> </soap:body> </soap:envelope> Il servizio applicativo erogatore invoca il servizio correlato per l invio della risposta (Messaggio 7 in figura) POST /openspcoop/pd/spccentroanagrafico/spccomune/spcesitoidentificazione/risultato? SPCoopRiferimentoMessaggio=Comune_ComuneSPCoopIT_ _ _12:00 HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Authorization: Basic SWRlbnRpZmljYVNvZ2dldHRvX1NBOjEyMzQ1Ng== Accept: */* User-Agent: Apache CXF Cache-Control: no-cache Pragma: no-cache Host: localhost:8080

57 53 / 57 Connection: keep-alive Content-Length: 338 <soap:envelope xmlns:soap=" <soap:body> <ns2:risultato xmlns:ns2=" <nome>mario</nome> <cognome>rossi</cognome> <codicefiscale>dddfff22g22g222g</codicefiscale> <nascita> z</nascita> <statocivile>celibe</statocivile> </ns2:risultato> </soap:body> </soap:envelope> La Porta di Dominio consegna la risposta asincrona al servizio applicativo fruitore (Messaggio 9 in figura) POST /tutorial/asincronosimmetrico HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" SPCoopTipoMittente: SPC SPCoopTipoDestinatario: SPC SPCoopAzione: Risultato SPCoopDestinatario: Comune SPCoopServizioApplicativo: IdentificaSoggettoComune_SA SPCoopID: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 SPCoopCollaborazione: Comune_ComuneSPCoopIT_ _ _12:00 SPCoopServizio: EsitoIdentificazione SPCoopTipoServizio: SPC SPCoopMittente: CentroAnagrafico User-Agent: Java/1.5.0_11 Host: localhost:9090 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 376 <?xml version="1.0" encoding="utf-8"?> <soap:envelope xmlns:soap=" <soap:body> <ns2:risultato xmlns:ns2=" <nome>mario</nome> <cognome>rossi</cognome> <codicefiscale>dddfff22g22g222g</codicefiscale> <nascita> z</nascita> <statocivile>celibe</statocivile> </ns2:risultato> </soap:body> </soap:envelope> Controllando il file openspcoop.log possiamo verificare il corretto funzionamento della porta: ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T12:00:02.098> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _12:00 PD:SPCComune/SPCCentroAnagrafico/ SPCIdentificaSoggetto SA:IdentificaSoggettoComune_SA FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [ IdentificaSoggettoComune_SA] ) IdentificaSoggettoComune_SA verso la porta delegata SPCComune/SPCCentroAnagrafico/SPCIdentificaSoggetto

58 54 / 57 ComuneSPCoopIT.InoltroBusteEGov < T12:00:02.138> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _12:00 PD:SPCComune/SPCCentroAnagrafico/ SPCIdentificaSoggetto SA:IdentificaSoggettoComune_SA FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _12:00] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T12:00:02.303> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _12:00 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _12 :00] inviata dalla parte mittente [SPC/Comune] CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T12:00:02.335> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _12:00 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _12:00] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca]... CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T12:00:02.369> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _12:00 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ Comune_ComuneSPCoopIT_ _ _12:00] FR[SPC/Comune]->ER[SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca]: autorizzato (client-auth disabilitato nella porta di dominio PddOpenSPCoop) CentroAnagraficoSPCoopIT.Sbustamento < T12:00:02.373> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _12:00 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _12:00] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T12:00:02.438> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _12:00 SA:IdentificaSoggetto_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _12:00] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T12:00:04.727> (infospcoop ) IDeGov:Comune_ComuneSPCoopIT_ _ _12:00 SA:IdentificaSoggetto_SA FR:SPC/ Comune -> S:SPC/CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _12:00], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [IdentificaSoggetto_SA] mediante connettore [http] (location: ) con codiceconsegna: 200 CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T12:00:04.755> (infospcoop) IDeGov :Comune_ComuneSPCoopIT_ _ _12:00 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Generato messaggio SPCoop con identificativo [

59 55 / 57 CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] inviato alla parte destinataria [SPC/Comune] ComuneSPCoopIT.InoltroBusteEGov < T12:00:04.770> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _12:00 PD:SPCComune/SPCCentroAnagrafico/ SPCIdentificaSoggetto SA:IdentificaSoggettoComune_SA FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _12:00] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: 200 ComuneSPCoopIT.InoltroBusteEGov < T12:00:04.905> (infospcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _12:00 PD:SPCComune/SPCCentroAnagrafico/ SPCIdentificaSoggetto SA:IdentificaSoggettoComune_SA FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Ricevuto messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] inviata dalla parte mittente [SPC/CentroAnagrafico] ComuneSPCoopIT.SbustamentoRisposte < T12:00:04.914> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _12:00 PD:SPCComune/SPCCentroAnagrafico/ SPCIdentificaSoggetto SA:IdentificaSoggettoComune_SA FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Ricevuta Busta EGov [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute ComuneSPCoopIT.SbustamentoRisposte < T12:00:04.931> (infoopenspcoop) IDeGov: Comune_ComuneSPCoopIT_ _ _12:00 PD:SPCComune/SPCCentroAnagrafico/ SPCIdentificaSoggetto SA:IdentificaSoggettoComune_SA FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Validazione ricevuta di una richiesta asincrona simmetrica ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T12:00:04.969> (infoopenspcoop) IDeGov:Comune_ComuneSPCoopIT_ _ _12:00 PD:SPCComune/SPCCentroAnagrafico/ SPCIdentificaSoggetto SA:IdentificaSoggettoComune_SA FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/IdentificaSoggetto_Cerca Consegna contenuto applicativo, della ricevuta di una richiesta asincrona simmetrica, effettuata CentroAnagraficoSPCoopIT.RicezioneContenutiApplicativiWS < T12:00:05.082> ( infoopenspcoop) IDeGov:CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12 :00 PD:SPCCentroAnagrafico/SPCComune/SPCEsitoIdentificazione SA:IdentificaSoggetto_SA FR :SPC/CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Ricevuta richiesta di servizio dal Servizio Applicativo ( Basic Username: [ IdentificaSoggetto_SA] ) IdentificaSoggetto_SA verso la porta delegata SPCCentroAnagrafico/SPCComune/SPCEsitoIdentificazione CentroAnagraficoSPCoopIT.InoltroBusteEGov < T12:00:05.159> (infospcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 PD: SPCCentroAnagrafico/SPCComune/SPCEsitoIdentificazione SA:IdentificaSoggetto_SA FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Invio Messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] in corso (location:

60 56 / 57 ComuneSPCoopIT.RicezioneBusteEGovWS < T12:00:05.338> (infospcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Ricevuto messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] inviata dalla parte mittente [SPC/CentroAnagrafico] ComuneSPCoopIT.RicezioneBusteEGovWS < T12:00:05.346> (infoopenspcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] FR[SPC/ CentroAnagrafico]->ER[SPC/Comune_SPC/EsitoIdentificazione_Esito]... ComuneSPCoopIT.RicezioneBusteEGovWS < T12:00:05.378> (infoopenspcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Controllo Autorizzazione[spcoop] messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] FR[SPC/ CentroAnagrafico]->ER[SPC/Comune_SPC/EsitoIdentificazione_Esito]: autorizzato (client- auth disabilitato nella porta di dominio PddOpenSPCoop) ComuneSPCoopIT.Sbustamento < T12:00:05.381> (infoopenspcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Ricevuta Busta EGov [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute ComuneSPCoopIT.ConsegnaContenutiApplicativi < T12:00:05.386> (infospcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 SA: IdentificaSoggettoComune_SA FR:SPC/CentroAnagrafico -> S:SPC/Comune_SPC/ EsitoIdentificazione_Esito Invio Messaggio SPCoop con identificativo [ CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] in corso (location: ComuneSPCoopIT.ConsegnaContenutiApplicativi < T12:00:05.472> (infospcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 SA: IdentificaSoggettoComune_SA FR:SPC/CentroAnagrafico -> S:SPC/Comune_SPC/ EsitoIdentificazione_Esito Messaggio applicativo con ID [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00], generato dal mittente [SPC/CentroAnagrafico], consegnato al servizio applicativo [IdentificaSoggettoComune_SA] mediante connettore [http] (location: localhost:9090/tutorial/asincronosimmetrico) con codiceconsegna: 200 ComuneSPCoopIT.RicezioneBusteEGovWS < T12:00:05.481> (infospcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Generato messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _12 :00] inviato alla parte destinataria [SPC/CentroAnagrafico] CentroAnagraficoSPCoopIT.InoltroBusteEGov < T12:00:05.494> (infospcoop) IDeGov:

61 57 / 57 CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 PD: SPCCentroAnagrafico/SPCComune/SPCEsitoIdentificazione SA:IdentificaSoggetto_SA FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Messaggio SPCoop con identificativo [CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00] inviato alla parte destinataria [SPC/Comune] mediante connettore [http] ( location: con codiceconsegna: 200 CentroAnagraficoSPCoopIT.InoltroBusteEGov < T12:00:05.598> (infospcoop) IDeGov: CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 PD: SPCCentroAnagrafico/SPCComune/SPCEsitoIdentificazione SA:IdentificaSoggetto_SA FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _12 :00] inviata dalla parte mittente [SPC/Comune] CentroAnagraficoSPCoopIT.SbustamentoRisposte < T12:00:05.606> (infoopenspcoop) IDeGov:CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 PD: SPCCentroAnagrafico/SPCComune/SPCEsitoIdentificazione SA:IdentificaSoggetto_SA FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _12:00] con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: busta salvata nell History delle buste ricevute CentroAnagraficoSPCoopIT.SbustamentoRisposte < T12:00:05.608> (infoopenspcoop) IDeGov:CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12:00 PD: SPCCentroAnagrafico/SPCComune/SPCEsitoIdentificazione SA:IdentificaSoggetto_SA FR:SPC/ CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Validazione ricevuta di una risposta asincrona simmetrica CentroAnagraficoSPCoopIT.RicezioneContenutiApplicativiWS < T12:00:05.611> ( infoopenspcoop) IDeGov:CentroAnagrafico_CentroAnagraficoSPCoopIT_ _ _12 :00 PD:SPCCentroAnagrafico/SPCComune/SPCEsitoIdentificazione SA:IdentificaSoggetto_SA FR :SPC/CentroAnagrafico -> S:SPC/Comune_SPC/EsitoIdentificazione_Esito Consegna contenuto applicativo, della ricevuta di una risposta asincrona simmetrica, effettuata

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop i Tutorial di configurazione e programmazione di OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Tutorial di configurazione e programmazione di OpenSPCoop AZIONE NOME DATA FIRMA

Dettagli

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4

Manuale Gestione di OpenSPCoop 1.4 i. Manuale Gestione di OpenSPCoop 1.4 i Manuale Gestione di OpenSPCoop 1.4 ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Prerequisiti per la Configurazione della Porta di Dominio 1 2.1 Verifica dell applicazione di gestione

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 Prerequisiti per

Dettagli

QUALIFICAZIONE DELLA PORTA DI DOMINIO

QUALIFICAZIONE DELLA PORTA DI DOMINIO QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA Versione 1.0 Qualificazione della Porta di INDICE 1. PROCESSO DI QUALIFICAZIONE DELLA PORTA DI DOMINIO IN MODALITÀ PROVVISORIA 3 2. DESCRIZIONE

Dettagli

Manuale gestione Porta di Dominio OpenSPCoop 1.1

Manuale gestione Porta di Dominio OpenSPCoop 1.1 i Manuale gestione Porta di Dominio ii Copyright 2005-2008 Link.it srl Questo documento contiene informazioni di proprietà riservata, protette da copyright. Tutti i diritti sono riservati. Non è permesso

Dettagli

INF-1: Specifiche Tecniche di Interfaccia

INF-1: Specifiche Tecniche di Interfaccia INF-1: Specifiche tecniche di Interfaccia INF-1: Specifiche Tecniche di Interfaccia Versione 1.1 Nome doc.: INF-1 Specifiche Interfaccia v1.0.doc Edizione: 1.0 Data emissione: 12/1/2007 INDICE Modifiche

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2015 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

Guida Utente della PddConsole. Guida Utente della PddConsole

Guida Utente della PddConsole. Guida Utente della PddConsole Guida Utente della PddConsole i Guida Utente della PddConsole Guida Utente della PddConsole ii Copyright 2005-2014 Link.it srl Guida Utente della PddConsole iii Indice 1 Introduzione 1 2 I protocolli di

Dettagli

ZTL Firenze Inserimento Automatico

ZTL Firenze Inserimento Automatico ZTL Firenze Inserimento Automatico Introduzione In seguito alla variazione dell ordinanza del giugno 2011 che regola la modalità di rilascio dei permessi portale per le categorie abilitate, non è più possibile

Dettagli

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop i Guida alla programmazione e integrazione di servizi in OpenSPCoop ii Copyright 2005-2008 Link.it s.r.l. iii COLLABORATORI TITOLO : Guida alla programmazione e integrazione di servizi in OpenSPCoop AZIONE

Dettagli

PROGETTO TESSERA SANITARIA

PROGETTO TESSERA SANITARIA PROGETTO TESSERA SANITARIA WEB SERVICES PER LA VISUALIZZAZIONE E LO SCARICO DELLE RICEVUTE DI ATTESTAZIONE DELLE OPERAZIONI E DELLE TRANSAZIONI EFFETTUATE SULLE RICETTE DEMATERIALIZZATE (DECRETO 2 NOVEMBRE

Dettagli

Tutorial di configurazione e programmazione OpenSPCoop. Tutorial di configurazione e programmazione OpenSPCoop

Tutorial di configurazione e programmazione OpenSPCoop. Tutorial di configurazione e programmazione OpenSPCoop Tutorial di configurazione e programmazione OpenSPCoop i Tutorial di configurazione e programmazione OpenSPCoop Tutorial di configurazione e programmazione OpenSPCoop ii Copyright 2005-2014 Link.it s.r.l.

Dettagli

Web Service SOAP e WSDL. Tito Flagella [email protected] Lorenzo Nardi [email protected]

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com Web Service SOAP e WSDL Tito Flagella [email protected] Lorenzo Nardi [email protected] SOAP Originariamente: Simple Object Access Protocol E poi evoluto in un Framework per lo scambio di messaggi in XML 2

Dettagli

PROGETTO TESSERA SANITARIA

PROGETTO TESSERA SANITARIA PROGETTO TESSERA SANITARIA WEB SERVICES PER LA COMUNICAZIONE DELL AUTORIZZAZIONE CHE UN MEDICO TITOLARE DEVE FORNIRE AL SISTEMA TS AFFINCHE UN MEDICO SUO SOSTITUTO POSSA PRESCRIVERE RICETTE DEMATERIALIZZATE

Dettagli

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop

Guida alla programmazione e integrazione di servizi in OpenSPCoop. Guida alla programmazione e integrazione di servizi in OpenSPCoop i Guida alla programmazione e integrazione di servizi in OpenSPCoop ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Introduzione 1 2 Modalità d integrazione trasparente 1 3 Modalità d integrazione tramite

Dettagli

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Regione Toscana Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART Stato del documento Definitiva Versione del documento 1.8 Data 29/05/13 Documento Acronimo del documento Specifiche

Dettagli

Il Registro dei Servizi di OpenSPCoop i. Il Registro dei Servizi di OpenSPCoop

Il Registro dei Servizi di OpenSPCoop i. Il Registro dei Servizi di OpenSPCoop i Il Registro dei Servizi di OpenSPCoop ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Visualizzazione del registro dei servizi HTTP 1 3 Visualizzazione del registro dei servizi UDDI

Dettagli

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop i Il Gestore Eventi di OpenSPCoop ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Configurazione di un Servizio SPCoop come Evento gestito dal GE 2 3 Configurazione di un Pubblicatore

Dettagli

A2A Specifiche Web Services

A2A Specifiche Web Services A2A Specifiche Web Services Contenuti 1 CONTENUTI...1 1 INTRODUZIONE...3 2 UPLOAD SEGMENTATO...5 2.1 RICHIESTA UPLOAD SEGMENTATO...5 2.1.1 Input del WS...5 2.1.2 Output del WS...6 2.2 UPLOAD SEGMENTATO...7

Dettagli

Gestione XML della Porta di Dominio OpenSPCoop

Gestione XML della Porta di Dominio OpenSPCoop i Gestione XML della Porta di Dominio ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 Hello World! 2 3 Configurazione XML della Porta di Dominio 5 3.1 Soggetto SPCoop...................................................

Dettagli

Integrazione InfiniteCRM - MailUp

Integrazione InfiniteCRM - MailUp Integrazione InfiniteCRM - MailUp La funzionalità della gestione delle campagne marketing di icrm è stata arricchita con la spedizione di email attraverso l integrazione con la piattaforma MailUp. Creando

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 26/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Esempio d uso... 5 2.1 Riferimento

Dettagli

1. Accordo di servizio Richiesta Indirizzi PEC CAD Art6 [concessionario del servizio di posta certificata al cittadino]

1. Accordo di servizio Richiesta Indirizzi PEC CAD Art6 [concessionario del servizio di posta certificata al cittadino] Allegato Tecnico 1. Accordo di servizio Richiesta Indirizzi PEC CAD Art6 [concessionario del servizio di posta certificata al cittadino]

Dettagli

PROGETTO TESSERA SANITARIA SERVIZI DI COMUNICAZIONE ATTIVAZIONE E REVOCA DELLE TS-CNS

PROGETTO TESSERA SANITARIA SERVIZI DI COMUNICAZIONE ATTIVAZIONE E REVOCA DELLE TS-CNS PROGETTO TESSERA SANITARIA Pag. 2 di 13 INDICE 1. INTRODUZIONE 4 2. CANALI DI COMUNICAZIONE DEI SISTEMI REGIONALI CON IL SISTEMA TS 5 3. SERVIZIO DI COMUNICAZIONE ATTIVAZIONE/REVOCA CNS 6 3.1 DESCRIZIONE

Dettagli

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 11 WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE REALE Pag. 1 di 11 Pag. 2 di 11 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO ESTERNO...

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

Client e Server comunicano tramite il protocollo SOAP.

Client e Server comunicano tramite il protocollo SOAP. In questo tutorial implementeremo un semplice SOAP web service in PHP che un client Java richiamerà. In questo modo mostreremo l'interoperabilità fra linguaggi diversi che SOAP permette di avere. La struttura

Dettagli

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2 i Release Notes di OpenSPCoop2 ii Copyright 2005-2014 Link.it srl iii Indice 1 Novità di OpenSPCoop-v2 rispetto ad OpenSPCoop 1 1.1 Protocollo di Cooperazione personalizzabile tramite plugin.............................

Dettagli

Scenari di Deployment i. Scenari di Deployment

Scenari di Deployment i. Scenari di Deployment i Scenari di Deployment ii Copyright 2005-2011 Link.it srl iii Indice 1 Introduzione 1 2 La configurazione minima 1 3 La gestione totalmente centralizzata 3 4 Porte di Dominio Locali con Registro Centrale

Dettagli

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL Pag. 1 di 17 Progetto SIRPE De-materializzazione personalizzati CIL per la cooperazione Versione 1.0 INDICE Pag. 2 di 17 1 INTRODUZIONE 4 1.1 Scopo del documento 4 1.2 Riferimenti 4 2 GENERALITÀ 4 2.1

Dettagli

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA

WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA Pag. 1 di 16 WEB SERVICES SERVIZI PER RICEZIONE ED ELABORAZIONE MESSAGGI AMBIENTE PROVA Pag. 1 di 16 Pag. 2 di 16 1 GENERALITÀ... 3 1.1 CANALI DI COMUNICAZIONE DEI SISTEMI... 3 2 SOA DOMINIO ESTERNO...

Dettagli

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente Pag. 1 di 15 VERS V01 REDAZIONE VERIFICHE E APPROVAZIONI CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA A. Marchisio C. Pernumian 29/12/2014 M. Molino 27/02/2015 M. Molino

Dettagli

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket.

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket. Portale regionale della Salute Servizi di prenotazione prestazione e pagamento ticket. Specifiche di integrazione dei servizi di cooperazione applicativa e dei web services. Versione 1.10 16 Ottobre 2013

Dettagli

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015]

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Realizzato e distribuito da LeggeraSoft Sommario Premessa... 2 Fase di Login... 2 Menù principale... 2 Anagrafica clienti...

Dettagli

Software Servizi Web UOGA

Software Servizi Web UOGA Manuale Operativo Utente Software Servizi Web UOGA S.p.A. Informatica e Servizi Interbancari Sammarinesi Strada Caiese, 3 47891 Dogana Tel. 0549 979611 Fax 0549 979699 e-mail: [email protected] Identificatore

Dettagli

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo 01595 Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo INDICE DESCRIZIONE DEL SOFTWARE DI INTERFACCIAMENTO CON I SISTEMI GESTIONALI (ART. 01595) 2 Le

Dettagli

Il Web-Service SDMX dell ISTAT

Il Web-Service SDMX dell ISTAT Il Web-Service SDMX dell ISTAT Versione: 1.0.0 Data: 05/06/2014 Autore: Approvato da: Modifiche Versione Modifiche Autore Data Indice dei contenuti 1 Introduzione... 4 2 Creazione dell esempio d uso...

Dettagli

Procedura SMS. Manuale Utente

Procedura SMS. Manuale Utente Procedura SMS Manuale Utente INDICE: 1 ACCESSO... 4 1.1 Messaggio di benvenuto... 4 2 UTENTI...4 2.1 Gestione utenti (utente di Livello 2)... 4 2.1.1 Creazione nuovo utente... 4 2.1.2 Modifica dati utente...

Dettagli

DOCFINDERWEB SERVICE E CLIENT

DOCFINDERWEB SERVICE E CLIENT DOCFINDERWEB SERVICE E CLIENT Specifiche tecniche di interfacciamento al Web Service esposto da DocPortal Versione : 1 Data : 10/03/2014 Redatto da: Approvato da: RICCARDO ROMAGNOLI CLAUDIO CAPRARA Categoria:

Dettagli

SDK-CART. Versione 1.1

SDK-CART. Versione 1.1 SDK-CART Versione 1.1 20/04/2008 Indice dei Contenuti 1 INTRODUZIONE...2 2 L USO DEL COMPONENTE DI INTEGRAZIONE DELLA PORTA DI DOMINIO... 2 2.1 Modalità d'uso trasparente dei Servizi...3 2.2 Uso del Servizio

Dettagli

SIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale

SIRTEL. Sistema Informativo per la Rendicontazione Telematica degli Enti Locali. Schema di funzionamento del processo per l Ente Locale SIRTEL Sistema Informativo per la Rendicontazione Telematica degli Enti Locali Schema di funzionamento del processo per l Ente Locale Sommario del documento Acronimi...3 FASE 1: REGISTRAZIONE ED ABILITAZIONE

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

ALICE AMMINISTRAZIONE UTENTI WEB

ALICE AMMINISTRAZIONE UTENTI WEB AMMINISTRAZIONE UTENTI WEB REL. 1.2 edizione luglio 2008 INDICE 1. AMMINISTRAZIONE DI UTENTI E PROFILI... 2 2. DEFINIZIONE UTENTI... 2 2.1. Definizione Utenti interna all applicativo... 2 2.1.1. Creazione

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2

Release Notes di OpenSPCoop2. Release Notes di OpenSPCoop2 Release Notes di OpenSPCoop2 i Release Notes di OpenSPCoop2 Release Notes di OpenSPCoop2 ii Copyright 2005-2015 Link.it srl Release Notes di OpenSPCoop2 iii Indice 1 Versione 2.1 1 1.1 Gestione del protocollo

Dettagli

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti 20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1

Dettagli

RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO 1.2. ATTIVAZIONE DELLA RICEZIONE DEL FILE CON L INPS

RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO 1.2. ATTIVAZIONE DELLA RICEZIONE DEL FILE CON L INPS RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO Abbiamo predisposto il programma di studio Web per la ricezione automatica dei certificati di malattia direttamente

Dettagli

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000

Mon Ami 3000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 3000 Mon Ami 000 MACommerce La soluzione per il commercio elettronico totalmente integrata con Mon Ami 000 Prerequisiti La soluzione MACommerce si integra totalmente con le versioni Azienda Light e Azienda

Dettagli

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Hub-PA Versione 1.0.6 Manuale utente

Hub-PA Versione 1.0.6 Manuale utente Hub-PA Versione 1.0.6 Manuale utente (Giugno 2014) Hub-PA è la porta d ingresso al servizio di fatturazione elettronica verso la Pubblica Amministrazione (PA) a disposizione di ogni fornitore. Questo manuale

Dettagli

Guida all utilizzo del web tool di gestione accesso ai Datacenter

Guida all utilizzo del web tool di gestione accesso ai Datacenter Guida all utilizzo del web tool di gestione accesso ai Datacenter 1 INDICE 1. COME RICHIEDERE L ACCESSO AI DATACENTER... 3 1.1 ACCESSO AL WEB TOOL... 4 1.2 CREAZIONE DELLA LISTA DEL PERSONALE DI ACCESSO...

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

Manuale per la ricezione del DURC tramite Posta Elettronica Certificata

Manuale per la ricezione del DURC tramite Posta Elettronica Certificata Assessorato Attività produttive. Piano energetico e sviluppo sostenibile Economia verde. Autorizzazione unica integrata Direzione Generale Programmazione Territoriale e Negoziata, Intese Relazioni europee

Dettagli

Omnia Web Timesheet. Manuale utente

Omnia Web Timesheet. Manuale utente Omnia Web Timesheet Manuale utente Revisioni Data Versione Autore Note 01.03.2011 1.0 Alberto Fedrici Prima release 08.05.2010 1.1 Alberto Fedrici Funzionalità inserimento note Indice 1. Introduzione...

Dettagli

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Direzione Centrale per le Politiche dell Immigrazione e dell Asilo Sistema inoltro telematico domande di nulla osta, ricongiungimento e conversioni Manuale utente Versione 2 Data creazione 02/11/2007 12.14.00

Dettagli

Gestione Richieste Patenti Web

Gestione Richieste Patenti Web >> Specifiche Integrazione Web Services RTI Gestione Richieste Patenti Web Servizio di Sviluppo SVI Versione 1.0-07 Dicembre 2009 Indice dei contenuti 1 GENERALITA... 6 1.1 Lista di distribuzione...6 1.2

Dettagli

GateManager. 1 Indice. [email protected]

GateManager. 1 Indice. tecnico@gate-manager.it 1 Indice 1 Indice... 1 2 Introduzione... 2 3 Cosa vi serve per cominciare... 2 4 La Console di amministrazione... 2 5 Avviare la Console di amministrazione... 3 6 Come connettersi alla Console... 3 7 Creare

Dettagli

Sistema per il monitoraggio della Spesa Sanitaria

Sistema per il monitoraggio della Spesa Sanitaria Sistema per il monitoraggio della Spesa Sanitaria GUIDA OPERATIVA PER UTENTI SSA NELLA GESTIONE DELLE DELEGHE Pag. 1 di 13 INDICE 1. Introduzione... 3 2. Autenticazione... 5 3. Utente non rappresentato

Dettagli

1 Riconoscimento del soggetto richiedente da parte del sistema

1 Riconoscimento del soggetto richiedente da parte del sistema Guida alla compilazione on-line della domanda per il bando Servizi per l accesso all istruzione (Trasporto scolastico, assistenza disabili e servizio pre-scuola e post-scuola) INDICE 1 Riconoscimento del

Dettagli

Il Sistema di interscambio: Prodotti di TEST a supporto dell adesione ai servizi

Il Sistema di interscambio: Prodotti di TEST a supporto dell adesione ai servizi Pagina 1 di 18 Il Sistema di interscambio: Prodotti di TEST a supporto dell adesione ai servizi Indice 1 INTRODUZIONE... 2 2 CLIENT SOAP... 2 2.1 INSTALLAZIONE DEL CLIENT SOAP... 2 2.1.1 PREREQUISITI...

Dettagli

OSSERVATORIO REGIONALE CONTRATTI PUBBLICI DI LAVORI, SERVIZI E FORNITURE

OSSERVATORIO REGIONALE CONTRATTI PUBBLICI DI LAVORI, SERVIZI E FORNITURE REGIONE LOMBARDIA DIREZIONE GENERALE INFRASTRUTTURE E MOBILITA U.O. INFRASTRUTTURE VIARIE E AEROPORTUALI OSSERVATORIO REGIONALE CONTRATTI PUBBLICI DI LAVORI, SERVIZI E FORNITURE PROGRAMMI TRIENNALI Manuale

Dettagli

1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale

1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale 1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale Per poter accedere alla propria casella mail di Posta Elettronica Certificata è possibile utilizzare, oltre all'interfaccia

Dettagli

Manuale Utente. Gestione Richieste supporto Data Warehouse. Della Ragioneria Generale dello Stato. Versione 1.0. Roma, Ottobre 2015

Manuale Utente. Gestione Richieste supporto Data Warehouse. Della Ragioneria Generale dello Stato. Versione 1.0. Roma, Ottobre 2015 Manuale Utente Gestione Richieste supporto Data Warehouse Della Ragioneria Generale dello Stato Versione 1.0 Roma, Ottobre 2015 1 Indice 1 Generalità... 3 1.1 Scopo del documento... 3 1.2 Versioni del

Dettagli

Guida alla Prima Configurazione dei Servizi

Guida alla Prima Configurazione dei Servizi Guida alla Prima Configurazione dei Servizi Indice Indice Guida all attivazione del servizio centralino 3 A. Applicazione Centralino su PC 5 B. Gruppo Operatori 9 Gestione all attivazione dei servizi internet

Dettagli

INFN Sezione di Perugia Servizio di Calcolo e Reti Fabrizio Gentile Enrico Becchetti

INFN Sezione di Perugia Servizio di Calcolo e Reti Fabrizio Gentile Enrico Becchetti INFN Sezione di Perugia Servizio di Calcolo e Reti Fabrizio Gentile Enrico Becchetti Configurazione del client per l uso dei nuovi sistemi di posta Introduzione; p. 2 Server SMTP; p. 2 Server IMAP/POP;

Dettagli

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO Pag. 1 di 17 VERIFICHE E APPROVAZIONI VERSIONE V01 REDAZIONE CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA PRATESI STATO DELLE VARIAZIONI VERSIONE PARAGRAFO O DESCRIZIONE

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

Applicazione Trasmissione dati al Sistema Tessera Sanitaria

Applicazione Trasmissione dati al Sistema Tessera Sanitaria Applicazione Trasmissione dati al Sistema Tessera Sanitaria Tramite l applicazione Trasmissione dati al Sistema Tessera Sanitaria è possibile, per i soggetti obbligati, trasmettere al Sistema Tessera Sanitaria

Dettagli

Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica

Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica 1/20 1.1 Modifiche Documento Descrizione Modifica Edizione Data Prima emissione 1 28/07/2008 1.2

Dettagli

Infostat-UIF. Istruzioni per l accesso e le autorizzazioni

Infostat-UIF. Istruzioni per l accesso e le autorizzazioni Infostat-UIF Istruzioni per l accesso e le autorizzazioni Versione 1.2 1 INDICE 1. Istruzioni operative per l'utilizzo dei servizi Infostat-UIF... 3 2. Registrazione al portale Infostat-UIF... 4 2.1. Caso

Dettagli

GUIDA UTENTE MONEY TRANSFER MANAGER

GUIDA UTENTE MONEY TRANSFER MANAGER GUIDA UTENTE MONEY TRANSFER MANAGER (vers. 1.0.2) GUIDA UTENTE MONEY TRANSFER MANAGER (vers. 1.0.2)... 1 Installazione... 2 Prima esecuzione... 5 Login... 7 Funzionalità... 8 Anagrafica... 9 Registrazione

Dettagli

Sistema per il monitoraggio della Spesa Sanitaria

Sistema per il monitoraggio della Spesa Sanitaria Sistema per il monitoraggio della Spesa Sanitaria GUIDA OPERATIVA PER UTENTI SSA NELLA GESTIONE DELLE DELEGHE PER LA RACCOLTA DELLE SPESE SANITARIE Pag. 1 di 14 INDICE 1. Introduzione... 3 2. Autenticazione...

Dettagli

L amministratore di dominio

L amministratore di dominio L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un

Dettagli

TaleteWeb Come navigare nella home page dell applicazione

TaleteWeb Come navigare nella home page dell applicazione TaleteWeb Come navigare nella home page dell applicazione Per accedere ad un applicazione Per accedere al sistema informatico TaleteWeb da qualsiasi browser è necessario digitare l indirizzo fornito dall

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

BOZZA MANUALE SDI-FVG PASSIVE SOMMARIO

BOZZA MANUALE SDI-FVG PASSIVE SOMMARIO BOZZA MANUALE SDI-FVG PASSIVE SOMMARIO 1. Accesso al sistema... 2 2. Pagina iniziale e caratteristiche generali di SDI-FVG per la fattura passiva.... 3 3. Gestione lotti... 5 4. Gestione fatture passive...

Dettagli

L Iniziativa egovernment.net per l Italia

L Iniziativa egovernment.net per l Italia L Iniziativa egovernment.net per l Italia Porte di Dominio per la Cooperazione Applicativa Allegato 1 Porta di Dominio.NET Versione 1.0, Aprile 2002 Soluzioni per l Interoperabilità e la Cooperazione Applicativa

Dettagli

Università degli Studi di Padova Centro di Calcolo di Ateneo

Università degli Studi di Padova Centro di Calcolo di Ateneo Università degli Studi di Padova Centro di Calcolo di Ateneo GeBeS Abilitazione Guida rapida all uso Versione del 29 aprile 2011 Sommario Descrizione generale del modulo GeBeS Abilitazione... 2 La funzione

Dettagli

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file. Archivia Modulo per l acquisizione, l archiviazione e la consultazione di informazioni Il modulo Archivia permette l acquisizione, l archiviazione e la consultazione di informazioni (siano esse un immagine,

Dettagli

MANUALE UTENTE FORMULA PEC

MANUALE UTENTE FORMULA PEC MANUALE UTENTE FORMULA PEC Stampato il 03/12/10 16.22 Pagina 1 di 22 REVISIONI Revisione n : 00 Data Revisione: 01/04/2010 Descrizione modifiche: Nessuna modifica Motivazioni: Prima stesura Stampato il

Dettagli

Ministero del Lavoro e delle Politiche Sociali

Ministero del Lavoro e delle Politiche Sociali Ministero del Lavoro e delle Politiche Sociali Prospetto Informativo on-line Standard tecnici del sistema informativo per l invio telematico del Prospetto Informativo Documento: UNIPI.StandardTecnici Revisione

Dettagli

PROGETTO TESSERA SANITARIA WEB SERVICE CMS ATTIVAZIONE E REVOCA TS-CNS IN INTEROPERABILITA FRA CARD MANAGEMENT SYSTEM

PROGETTO TESSERA SANITARIA WEB SERVICE CMS ATTIVAZIONE E REVOCA TS-CNS IN INTEROPERABILITA FRA CARD MANAGEMENT SYSTEM PROGETTO TESSERA SANITARIA WEB SERVICE CMS ATTIVAZIONE E REVOCA TS-CNS IN INTEROPERABILITA FRA CARD Pag. 2 di 14 INDICE 1. INTRODUZIONE 4 2. DESCRIZIONE DEL SERVIZIO DI RICHIESTA DI ATTIVAZIONE E REVOCA

Dettagli

Regione Lombardia GUIDA ALL UTILIZZO DELLA PROCEDURA DI REGISTRAZIONE E PROFILAZIONE NEL SISTEMA FER- FONTI ENERGETICHE RINNOVABILI

Regione Lombardia GUIDA ALL UTILIZZO DELLA PROCEDURA DI REGISTRAZIONE E PROFILAZIONE NEL SISTEMA FER- FONTI ENERGETICHE RINNOVABILI Regione Lombardia GUIDA ALL UTILIZZO DELLA PROCEDURA DI REGISTRAZIONE E PROFILAZIONE NEL SISTEMA FER- FONTI ENERGETICHE RINNOVABILI Revisione del Documento: 03 Data revisione: 20-12-2012 INDICE DEI CONTENUTI

Dettagli

Guida all accesso al portale e ai servizi self service

Guida all accesso al portale e ai servizi self service Guida all accesso al portale e ai servizi self service INDICE PREMESSA 2 pag. 1 INTRODUZIONE 2 2 MODALITÀ DI PRIMO ACCESSO 2 2.1 LA CONVALIDA DELL INDIRIZZO DI POSTA ELETTRONICA 2 2.2 L INSERIMENTO DELLA

Dettagli

FATTURA ELETTRONICA {

FATTURA ELETTRONICA { FATTURA ELETTRONICA { NORMATIVA La Finanziaria 2008 ha stabilito che la fatturazione nei confronti dell Amministrazione dello stato debba avvenire esclusivamente in maniera elettronica Il DM 5 aprile 2013

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3>

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Manuale Gestore. STWS Web Energy Control - Servizio di telelettura sul WEB

Manuale Gestore. STWS Web Energy Control - Servizio di telelettura sul WEB Manuale Gestore STWS Web Energy Control - Servizio di telelettura sul WEB SOMMARIO 1.0 PRESENTAZIONE... 4 2.0 UTENTI... 4 2.1 GESTORE... 4 2.2 AMMINISTRATORE DI CONDOMINIO... 4 2.3 INQUILINO... 4 3.0

Dettagli