Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop
|
|
|
- Bruno Papi
- 10 anni fa
- Visualizzazioni
Transcript
1 i Tutorial di configurazione e programmazione di OpenSPCoop
2 ii Copyright Link.it s.r.l.
3 iii COLLABORATORI TITOLO : Tutorial di configurazione e programmazione di OpenSPCoop AZIONE NOME DATA FIRMA A CURA DI 8 settembre 2009 CRONOLOGIA DELLE REVISIONI POSIZIONE DATA DESCRIZIONE NOME
4 iv Indice 1 Introduzione 1 2 Ambiente di sviluppo 1 3 Presentazione degli scenari di riferimento 2 4 Comunicazione Variazione (oneway) Descrizione formale dell Accordo di Servizio: WSDL e WSBL Configurazione Porta di Dominio e Registro Servizi Configurazioni comuni a tutti gli esempi del tutorial Configurazione del registro dei servizi di OpenSPCoop 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 e WSBL Configurazione Porta di Dominio e Registro Servizi Programmazione Test e verifica Stampa Documento (AsincronoAsimmetrico) Descrizione formale dell Accordo di Servizio: WSDL e WSBL Configurazione Porta di Dominio e Registro Servizi Programmazione Test e verifica Identifica Soggetto (AsincronoSimmetrico) Descrizione formale dell Accordo di Servizio: WSDL e WSBL Configurazione Porta di Dominio e Registro Servizi Programmazione Test e verifica
5 v Elenco delle tabelle 1 Dati autenticazione Registro Servizi 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 Dati Servizio dell Accordo Dati delle azioni del servizio Dati Servizio SPCoop Dati Porta Applicativa Dati Servizio Applicativo Dati invocazione Servizio Applicativo Dati Accordo di servizio Dati Servizio dell Accordo Dati delle azioni del servizio Dati Servizio SPCoop Dati Porta Applicativa Dati Servizio Applicativo Dati invocazione Servizio Applicativo Dati Accordo di servizio Dati Servizio dell Accordo Dati delle azioni del servizio Dati Servizio SPCoop Dati Porta Applicativa Dati Servizio Applicativo Dati invocazione Servizio Applicativo Dati Accordo di servizio Dati Servizio Asincrono Simmetrico nell accordo di servizio Dati Servizio Asincrono Simmetrico Correlato nell accordo di servizio Dati Servizio SPCoop Dati Servizio SPCoop correlato Dati Porta Applicativa Dati Servizio Applicativo Erogatore Dati Servizio Applicativo Fruitore Dati invocazione Servizio Applicativo erogatore Dati risposta asincrona Servizio Applicativo fruitore
6 1 / 33 1 Introduzione Questa guida documenta le procedure necessarie per la realizzazione di alcuni scenari tipici di Cooperazione Applicativa. Queste procedure riguardano sia l aspetto di cooperazione, con i passi necessari alla configurazione della Porta di Dominio OpenSPCoop, sia quello di integrazione, con lo sviluppo dei servizi applicativi. Nella figura che segue le entità che collaborano nella realizzazione di uno d interazione tra due servizi applicativi in accordo allo standard SPCoop. Nello 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 secondo le 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 L ambiente scelto per provare gli scenari di esempio è quello risultante da un installazione Standard di OpenSPCoop. Avremo quindi a disposizione l interfaccia di gestione web Control Station per la configurazione della Porta di Dominio e del Registro dei Servizi. Nota Per semplificare la realizzazione dello scenario ed evitare il proliferare delle installazioni, erogatore e fruitore del servizio appartengono a domini gestiti della solita installazione della Porta di Dominio SPCoop (modalità loopback) Avendo una sola porta di dominio, questa sarà fruitore degli stessi servizi che eroga, ai fini del funzionamento delle sample application a corredo con il tutorial, anche se gli scenari saranno presentati mostrando fruitore ed erogatore come se fossero appartenenti a domini distinti con Porte di Dominio distinte. Per quanto riguarda i soggetti cooperanti si utilizzeranno come esempio: CentroAnagrafico, che rappresenta una generica amministrazione centrale orientata ai servizi anagrafici (soggetto erogatore)
7 2 / 33 Comune, che rappresenta una generica amministrazione locale che richiede dei servizi anagrafici (soggetto fruitore) Il presente tutorial assume che si siano adottate le impostazioni di default per l installazione di JBoss e che quindi i connettori per entrambi i soggetti coincidano e siano uguali a: Suggerimento Per maggiori informazioni sulle modalità di installazione della Porta di Dominio OpenSPCoop, rimandiamo alla lettura della Guida d Installazione La figura seguente schematizza il comportamento di una Porta di Dominio con soggetti multipli 3 Presentazione degli scenari di riferimento Immaginiamo di dover sviluppare una serie di servizi di carattere anagrafico che utilizzino l infrastruttura fornira da OpenSP- Coop per le proprie comunicazioni. Immaginiamo poi che altri servizi, ad esempio quelli di un generico comune, abbiano bisogno di servirsi dei servizi erogati dall Anagrafe. Tra le varie operazioni da implementare supponiamo che ce ne sia una, che chiameremo Comunicazione Variazione, che prevede l invio di un messaggio contenente le informazioni riguardo una modifica nei dati anagrafici di un soggetto, senza aspettarsi messaggi di risposta. Analizziamo quindi le operazioni che fruitore, che chiameremo Comune, ed erogatore dovranno eseguire per realizzare questo scenario. ComunicazioneVariazione: con questa operazione si inviano i dati anagrafici di un soggetto da sostituire a quelli preesistenti. Non richiede nessuna risposta. (Oneway) RichiestaStatoFamiglia: questa operazione permette di recuperare i dati anagrafici di un soggetto. Nella richiesta viene inserito il codice fiscale di un soggetto e nella risposta saranno inclusi di dati di quel soggetto. (Sincrono) StampaDocumento: viene usato per richiedere la stampa di un documento. Poiché è un operazione che può richiedere giorni 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. (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. (AsincronoSimmetrico) Nei prossimi capitoli vedremo in dettaglio come realizzare gli scenari appena descritti analizzando come creare i descrittori dell Accordo di Servizio, come configurare Porta di Dominio e Registro dei Servizi, come programmare il fruitore e l erogatore dei servizi in questione ed infine come effettuare un test di verifica.
8 3 / 33 4 Comunicazione Variazione (oneway) 4.1 Descrizione formale dell Accordo di Servizio: WSDL e WSBL 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. WSDL Definitorio (definitorio.xsd) <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 (concettuale.wsdl). <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl="
9 4 / 33 <wsdl:import namespace=" location="definitorio.xsd" /> <wsdl:message name="comunicazionevariazionerequest"> <wsdl:part element="spc:notifica" name="comunicazionevariazionepart" /> <wsdl:porttype name="comunicazionevariazione"> <wsdl:operation name="notifica"> <wsdl:input message="spc:comunicazionevariazionerequest" /> </wsdl:operation> </wsdl:porttype> </wsdl:definitions> WSDL Logico Erogatore (logicoerogatore.wsdl). <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:porttype name="comunicazionevariazione"> <wsdl:operation name="notifica"> <wsdl:input message="spc:comunicazionevariazionerequest" /> </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 (implementativoerogatore.wsdl). <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <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> <wsdl:service name="comunicazionevariazioneservice"> <wsdl:port name="comunicazionevariazioneinterfaceendpoint" binding="spc: ComunicazioneVariazioneBinding">
10 5 / 33 <soap:address location=" </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. WSBL Dal momento che lo scenario prevede solo un operazione di tipo Oneway, non c è bisogno di definire alcun WSBL. 4.2 Configurazione Porta di Dominio e Registro Servizi 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 apposita interfaccia web reperibile all indirizzo Identifichiamoci con diritti di amministratore: Login Password amministratore secret Tabella 1: Dati autenticazione Registro Servizi 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
11 6 / 33 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 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) Utilizzare la form 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 / tipo basic Utente Comune_SA Password Modalità di fault soap Tabella 4: Dati Servizio Applicativo Fruitore (a) Selezionare aggiungi nel menù Servizi Applicativi (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 erogatare dei servizi di esempio del tutorial. CentroAnagrafico Tabella 5: Dati del Soggetto SPCoop erogatore
12 7 / 33 (a) Dalla lista dei soggetti selezionare visualizza relativamente alla riga del soggetto Comune in corrispondenza della colonna Connettore (b) Utilizzare la form per inserire il valore del connettore (c) Premere il pulsante Invia 6. Impostazione del connettore relativo al Soggetto SPCoop CentroAnagrafico. URL Tabella 6: Connettore del Soggetto SPCoop erogatore (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 di OpenSPCoop Una volta creati i descrittori (WSDL) del servizio, possiamo procedere con la creazione dell accordo di servizio nella Control Station. 1. Creazione dell Accordo di Servizio Referente WSDL Definitorio WSDL Concettuale WSDL Logico Erogatore AS_ComunicazioneVariazione SPC/CentroAnagrafico definitorio.xsd concettuale.wsdl logicoerogatore.wsdl Tabella 7: Dati Accordo di servizio (a) Selezionare aggiungi nel menù Accordi servizio (b) Utilizzare la form per inserire i vari parametri dell Accordo
13 8 / Aggiungiamo il Servizio all Accordo: il nome del servizio dovrà avere lo stesso nome del PortType indicato nel WSDL Concettuale. Profilo ComunicazioneVariazione oneway Tabella 8: Dati Servizio dell Accordo (a) Dalla lista degli Accordi di Servizio, 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, selezionare visualizza nella colonna servizi in corrispondenza dell Accordo creato al punto precedente. (b) Selezionare visualizza nella colonna azioni in corrispondenza del servizio ComunicazioneVariazione
14 9 / 33 (c) Selezionare aggiungi e completare la form per l aggiunta di una nuova azione. 4. Aggiungere il servizio SPCoop: Soggetto SPCoop Accordo Servizio Servizio WSDL Implementativo Erogatore SPC/CentroAnagrafico AS_ComunicazioneVariazione ComunicazioneVariazione implementazioneerogatore.wsdl Tabella 10: Dati Servizio SPCoop (a) Nella sezione Servizi SPCoop selezionare Aggiungi. (b) Utilizzare la form per inserire i parametri del Servizio SPCoop (c) Premere il pulsante Invia 5. Aggiungere il soggetto fruitore alla lista dei soggetti che possono fruire del servizio: l installazione standard di OpenSP- Coop attiva di default l autenticazione SPCoop che controlla se il fruitore di un servizio compare nella lista dei fruitori. Per superare questo controllo dobbiamo quindi aggiungere il soggetto Comune ai fruitori del servizio ComunicazioneVariazione (a) Nell elenco dei Servizi SPCoop individuare il servizio ComunicazioneVariazione e selezionare visualizza nella colonna Fruitori: (b) Selezionare Add ed utilizzare la form per inserire i parametri del soggetto fruitore del servizio
15 10 / 33 (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 autorizzato ad invocare il servizio. Quersto passaggio è essenziale ai fini dell autenticazione da parte del servizio applicativo in fase di invocazione della porta delegata. (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 Servizio SPCoop Azione ComunicazioneVariazione_PA disabilitato default none abilitato ComunicazioneVariazione Notifica Tabella 11: Dati Porta Applicativa (a) Selezionare aggiungi nel menù Porte Applicative (b) Utilizzare la form per inserire i parametri della Porta Applicativa per il soggetto CentroAnagrafico.
16 11 / 33 (c) Premere il pulsante Invia 8. Aggiungere il Servizio Applicativo Erogatore: Soggetto SPCoop Tipo invocazione Modalità fault ComunicazioneVariazione_SA CentroAnagrafico nessuna soap Tabella 12: Dati Servizio Applicativo (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 (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:
17 12 / 33 (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 4.3 Programmazione Fruitore: Servizio Applicativo del Comune Modalità trasparente Cominciamo con la programmazione del fruitore. wsdl2java fornito da CXF. Per completare gli esempi sono stati utilizzati gli stub generati dal tool 1 2 ComunicazioneVariazioneService ss = new ComunicazioneVariazioneService(wsdlURL, SERVICE_NAME); 3 ComunicazioneVariazione port = ss.getcomunicazionevariazioneinterfaceendpoint(); 4 5 /* 6 * Imposto la url della porta di dominio come destinazione 7 * Imposto username e password per l autenticazione 8 */ 9 10 ((BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, SOAPUrl); 11 ((BindingProvider)port).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, username); 12 ((BindingProvider)port).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, password); org.openspcoop.example.comunicazionevariazione_type _notifica_comunicazionevariazionepart = new ComunicazioneVariazione_Type(); 15 _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) {
18 13 / 33 } e.printstacktrace(); try{ String file = "request.xml"; String PD = "ComunicazioneVariazione_PD"; /* * 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;
19 14 / 33 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) { 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 e 4 in figura) POST /tutorial/ HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: tutorial Content-Length: 504 Cache-Control: no-cache Pragma: no-cache User-Agent: Java/1.5.0_11 Host: :8888 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="
20 15 / 33 <comunicazionevariazione CF="BBBCCC11F11F111F"> <nome>mario</nome> <cognome>rossi</cognome> <codicefiscale>dddfff22g22g222g</codicefiscale> <nascita> t12:00:00.000z</nascita> <statocivile>celibe</statocivile> </comunicazionevariazione> </Notifica> </soapenv:body> </soapenv:envelope> La Porta di Dominio recupera le informazioni necessarie alla gestione della richiesta, riconosce che il tipo di comunicazione è Oneway e si occupa quindi di generare sia la risposta di OK da inviare al client di Comune, sia di imbustare la richiesta da inviare alla Porta di Dominio di destinazione. La risposta inviata al client è questa (Messaggio 2 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 La Porta di Dominio invia quindi la richiesta alla Porta di Dominio destinataria, nel nostro caso a se stessa, arricchita dell header e-gov (Messaggio 3 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"/>
21 16 / 33 </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> </soapenv:envelope> Controllando il file openspcoop.log possiamo verificare il corretto funzionamento della porta: ComuneSPCoopIT.RicezioneContenutiApplicativiWS < T11:18:49.369> (infoopenspcoop) ID:Comune_ComuneSPCoopIT_ _ _11:18 PD:ComunicazioneVariazione_PD SA: Anonimo FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Ricevuta richiesta di servizio dal Servizio Applicativo Anonimo verso la porta delegata ComunicazioneVariazione_PD ComuneSPCoopIT.InoltroBusteEGov < T11:18:49.476> (infospcoop) ID: Comune_ComuneSPCoopIT_ _ _11:18 PD:ComunicazioneVariazione_PD SA:Anonimo FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _11:18] in corso (location: CentroAnagraficoSPCoopIT.RicezioneBusteEGovWS < T11:18:49.559> (infospcoop) ID: Comune_ComuneSPCoopIT_ _ _11:18 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Ricevuto messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _11 :18] inviata dalla parte mittente [SPC/Comune]. CentroAnagraficoSPCoopIT.Sbustamento < T11:18:49.605> (infoopenspcoop) ID: Comune_ComuneSPCoopIT_ _ _11:18 FR:SPC/Comune -> S:SPC/ CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Ricevuta Busta EGov [Comune_ComuneSPCoopIT_ _ _11:18], con l attributo ALPIUUNAVOLTA nel profilo di trasmissione: Busta salvata nell History delle buste ricevute. CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T11:18:49.624> (infospcoop ) ID:Comune_ComuneSPCoopIT_ _ _11:18 SA:ComunicazioneVariazione_SA FR:SPC /Comune -> S:SPC/CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica
22 17 / 33 Invio Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _11:18] in corso (location: CentroAnagraficoSPCoopIT.ConsegnaContenutiApplicativi < T11:18:49.635> (infospcoop ) ID:Comune_ComuneSPCoopIT_ _ _11:18 SA:ComunicazioneVariazione_SA FR:SPC /Comune -> S:SPC/CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Messaggio applicativo con ID [Comune_ComuneSPCoopIT_ _ _11:18], generato dal mittente [SPC/Comune], consegnato al servizio applicativo [ComunicazioneVariazione_SA] mediante connettore [http] (location: con codiceconsegna: 200 ComuneSPCoopIT.InoltroBusteEGov < T11:18:49.703> (infospcoop) ID: Comune_ComuneSPCoopIT_ _ _11:18 PD:ComunicazioneVariazione_PD SA:Anonimo FR:SPC/Comune -> S:SPC/CentroAnagrafico_SPC/ComunicazioneVariazione_Notifica Messaggio SPCoop con identificativo [Comune_ComuneSPCoopIT_ _ _11:18] inviato alla parte destinataria [SPC/CentroAnagrafico] mediante connettore [http] ( location: con codiceconsegna: Stato Famiglia (sincrono) 5.1 Descrizione formale dell Accordo di Servizio: WSDL e WSBL Come per il servizio ComunicazioneVariazione, creiamo un accordo di servizio fornendo i wsdl e wsbl che descrivono il servizio applicativo in questione. I wsdl in questione sono forniti insieme ai sorgenti degli esempi: WSDL Definitorio (definitorio.xsd) <?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"/> <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 (concettuale.wsdl). <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl="
23 18 / 33 <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="statofamigliaresponse"> <wsdl:part name="statofamigliaresponsepart" element="spc:statofamiglia"> <wsdl:message name="statofamigliarequest"> <wsdl:part name="statofamigliarequestpart" element="spc:richiestastatofamiglia"> <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 (logicoerogatore.wsdl). <?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:message name="statofamigliarequest"> <wsdl:part name="statofamigliarequestpart" element="spc:richiestastatofamiglia"> <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 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 (implementativoerogatore.wsdl). <?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>
24 19 / 33 <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=" </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 e Registro Servizi Eseguiamo la configurazione sulla Control Station 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 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 2. Aggiungiamo il Servizio all Accordo: il nome del servizio dovrà avere lo stesso nome del PortType indicato nel WSDL Concettuale. Profilo RichiestaStatoFamiglia sincrono Tabella 15: Dati Servizio dell Accordo 3. Specifichiamo le azioni del Servizio: le azioni del Servizio corrispondono alle Operation specificate nel WSDL Acquisisci Tabella 16: Dati delle azioni del servizio 4. Aggiungere il servizio SPCoop con i dati riportati in Tabella 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 RichiestaStatoFamiglia
25 20 / 33 Soggetto SPCoop Accordo Servizio Servizio WSDL Implementativo Erogatore SPC/CentroAnagrafico AS_RichiestaStatoFamiglia RichiestaStatoFamiglia implementazioneerogatore.wsdl Tabella 17: Dati Servizio SPCoop 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. (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 Servizio SPCoop Azione RichiestaStatoFamiglia_PA disabilitato default none abilitato RichiestaStatoFamiglia Acquisisci Tabella 18: Dati Porta Applicativa 8. Aggiungere il Servizio Applicativo Erogatore: Soggetto SPCoop Tipo invocazione Modalità fault RichiestaStatoFamiglia_SA CentroAnagrafico nessuna soap Tabella 19: Dati Servizio Applicativo 9. Impostare i parametri di invocazione del Servizio Applicativo con i valori riportati in Tabella 20: 10. Associare alla Porta Applicativa il Servizio Applicativo
26 21 / 33 Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso RichiestaStatoFamiglia_SA no disabilitato si none Tabella 20: Dati invocazione Servizio Applicativo 5.3 Programmazione La programmazione di un servizio ed un client sincrono è molto simile a quella di un Oneway, tranne per il fatto che il servizio in questo caso restituisce un messaggio SOAP in risposta ad una richiesta. Nella programmazione dei servizi a livello di operazioni, questo si traduce in un operazione con un oggetto di ritorno invece di void. 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. 6 Stampa Documento (AsincronoAsimmetrico) 6.1 Descrizione formale dell Accordo di Servizio: WSDL e WSBL 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 (definitorio.xsd) <?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>
27 22 / 33 </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 (concettuale.wsdl). <?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:message name="statodocumentorequest"> <wsdl:part name="statodocumentorequestpart" element="spc:statodocumento"> <wsdl:message name="stampadocumentorequest"> <wsdl:part name="stampadocumentorequestpart" element="spc:stampadocumento"> <wsdl:message name="statodocumentoresponse"> <wsdl:part name="statodocumentoresponsepart" element="spc:esito"> <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>
28 23 / 33 </wsdl:definitions> WSDL Logico Erogatore (logicoerogatore.wsdl). <?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:message name="statodocumentorequest"> <wsdl:part name="statodocumentorequestpart" element="spc:statodocumento"> <wsdl:message name="stampadocumentorequest"> <wsdl:part name="stampadocumentorequestpart" element="spc:stampadocumento"> <wsdl:message name="statodocumentoresponse"> <wsdl:part name="statodocumentoresponsepart" element="spc:esito"> <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 (implementativoerogatore.wsdl). <?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"/>
29 24 / 33 </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=" </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. 6.2 Configurazione Porta di Dominio e Registro Servizi Una volta creati i descrittori del servizio, possiamo procedere con la creazione dell accordo di servizio. 1. Creazione dell Accordo di Servizio Referente WSDL Definitorio WSDL Concettuale WSDL Logico Erogatore AS_StampaDocumento SPC/CentroAnagrafico definitorio.xsd concettuale.wsdl logicoerogatore.wsdl Tabella 21: Dati Accordo di servizio 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
30 25 / 33 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 il servizio SPCoop: Soggetto SPCoop Accordo Servizio Servizio WSDL Implementativo Erogatore SPC/CentroAnagrafico AS_StampaDocumento StampaDocumento implementazioneerogatore.wsdl Tabella 24: Dati Servizio SPCoop 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. (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 Servizio SPCoop 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:
31 26 / 33 Soggetto SPCoop Tipo invocazione Modalità fault StampaDocumento_SA CentroAnagrafico nessuna soap Tabella 26: Dati Servizio Applicativo Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso StampaDocumento_SA no disabilitato si none Tabella 27: Dati invocazione Servizio Applicativo 9. Impostare i parametri di invocazione del Servizio Applicativo con i valori riportati in Tabella Associare alla Porta Applicativa il Servizio Applicativo. 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.
32 27 / 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 pervenuta una risposta di successo. 7 Identifica Soggetto (AsincronoSimmetrico) 7.1 Descrizione formale dell Accordo di Servizio: WSDL e WSBL 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 (definitorio.xsd) <?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 (concettuale.wsdl). <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl="
33 28 / 33 <wsdl:import namespace=" location="definitorio.xsd"> </wsdl:import> <wsdl:message name="risultatoidentificarequest"> <wsdl:part name="identificarequestpart" element="spc:risultato"> <wsdl:message name="risultatoidentificaresponse"> <wsdl:part name="risultatoidentificaresponse" element="spc:risultatoresponse"> <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:message name="identificarequest"> <wsdl:part name="identificarequestpart" element="spc:identifica"> <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 (logicoerogatore.wsdl). <?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:message name="identificarequest"> <wsdl:part name="identificarequestpart" element="spc:identifica"> <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>
34 29 / 33 WSDL Logico Fruitore (implementativofruitore.wsdl). <?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:message name="risultatoidentificaresponse"> <wsdl:part name="risultatoidentificaresponse" element="spc:risultatoresponse"> <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 (implementativoerogatore.wsdl). <?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=" </wsdl:port> </wsdl:service> </wsdl:definitions> WSDL Implementativo Fruitore (implementativofruitore.wsdl). <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:xsd=" xmlns:soap=" xmlns:spc=" xmlns:wsdl=" <wsdl:import namespace=" location="logicoerogatore.wsdl ">
35 30 / 33 </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=" </wsdl:port> </wsdl:service> </wsdl:definitions> 7.2 Configurazione Porta di Dominio e Registro Servizi Una volta creati i descrittori del servizio, possiamo procedere con la creazione dell accordo di servizio. 1. Creazione dell Accordo di Servizio Referente WSDL Definitorio WSDL Concettuale WSDL Logico Fruitore WSDL Logico Erogatore AS_IdentificaSoggetto SPC/CentroAnagrafico definitorio.xsd concettuale.wsdl logicofruitore.wsdl logicoerogatore.wsdl Tabella 28: Dati Accordo di servizio 2. Aggiungiamo i due servizi all accordo di Servizio: 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 29 e Tabella 30 Azione Profilo IdentificaSoggetto Cerca asincronosimmetrico Tabella 29: Dati Servizio Asincrono Simmetrico nell accordo di servizio Azione Profilo EsitoIdentificazione Esito asincronosimmetrico Tabella 30: Dati Servizio Asincrono Simmetrico Correlato nell accordo di servizio
36 31 / Aggiungere il servizio SPCoop e il suo correlato erogato dal soggetto fruitore con i dati riportati in Tabella 31 e in Tabella 32: Soggetto SPCoop Accordo Servizio Servizio WSDL Implementativo Erogatore SPC/CentroAnagrafico AS_IdentificaSoggetto IdentificaSoggetto implementazioneerogatore.wsdl Tabella 31: Dati Servizio SPCoop Soggetto SPCoop Accordo Servizio Servizio Correlato WSDL Implementativo Fruitore SPC/Comune AS_EsitoIdentificazione EsitoIdentificazione Si implementazionefruitore.wsdl Tabella 32: Dati Servizio SPCoop correlato 4. 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 IdentificaSoggetto e il soggetto CentroAnagrafico ai fruitori del servizio EsitoIdentificazione 5. Aggiungere nelle politiche sicurezza i servizi applicativi appena autorizzati. Questo passaggio è essenziale ai fini dell autenticazione da parte del servizio applicativo in fase di invocazione della porta delegata. (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. 6. 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 Servizio SPCoop Azione IdentificaSoggetto_PA disabilitato default none abilitato IdentificaSoggetto Cerca Tabella 33: Dati Porta Applicativa 7. Aggiungere i Servizi Applicativi erogatore e fruitore con i valori riportati in Tabella 34 e Tabella 35.
37 32 / 33 Soggetto SPCoop Tipo invocazione Modalità fault IdentificaSoggetto_SA CentroAnagrafico nessuna soap Tabella 34: Dati Servizio Applicativo Erogatore Soggetto SPCoop Tipo invocazione Modalità fault IdentificaSoggettoComune_SA Comune nessuna soap Tabella 35: Dati Servizio Applicativo Fruitore 8. Impostare i parametri di invocazione del Servizio Applicativo con i valori riportati in Tabella 36. Impostare la Risposta Asincrona per il Servizio Applicativo fruitore con i valori riportati in Tabella 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 StampaDocumento. Vedremo, lato client, che verrà effettuata una richiesta e successivamente una serie di interrogazioni finchè non viene pervenuta una risposta di successo. Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso IdentificaSoggetto_SA no disabilitato si none Tabella 36: Dati invocazione Servizio Applicativo erogatore
38 33 / 33 Sbustamento Get message Connettore abilitato Url connettore Tipo credenziali d accesso IdentificaSoggettoComune_SA no disabilitato si none Tabella 37: Dati risposta asincrona Servizio Applicativo fruitore
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-2011 Link.it s.r.l. iii Indice 1 Introduzione 1 2 Ambiente di sviluppo 1 3 Presentazione degli scenari di esempio 2 4 Comunicazione
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
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
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
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
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
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
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
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
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
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
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
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
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.
Web Service SOAP e WSDL. Tito Flagella [email protected] Lorenzo Nardi [email protected]
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
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
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
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]
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
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
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...................................................
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
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...
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
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...
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...
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
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
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
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
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
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...
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.............................
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
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
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
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...
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
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
GateManager. 1 Indice. [email protected]
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
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
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...
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
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
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
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
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
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
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...
Configurazione di Outlook Express
OUTLOOK Outlook Express è il client di posta elettronica sviluppato da Microsoft, preinstallato su sistemi operativi Windows a partire da Windows 98 fino all'uscita di Windows XP. Con l'arrivo di Windows
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...
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...
Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica
Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica Versione: 3 Data: 16/10/2014 Autore: InfoCamere 1. Introduzione al documento...3 1.1 Modifiche al documento...
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
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
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:
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
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
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
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
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...
Specifiche Tecnico-Funzionali
AuthSIAR - Modulo di Autenticazione e Autorizzazione Sardegna IT S.r.l. Analisi Tecnico-Funzionale Assessorato all Agricoltura della Regione Sardegna SIAR Sistema Informativo Agricolo Regionale AuthSIAR
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
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...
Mac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
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
SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE
Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO
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
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
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...
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...
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
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
Cup HiWeb. Integrazione dei servizi del CUP Marche in applicativi di terze parti
Cup HiWeb Integrazione dei servizi del CUP Marche in applicativi di terze parti Ver 1.2 2015 Insiel Mercato SpA Change History 23/03/2015 Versione 1.0 Paolo Pitton 18/12/2015 Versione 1.1 Paolo Pitton
Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client
Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un
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
GUIDA TECNICA ALLA RENDICONTAZIONE SU SIRIO
GUIDA TECNICA ALLA RENDICONTAZIONE SU SIRIO Guida per il compilatore Versione 1.0 Sommario 1 Rendicontazione... 2 1.1 Da cosa è costituita la rendicontazione... 2 1.2 Dove reperire i modelli e come compilarli...
MANUALE UTENTE Fiscali Free
MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato
1. Compilazione dell istanza di adesione
1. Compilazione dell istanza di adesione Compilare l istanza di adesione dal sito dell Agenzia delle Dogane avendo cura di stampare il modulo compilato. In questa fase è necessario comunicare se si è in
Accreditamento al SID
Accreditamento al SID v. 3 del 22 ottobre 2013 Guida rapida 1 Sommario Accreditamento al SID... 3 1. Accesso all applicazione... 4 2. Richieste di accreditamento al SID... 6 2.1. Inserimento nuove richieste...
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
Appendice A: Schema XML della descrizione della Busta e-gov
Appendice A: Schema XML della descrizione della Busta e-gov Appendice A: Schema XML della descrizione della Busta e-gov build.xml
Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore
ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013
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
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
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...
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...
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?
NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA
3 NAVIGAZIONE DEL SI-ERC: UTENTE PROGETTISTA Collegandosi al sito, si accede alla Home Page del SI-ERC che si presenta come illustrato di seguito. L utente progettista, analogamente agli altri utenti,
PRACTICAL DEVELOPMENT OF A WEB SERVICE
PRACTICAL DEVELOPMENT OF A WEB SERVICE 1 JAX-WS 2.0 Java API for XML Web Services Specifica basata su annotazioni Applicata su classi ed interfacce in modo da definire e gestire automaticamente il protocollo
Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da
ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario
