Ministero della Giustizia DIPARTIMENTO DELL ORGANIZZAZIONE GIUDIZIARIA, DEL PERSONALE E DEI SERVIZI DIREZIONE GENERALE PER I SISTEMI INFORMATIVI AUTOMATIZZATI AREA CIVILE Specifiche di Interfaccia tra Punto di Accesso e Gestore Centrale
Sommario 1 GENERALITA... 7 1.1 SCOPO DEL DOCUMENTO... 7 1.2 APPLICABILITÀ... 7 1.3 NOTAZIONI GRAFICHE... 7 2 SCENARIO DEL... 9 3 FLUSSI DOCUMENTALI... 11 3.1 IL DEPOSITO DI UN ATTO... 11 3.1.1 Fase di trasmissione dell atto... 12 3.1.1.1 Struttura del messaggio di inoltro atto...14 3.1.1.2 Struttura del messaggio di attestazione temporale... 17 3.1.1.3 Struttura del messaggio di notifica eccezione... 18 3.1.2 Fase di trasmissione dell esito dell atto... 19 3.1.2.1 Struttura del messaggio di comunicazione esito... 19 3.2 L INVIO DI UN BIGLIETTO DI CANCELLERIA... 21 3.2.1 Il messaggio di biglietto cancelleria... 22 4 CONSULTAZIONI... 24 4.1 CARATTERISTICHE DI POLISWEB... 26 4.2 ARCHITETTURA E FLUSSI DI COLLOQUIO TRA PUNTO ACCESSO E POLISWEB... 27 4.3 INTERFACCE PER IL PUNTO DI ACCESSO... 32 4.3.1 Richiesta Attivazione Sessione Utente PolisWeb... 32 4.3.2 Risposta PolisWeb alla richiesta di Attivazione Sessione Utente PolisWeb... 33 4.3.3 Richiesta Pagine Area Privata Consultazione PolisWeb... 34 4.3.4 Risposta di PolisWeb alla richiesta Pagine Area Privata Consultazione PolisWeb.... 35 4.3.5 Richiesta Chiusura Sessione Utente PolisWeb... 35 4.3.6 Risposta PolisWeb per richiesta Chiusura Sessione Utente PolisWeb... 36 4.3.7 Eccezioni... 36 4.4 INTERFACCE PER IL BACK-END DI POLIS WEB... 37 4.4.1 Esempio Messaggio Richiesta Soap... 38 4.4.2 Esempio Messaggio Risposta Soap... 39 5 POSTA CERTIFICATA... 41 6 ALLEGATI... 42 6.1 FORMATO DEI DATI... 42 6.2 DTD DEI FILE XML... 43 6.2.1 Attestazione.dtd... 43 6.2.2 Certificazione.dtd... 43 6.2.3 Comunicazione.dtd... 43 PAGINA 2 DI 92
6.2.4 Eccezione.dtd... 44 6.2.5 EsitoAtto.dtd... 44 6.2.6 InfoInoltro.dtd... 44 6.3 FORMATI WSDL... 45 6.3.1 WSDL jpw-backend.wsdl... 45 6.3.2 Schema wsdlschema.xsd... 49 PAGINA 3 DI 92
STORIA DELLE MODIFICHE APPORTATE Versione Data Descrizione Modifica 1.0 18/10/2004 Prima emissione PAGINA 4 DI 92
DEFINIZIONI E ACRONIMI Nel presente capitolo è riportata la descrizione dei termini, degli acronimi e delle abbreviazioni usate nel documento. Acronimo Descrizione CdO Consiglio dell Ordine CPC Codice di Procedura Civile CPECPT Casella di Posta Certificata Processo Telematico (anche CPEPT) DSN Delivery Status Notification DTD Document Type Definition GC Gestore Centrale HTTP HyperText Transfer Protocol HTTPS HyperText Transfer Protocol Secure MIME Multipurpose Internet Mail Extensions PCT Processo civile telematico PdA Punto di Accesso PIN Personal Identification Number RD Repository Documentale ReGIndE Registro Generale degli Indirizzi Elettronici ReLIndE Registro Locale degli Indirizzi Elettronici RPC Remote Procedure Call RUG Rete Unitaria della Giustizia RUPA Rete Unitaria della Pubblica Amministrazione S/MIME Secure Multipurpose Internet Mail Extensions SIC Sistema Informativo Civile SICI Sistema Informatico del Contenzioso Civile SIL Sistema Informativo del Lavoro SMTP Simple Mail Transfer Protocol SOAP Simple Object Access Protocol SPC Servizio Pubblico di Connessione SSLv3 Secure Sockets Layer version 3 UG Ufficio Giudiziario UI User Interface UNEP Ufficio Notifiche e Protesti W3C World We Web Consortium XML extensible Markup Language PAGINA 5 DI 92
RIFERIMENTI Progressivo Descrizione 1 Regole Tecnico-Operative per l Uso di Strumenti Informatici e Telematici nel Processo Civile e relativi allegati. 2 Posta Elettronica Certificata Allegato tecnico alle linee gua del servizio di trasmissione di documenti informatici mediante posta elettronica certificata (http://www.ctrupa.it/rete-rupa/posta-elet). 7 RFC 822 - Standard for the format of ARPA Internet text messages. (http://www.faqs.org/rfcs/rfc822.html) PAGINA 6 DI 92
1 GENERALITA 1.1 SCOPO DEL DOCUMENTO Obiettivo del presente documento è quello di descrivere struttura, formati e contenuti informativi delle interfaccie tra Punto di Accesso e Gestore Centrale, nell ambito delle interazioni attualmente previste dal Processo Civile Telematico. Non costituiscono oggetto del presente documento le interazioni esterne al contesto sopra indivuato, e cioè tra Soggetti Abilitati Esterni e Punto di Accesso né quelle interne al Dominio Giustizia (interazioni tra Gestore Centrale e Gestori Locali e tra Gestore Locale e SICI). Analogamente è fuori dal contesto di analisi del presente documento la parte relativa alla redazione, firma e cifratura degli atti informatici da inviare agli Uffici Giudiziari. 1.2 APPLICABILITÀ L ambito di applicazione del presente documento è quello relativo al Processo Civile Telematico, (d ora in avanti Processo Telematico), così come regolamentato dalla attuale versione delle norme tecnico-operative, limitatamente alle funzionalità ad oggi realizzate, ossia relative alla fase 1 del progetto. 1.3 NOTAZIONI GRAFICHE Nel presente documento, i DTD sono stati rappresentati graficamente secondo la notazione W3C Schema, come riportato, a titolo di esempio, nella figura seguente: Ogni elemento è rappresentato all interno di un rettangolo. Rettangoli delimitati da linee continue indicano elementi obbligatori, mentre rettangoli delimitati da linee tratteggiate, indicano elementi opzionali (vedi figura seguente): PAGINA 7 DI 92
Un elemento può essere costituito da un elemento a scelta tra quelli indicati a destra del simbolo come rappresentato dalla seguente figura: Un elemento è composto da tutti (se obbligatori) gli elementi presenti a destra del simbolo come rappresentato dalla seguente figura: Il simbolo 1.. indica una cardinalità del corrispondente elemento compresa fra 1 ed n (vale a dire che l elemento è presente una o più volte). Il simbolo 0.. indica una cardinalità del corrispondente elemento compresa fra 0 ed n (vale a dire che l elemento non è obbligatorio, ma che, se presente, può esserlo anche più di una volta). Gli elementi possono essere dotati di diversi attributi, che, in tale rappresentazione grafica, non vengono però evenziati. Per una loro dettagliata descrizione si rimanda alla lettura dei DTD relativi (presenti in appendice). Anche altre strutture dati, non direttamente riconducibili a file XML, quali, ad esempio, buste MIME, S/MIME, file firmati, ecc., sono state riportate secondo la notazione W3C Schema. Tale rappresentazione non deve, quindi, essere conserata come rigorosa, ma è stata semplicemente adottata per uniformare lo stile grafico di schematizzazione. PAGINA 8 DI 92
2 SCENARIO DEL Lo scenario operativo del Processo Civile Telematico (PCT) è rappresentato nella figura che segue: Soggetto abilitato esterno Soggetto abilitato esterno Soggetto abilitato esterno Soggetto abilitato esterno Internet Internet PdA PdA RUPA GL GL Ufficio Giudiziario GC RUG Ufficio Giudiziario Soggetto abilitato interno Soggetto abilitato interno Soggetto abilitato interno Soggetto abilitato interno Figura 1 - Scenario del Processo Civile Telematico Tale scenario prevede una serie di soggetti abilitati all utilizzo dei servizi del PCT ripartiti logicamente tra soggetti esterni al Sistema Informatico Civile (SICI) e soggetti interni. I soggetti abilitati esterni (al momento limitati ai soli difensori di parte) fruiscono dei servizi offerti dal PCT per il tramite dei servizi realizzati da una serie di entità tecnico-organizzative: i Punti di Accesso Esterni (PdA); il Gestore Centrale dell accesso (GC); i Gestori Locali dell accesso (GL). I PdA eseguono l autenticazione dei soggetti abilitati esterni e forniscono loro i servizi di connessione al SICI. Forniscono inoltre i servizi di trasmissione telematica dei documenti informatici processuali, nonché il servizio di accesso e di gestione della casella di posta elettronica certificata del Processo Telematico (CPECPT). Il GC è il punto unico di interazione tra il SICI ed i PdA. Il GC fornisce i servizi di accesso al SICI ed i servizi di trasmissione telematica dei documenti informatici processuali verso i GL e verso i PdA. PAGINA 9 DI 92
Il GL è parte del sistema informatico dell'ufficio Giudiziario (UG). Il GL fornisce i servizi di accesso al singolo UG ed i servizi di trasmissione telematica dei documenti informatici processuali tra UG e GC. Le interazioni fra PdA e GC riguardano al momento servizi di trasmissione di documenti informatici processuali (nel seguito flussi documentali) e servizi di consultazione di informazioni (nel seguito consultazioni). PAGINA 10 DI 92
3 FLUSSI DOCUMENTALI I flussi documentali attualmente gestiti nell ambito del Processo Civile Telematico che transitano attraverso il Punto di Accesso riguardano: deposito di atti informatici; ricezione biglietti di cancelleria. Nel primo caso il flusso documentale è attivato da un Avvocato che intende depositare un atto informatico presso un Ufficio Giudiziario. Nel contesto del presente documento ci si limiterà alla trattazione del processo di imbustamento e di inoltro dell atto informatico al GC da parte del PdA. Verranno anche esaminati i messaggi di risposta, di direzione opposta, provenienti dal GC. Tali messaggi consentono di completare il ciclo logico funzionale del deposito atto, fornendo, nel contempo, le necessarie garanzie tecnico-legali che l invio documentale è andato a buon fine e che l atto è stato acquisito dall Ufficio Giudiziario. Nel caso della ricezione dei biglietti di cancelleria il flusso trae origine dall azione di un Cancelliere presso un Ufficio Giudiziario, e consente di notificare ad un Avvocato, per il tramite della sua CPECPT, il verificarsi di eventi rilevanti relativi ad una causa in cui egli è difensore di parte. Anche in questo caso è previsto un flusso di direzione opposta, innescato automaticamente dalla ricevuta di avvenuta consegna prodotta dal sistema di posta certificata del PdA presso cui la CPECPT è attestata. Nella funzione di deposito atto l utilizzo del protocollo SMTP negli scambi tra PdA e GC è strumentale allo scambio di dati, mentre nel caso dell invio di un biglietto di cancelleria viene fatto uso dei meccanismi previsti dalla Posta Certificata nella specifica estensione definita dalle Norme tecnico-operative del Processo Telematico. Nel seguito della trattazione si farà ampio riferimento alla nomenclatura utilizzata da tale standard al quale si rimanda per maggiori approfondimenti (vedi Riferimenti, documento Posta Certificata Allegato Tecnico ). 3.1 IL DEPOSITO DI UN ATTO Il deposito di un atto consiste nel suo complesso in un flusso attivato da un Avvocato e avente come destinatario un Ufficio Giudiziario e in un flusso di risposta che segnala l esito del deposito. Come passo intermedio è previsto l invio da parte del GC di un ulteriore messaggio di risposta che fornisce l indicazione dell ora in cui il deposito si intende effettuato 1. Tali flussi, realizzati per il tramite delle varie entità tecnico-organizzative del PCT, sono rappresentati nella figura che segue: 1 Solamente nel caso in cui vengano superati i controlli formali eseguiti sulla busta ricevuta. PAGINA 11 DI 92
Figura 2 Sequence del deposito atto Le interazioni tra PdA e GC avvengono attraverso lo scambio di messaggi basati su protocollo SMTP. Il GC riceve tali messaggi all indirizzo gestorecentrale@processotelematico. giustizia.it. I messaggi hanno una testata SMTP standard in cui devono essere impostati correttamente (vedi Riferimenti, documento RFC822 ) almeno i parametri MSG-ID e FROM (da utilizzare per indivuare la provenienza del messaggio quando non è possibile procedere all apertura della busta ricevuta). Al PdA viene anche richiesto di implementare il servizio SMTP standard di Delivery Status Notification (DSN), che assume il valore di ricevuta debole dei messaggi di risposta trasmessi dal SICI. La ricezione del DSN da parte del GC consente di controllare il corretto completamento del flusso logico della funzione. 3.1.1 Fase di trasmissione dell atto Come anticipato precedentemente, la sequenza dei messaggi scambiati tra PdA e GC nella fase di trasmissione dell atto può dare luogo a diverse alternative in funzione dell esito dei controlli operati dal GC sulla busta ricevuta. Se tale busta è formalmente corretta il messaggio PAGINA 12 DI 92
trasmesso è di attestazione temporale; altrimenti viene prodotto e spedito un messaggio di notifica eccezione 2 che segnala l impossibilità di inoltrare l atto a destinazione. Nel caso in cui il messaggio di inoltro atto ricevuto dal PdA sia corretto la sequenza e il tipo di messaggi scambiati è indicata nello schema seguente: Figura 3 - Sequence del deposito atto in caso di attestazione temporale Nel caso in cui il GC riscontri un errore nel messaggio di inoltro dell atto, oltre a non procedere al deposito presso il GL, invia al PdA un messaggio di notifica eccezione; sarà cura del PdA rimuovere l errore che ha prodotto la non conformità della busta e provvedere ad una nuova trasmissione. Figura 4 - - Sequence del deposito atto in caso di notifica di eccezione 2 L invio di un messaggio di notifica eccezione richiede comunque il soddisfacimento dei requisiti minimi di entificazione del PdA mittente cui spedire il messaggio di risposta. PAGINA 13 DI 92
Il GC svolge quindi una funzione di garante del processo di inoltro assicurando che gli atti informatici depositati presso i GL non contengano errori attribuibili alle attività svolte dai PdA, ma solo eventualmente ascrivibili ad operazioni svolte in locale dall Avvocato in fase di formazione dell atto informatico. Nel seguito del documento viene descritta la struttura applicativa di ciascun messaggio generato nella fase di trasmissione dell atto e in allegato vengono forniti i DTD di ciascuna struttura XML utilizzata. 3.1.1.1 Struttura del messaggio di inoltro atto La struttura del messaggio SMTP di inoltro atto proveniente da un PdA è illustrata nella figura che segue: Figura 5 - - S/MIME di Inoltro Atto Essa è costituita da un S/MIME, cioè da una struttura MIME sottoscritta da parte del PdA con proprio certificato server, a titolo di verifica della integrità del messaggio. Pertanto al suo interno è riconoscibile: una struttura MIME contenente l atto informatico e le informazioni di inoltro; l hash del MIME, cioè la registrazione in formato binario che contiene l impronta del documento, firmata secondo le modalità tecniche previste dal D.P.R. 513/97 e dalle relative regole tecniche (D.P.C.M. 8/02/99). il Certificato del PdA, ossia una struttura dati tipo X.509. I dati forniscono informazioni sul possessore del certificato, il firmatario del certificato, la versione, il numero seriale, l algoritmo di firma, il periodo di valità, la corrispondente chiave pubblica e altri dati. Le parti costituenti la struttura MIME sono appresso descritte. File InfoInoltro.xml Il file InfoInoltro.xml contiene le informazioni di servizio per il GC. Tali informazioni consentono il routing del messaggio e la verifica dei dati di certificazione. Il file ha la seguente struttura: PAGINA 14 DI 92
Figura 6 Struttura del file InfoInoltro.xml IdMsgPdA. Riporta l entificativo univoco del messaggio generato dal PdA. Tali dati sono: CodicePdA = E il codice entificativo del PdA. Anno = E l anno di generazione del messaggio. IdMsg = E un progressivo numerico univoco nell ambito dell anno. Mittente. CodiceFiscale = È il codice fiscale dell Avvocato che ha originato il messaggio. L attributo ruolo indica il ruolo assunto dal mittente (al momento Avvocato ). Destinatario. CodiceUG = È il codice entificativo dell UG destinatario. L attributo tipo indica il tipo di destinatario (al momento Ufficio ). Al momento è previsto un solo destinatario. IdMsgMitt. IdMsgMitt = È l entificato assegnato dall Avvocato all atto informatico. File Atto.enc Il file Atto.enc è l atto informatico prodotto dall Avvocato, criptato utilizzando la chiave pubblica di cifratura dell UG destinatario. Il Punto di Accesso non entra nel merito del formato e del contenuto di questo file, che viene inoltrato verso il Gestore Centrale (e da questi verso il Gestore Locale) senza nessuna elaborazione. Il Gestore Locale dell Ufficio Giudiziario destinatario potrà poi decrittarlo con la propria chiave privata, per verificarne la valità formale e del contenuto. File Certificazione.xml.p7m Il file Certificazione.xml.p7m può mancare nella busta di inoltro atto se il PdA non dispone delle informazioni atte a certificare l Avvocato. PAGINA 15 DI 92
Per certificazione del difensore si intende l attestazione di iscrizione all'albo, all albo speciale, al registro dei praticanti abilitati ovvero di possesso della qualifica che legittima l esercizio della difesa e l' assenza di cause ostative allo svolgimento dell'attività difensiva. La certificazione del difensore è svolta dal Punto di Accesso, qualora questo sia gestito da un consiglio dell'ordine degli avvocati o dal Consiglio nazionale forense. Il Consiglio nazionale forense compie il servizio di certificazione dei difensori per i propri iscritti o per gli iscritti dei consigli dell'ordine, su delega di questi ultimi. Qualora il Punto di Accesso non effettui la certificazione del difensore, vi provvede il Gestore Centrale, sulla base di copia dell'albo fornita al Ministero della giustizia e aggiornata dai consigli dell'ordine degli avvocati e dal Consiglio nazionale forense. Se presente, tale file è firmato dal PdA (firma server) ed ha la seguente struttura: Figura 7 - Struttura del file Certificazione.xml CodiceFiscale. CodiceFiscale = È il codice fiscale dell Avvocato che si certifica (deve coincere con InfoInoltro/Mittente/CodiceFiscale). DatiCertificazione. Riporta i dati risultanti nell albo elettronico all atto della certificazione CodiceOrdine = E l organizzazione (CdO) che ha fornito i dati per la certificazione dello status dell Avvocato. CodiceStatus = E il codice dello status professionale dell Avvocato risultante all atto della certificazione (attivo, sospeso, radiato, ecc.). Data = E la data in cui viene eseguita la certificazione. Ora = E l ora in cui viene eseguita la certificazione. EntitaCertificante. EntitaCertificante = In questo caso è il codice del PdA che ha eseguito la certificazione. PAGINA 16 DI 92
3.1.1.2 Struttura del messaggio di attestazione temporale Se la busta ricevuta è formalmente corretta, il GC genera e trasmette al PdA da cui ha ricevuto la richiesta di inoltro dell atto un messaggio di Attestazione temporale, la cui struttura è la seguente: Figura 8 MIME di Attestazione temporale Il messaggio contiene allegato all interno della struttura MIME il file Attestazione.xml.p7m che ha la seguente struttura: Figura 9 - Struttura del file Attestazione.xml IdMsgSMTP. In questo caso non è valorizzato (tale elemento è alternativo rispetto a i due successivi). IdMsgMitt. IdMsgMitt = È l entificato assegnato dall Avvocato all atto informatico (ricavato da InfoInoltro/IdMsgMitt) IdMsgPdA. È l entificato del messaggio di inoltro atto generato dal PdA (ricavato da InfoInoltro/IdMsgPdA) CodicePdA = E il codice entificativo del PdA. Anno = E l anno di generazione del messaggio. IdMsg = E un progressivo numerico univoco nell ambito dell anno. PAGINA 17 DI 92
DatiAttestazione. Contiene l impronta della busta ricevuta (nel formato S/MIME) e la data e ora dell evento di attestazione temporale Impronta = Impronta del file S/MIME ricevuto dal PdA Data = Data di produzione dell attestazione temporale Ora = Ora di produzione dell attestazione temporale 3.1.1.3 Struttura del messaggio di notifica eccezione Qualora il GC riscontri un errore nella formazione della busta di inoltro atto, oltre a non eseguire il deposito dell atto, genera e trasmette al PdA da cui ha ricevuto la richiesta di inoltro dell atto un messaggio di Notifica eccezione. Il messaggio ha la seguente struttura: Figura 10 MIME di Notifica eccezione All interno della struttura MIME è presente in allegato il file Eccezione.xml che ha la seguente struttura: Figura 11 - Struttura del file Eccezione.xml IdMsgSMTP. IdMsgSMTP = È l entificativo SMTP del messaggio ricevuto (parametro Message-ID). Tale entificativo potrebbe costituire l unico modo di entificare il messaggio, qualora non fosse possibile eseguirne lo sbustamento. PAGINA 18 DI 92
IdMsgPdA. È l entificato del messaggio di inoltro atto generato dal PdA (ricavato da InfoInoltro/IdMsgPdA) CodicePdA = E il codice entificativo del PdA. Anno = E l anno di generazione del messaggio. IdMsg = E un progressivo numerico univo nell ambito dell anno. DatiEccezione. CodiceEccezione = È il codice entificativo dell errore riscontrato. DescrizioneEccezione = È la descrizione dell errore riscontrato. 3.1.2 Fase di trasmissione dell esito dell atto La sequenza e il tipo di messaggi scambiati in fase di trasmissione dell esito dell atto è indicata nello schema seguente: Figura 12 Sequence del deposito atto Fase di trasmissione dell esito dell atto 3.1.2.1 Struttura del messaggio di comunicazione esito Quando il GC riceve un messaggio di esito atto dal GL, attraverso l entificativo del messaggio (IdMsgGC) ricava tutte le informazioni necessarie per generare e recapitare al PdA un messaggio di Comunicazione esito. Il messaggio ha la seguente struttura: PAGINA 19 DI 92
Figura 13 MIME di Comunicazione esito Il messaggio contiene allegato all interno della struttura MIME il file EsitoAtto.xml.p7m, firmato dall UG. Tale file ha la seguente struttura: Figura 14 - Struttura del file EsitoAtto.xml IdMsgMitt. IdMsgMitt = È l entificato assegnato dall Avvocato all atto informatico (ricavato da InfoInoltro/IdMsgMitt) IdMsgPdA. È l entificato del messaggio di inoltro atto generato dal PdA (ricavato da InfoInoltro/IdMsgPdA) CodicePdA = E il codice entificativo del PdA. Anno = E l anno di generazione del messaggio. IdMsg = E un progressivo numerico univo nell ambito dell anno. DatiEsito. Impronta = Contiene l impronta del file Atto.enc. NumeroRuolo = Contiene il numero di ruolo assegnato al fascicolo. (Presente PAGINA 20 DI 92
solamente se l atto depositato era una iscrizione a ruolo). CodiceEsito = Contiene il codice dell esito dell atto depositato. DescrizioneEsito = Contiene la descrizione dell esito dell atto depositato. Data = E la data in cui è stato generato l esito. Ora = E l ora in cui è stato generato l esito. 3.2 L INVIO DI UN BIGLIETTO DI CANCELLERIA La funzione in oggetto prevede l invio di un messaggio di posta elettronica certificata (il biglietto di cancelleria) alla CPECPT di un Avvocato, e un flusso di risposta, di direzione opposta, innescato dalla produzione automatica della ricevuta di avvenuta consegna da parte del sistema di Posta Elettronica Certificata del Processo Telematico (PECPT) del PdA che gestisce la CPECPT. Giova ricordare che nell ambito dei meccanismi di scambio previsti dalla Posta Certificata del Processo Telematico il sistema PECPT del PdA deve generare anche una ricevuta di presa in carico. Tale ricevuta viene prodotta dal server di dominio del sistema PECPT del PdA ed è destinata al corrispondente server mittente del GC. Il flusso del biglietto di cancelleria è originato dall azione di un cancelliere presso un UG e sfrutta il corrispondente GL per la trasmissione della richiesta al GC (ComunicazioneUG). Il contenuto del messaggio ricevuto dal GC viene immesso nel circuito di Posta Certificata del Processo Telematico e trasmesso al destinatario utilizzando come mittente la CPECPT del GL che ha inoltrato la richiesta (<codicegl>@processotelematico.giustiziacert.it). Quando la CPECPT mittente riceve la ricevuta di avvenuta consegna il GC attiva un flusso di elaborazione che genera un messaggio di risposta verso il GL (Ricevuta Comunicazione). Lo schema seguente illustra la sequenza dei messaggi scambiati: PAGINA 21 DI 92
Figura 15 Sequence dell invio di un biglietto di cancelleria 3.2.1 Il messaggio di biglietto cancelleria Ricevuto il messaggio ComunicazioneUG da parte del GL, il servizio SMTP del GC genera un messaggio di Posta Certificata del Processo Telematico che ha la seguente struttura: Figura 16 S/MIME del Biglietto di Cancelleria Il messaggio riporta come destinatario, la CPECPT dell Avvocato cui la comunicazione è destinata, e come mittente la CPECPT del GL dal quale è stata ricevuta la comunicazione. All interno di Postacert.eml è allegato il file Comunicazione.xml.p7m, firmato dall UG che lo ha generato (firma server), che ha la seguente struttura: PAGINA 22 DI 92
Figura 17 - Struttura del file Comunicazione.xml dove: NumeroRuolo = Numero di iscrizione a ruolo del fascicolo cui si riferisce il biglietto di cancelleria Oggetto = Oggetto del biglietto Contenuto = Testo della comunicazione CodiceUG = Codice dell Ufficio Giudiziario mittente CodiceFiscaleDestinatario = Codice Fiscale dell Avvocato destinatario PAGINA 23 DI 92
4 CONSULTAZIONI Nell ambito del Processo Civile Telematico l attuale sistema PolisWeb fornisce una serie di servizi informativi riguardanti sia la giurisprudenza che la gestione operativa dei fascicoli e delle udienze del Contenzioso Civile relative ad ogni singolo Ufficio Giudiziario. Ogni funzionalità di consultazione realizzata nel sottosistema PolisWeb è di tipo sincrono e prevede un flusso che si scompone in: flusso di richiesta verso l Ufficio Giudiziario; flusso di risposta dall Ufficio Giudiziario. Il flusso di consultazione è sempre attivato dall utente (al momento un Avvocato) che invia la propria richiesta all Ufficio Giudiziario transitando per il Gestore Centrale. All interno dell UG il sottosistema Gestore Locale predispone le informazioni ottenute a seguito dell interrogazione del SICI e del sottosistema di gestione del fascicolo informatico (repository documentale) e le inoltra al PolisWeb, per il tramite del GC. Il Gestore Locale implementa i propri servizi di consultazione attraverso dei Web Service e PolisWeb interagisce con essi utilizzando il protocollo di trasporto HTTPS e la serializzazione dei messaggi nel formato XML/SOAP. Le funzionalità fornite da un Web Service e le relative regole di invocazione vengono descritte in interfacce chiamate WSDL. Nella figura successiva è rappresentato il ma di sequenza relativo alla consultazione dei procedimenti personali e degli atti tramite l applicazione Polis Web fornita sul Punto di accesso. PAGINA 24 DI 92
Figura 18 - Sequence Consultazione Web L interfaccia applicativa permette l attivazione di PolisWeb, installato presso un Punto di Accesso, a seguito dell autenticazione effettuata e delegata al Punto di Accesso stesso. A seguito dell autenticazione di un utente da parte del Punto di Accesso, PolisWeb può essere attivato tramite l interfaccia applicativa che espone e attraverso la quale riceve i parametri entificativi dell utente e della sessione utente. PAGINA 25 DI 92
4.1 CARATTERISTICHE DI POLISWEB PolisWeb per il Processo Telematico è costituita da un applicazione Web basata sul modello J2EE. La soluzione architetturale e tecnologica di PolisWeb prevede l utilizzo di un Web Server che implementi una strong authentication client tramite certificati digitali e di Jboss come container per la tecnologia java utilizzata (Jsp, Servlet, Bean). Per il progetto del Processo Telematico si è adottato Linux come sistema operativo dei sistemi server, e quindi anche per PolisWeb presso il Punto di Accesso è consigliata l adozione di Linux. PolisWeb integrato e configurato presso il Punto di Accesso, non necessita di un Database. Le informazioni di configurazione sono definite all interno di file nel filesystem. Le informazioni relative agli utenti non sono gestite da PolisWeb ma ricevute, e ritenute vale, dall interfaccia per il Punto di Accesso. Si precisa comunque, date le caratteristiche open-source dei prodotti tecnologici utilizzati per PolisWeb, che il sistema operativo Microsoft Windows può essere valutato come ambiente server per il PolisWeb presso il Punto di Accesso. Tra le caratteristiche di PolisWeb, si ricorda inoltre la sua configurabilità. La configurabilità di PolisWeb nella Fase 1 del Processo Telematico, permette al Punto di Accesso una minima personalizzazione dell Interfaccia Grafica per l utente. Con la personalizzazione dei loghi, delle intestazioni, dei colori è possibile, ad esempio, allineare l interfaccia utente di PolisWeb con alcune preferenze adottate dal Punto di Accesso. Nei paragrafi che seguono sono fornite le informazioni relative all Interfaccia Applicativa tra Punto di Accesso e PolisWeb, con l indicazione dei protocolli di comunicazione adottati. Nella tabella seguente sono riepilogate le caratteristiche tecnologiche di PolisWeb. CARATTERISTICA DESCRIZIONE Tipo Applicazione Applicazione Web Java Sistema Operativo Linux (Windows 2000 Server) SERVER Java Virtual Machine 1.4.2 SERVER Web Server Apache. SERVER Web Container Tomcat. SERVER Database Non necessario. SERVER Configurabilità Alcune caratteristiche del Front-End. SERVER Interfaccia Applicativa Parametri Intestazione Richieste http Parametri Intestazione Risposte http Protocollo PA-PW http Protocollo PW-GC https con mutua autenticazione PAGINA 26 DI 92
Browser supportati Configurazione browser Microsoft Internet Explorer, Netscape, Mozilla. CLIENT Utilizzati Cookie e java script lato client. CLIENT Tabella 1 - Caratteristiche di PolisWeb per il Punto di Accesso 4.2 ARCHITETTURA E FLUSSI DI COLLOQUIO TRA PUNTO ACCESSO E POLISWEB PolisWeb presso il Punto di Accesso permette agli utenti del Processo Telematico di accedere alle informazioni di Back-End presso gli Uffici Giudiziari, per il tramite del Gestore Centrale (Modalità Internet). Certificato Digitale Certificato Digitale https https https http http https https https Avvocato Studio Avvocato Internet Sistema Punto di Accesso Intranet Punto di Accesso Sistema PolisWeb - Le richieste utente sono gestite dal web server del Punto di Accesso e inoltrate al Web Server di PolisWeb. - Le risposte html di PolisWeb sono inviate all'utente dal Web Server del Punto di Accesso. Interdominio Sistema Gestore Centrale Figura 19 Architettura per PolisWeb nel Punto di Accesso Si precisa che il precedente schema è stato volutamente rappresentato con un immagine e non attraverso un ma UML, per dare la percezione schematica della relazione tra il sistema del Punto di Accesso e PolisWeb. Si precisa che essendo Polis Web multipiattaforma, l applicazione potrà essere opzionalmente installata sulla stessa macchina del Punto di Accesso. Nei paragrafi successivi è riportata la descrizione dei flussi tra PA e PW attraverso un ma di sequenza. Il Punto di Accesso si interpone tra le richieste dell utente e PolisWeb. Le richieste effettuate dall utente, tramite browser web, sono autenticate dal Punto di Accesso (smart-card). A seguito dell autenticazione dell utente, il Punto di Accesso può attivare PolisWeb tramite l interfaccia applicativa esposta. PolisWeb è installato presso la Server Farm del punto di accesso e isolato verso l esterno (Internet, Interdominio, altro). Nel colloquio tra il Punto di Accesso e PolisWeb si evenziano le seguenti esigenze: Attivazione di una sessione utente di PolisWeb. Richiesta di Consultazione Informazioni di PolisWeb. Chiusura di una sessione utente di PolisWeb. Gestione delle eccezioni. I mi di sequenza, di seguito illustrati, permettono di definire il flusso di colloquio tra il Punto di Accesso e PolisWeb. PAGINA 27 DI 92
Attivazione Sessione Utente di PolisWeb Figura 20 Sequenza Messaggi PA / FE-PW-PA- Attivazione Sessione Spiegazione: A seguito della richiesta di accesso all area Privata di PolisWeb da parte di un utente autenticato dal Punto di Accesso, il PdA si interfaccia a PolisWeb chiedendo l attivazione di una sessione utente. L interfaccia applicativa di PolisWeb per l attivazione della sessione utente prevede una serie di parametri descritti in dettaglio nel seguito di questa sezione del documento. PolisWeb, a seguito della richiesta di attivazione di una sessione utente effettua il controllo dei parametri dell interfaccia di attivazione, forniti dal Punto di Accesso. L interfaccia di attivazione e i parametri di interscambio con PolisWeb sono descritti nel paragrafo 4.3.1 (JPW_COD_FISCALE, JPW_COGNOME, JPW_NOME, JPW_DT_ULTIMO_ACCESSO, JPW_INFO_PA). Superati i controlli dei parametri (in caso contrario è attivata un eccezione applicativa da parte di PolisWeb trattata in particolare nell ultimo ma), PolisWeb attiva la sessione utente in base all utente entificato dal Codice Fiscale ricevuto come parametro. L attivazione della sessione prevede il controllo da parte di PolisWeb che, per il Codice Fiscale corrente, non risulti già attiva una sessione (eccezione). A seguito dell attivazione della sessione utente, PolisWeb indivua la pagina di default da presentare all utente a seguito dell attivazione nell area privata. PolisWeb infine risponde al Punto di Accesso con la pagina html, indicando il Codice Ritorno 200 per la corretta attivazione della sessione utente e il cookie per le informazioni entificative della sessione di PolisWeb. PAGINA 28 DI 92
Consultazione Informazioni di PolisWeb Figura 21 Sequenza Messaggi PA / FE-PW-PA- Consultazione Spiegazione: Il dialogo tra Punto di Accesso e PolisWeb è basato sullo scambio delle informazioni previste dall interfaccia applicativa di PolisWeb per ogni richiesta effettuata dal Punto di Accesso. Il Punto di Accesso richiede una singola pagina di Consultazione di PolisWeb, fornendo i parametri dell interfaccia e il Cookie di sessione ricevuto da PolisWeb dopo l attivazione della sessione utente attiva. PolisWeb controlla i parametri di interfaccia, che prevedono anche il cookie di sessione utente. Il cookie deve determinare in PolisWeb una corrispondenza tra una sessione vala e associata in precedenza al Codice Fiscale, ricevuto nella richiesta corrente (altrimenti Eccezione). PolisWeb determina il contenuto html da fornire al Punto di Accesso, in base alla funzione richiesta. PolisWeb infine risponde al Punto di Accesso con la pagina html, indicando il Codice Ritorno 200 per la corretta attivazione della sessione utente e il cookie per le informazioni entificative della sessione di PolisWeb. PAGINA 29 DI 92
Chiusura Sessione Utente di PolisWeb Figura 22 Sequenza Messaggi PA / FE-PW-PA- Chiusura Sessione Spiegazione: La chiusura della sessione utente in PolisWeb può avvenire attraverso la richiesta diretta della funzione di logout da parte dell utente, attraverso l interfaccia utente di PolisWeb fornita all utente dal Punto di Accesso. PolisWeb espone al Punto di Accesso, un interfaccia applicativa per richiedere direttamente a PolisWeb la chiusura della sessione utente. Questa funzionalità può risultare utile nel caso in cui il Punto di Accesso determini una propria chiusura di sessione con l utente (timeout). PolisWeb a seguito della richiesta di chiusura di una sessione utente, da Parte del Punto di Accesso, controlla la corrispondenza tra cookie di sessione attivata e il codice fiscale corrispondente (Eccezione se non corrisponde). PolisWeb, a seguito della chiusura di una propria sessione utente (anche nel caso di richiesta da parte dell utente), risponde al Punto di Accesso con un contenuto html, riportando il Codice Ritorno 799 ad indicare l avvenuta chiusura della sessione utente. PAGINA 30 DI 92
Eccezione PolisWeb in caso di ricezione di parametri errati dal Punto di Accesso Figura 23 Sequenza Messaggi PA / FE-PW-PA- Eccezione Parametri Errati Come descritto nei ma di sequenza precedenti, in caso di controlli non vali PolisWeb determina una Eccezione segnalata al Punto di Accesso attraverso il Codice di Ritorno. L elenco dei codici previsti è riportato successivamente, e nel caso dei parametri errati è impostato a 700. Eccezione PolisWeb in caso di richiesta di attivazione di una sessione per utente connesso Figura 24 Sequenza Messaggi PA / FE-PW-PA- Eccezione Utente Connesso PAGINA 31 DI 92
Nel caso di richiesta dell attivazione per un utente che risulta già connesso il codice di ritorno impostato da PolisWeb per il Punto di Accesso è uguale a 701. 4.3 INTERFACCE PER IL PUNTO DI ACCESSO Di seguito sono descritte le informazioni di interscambio tra il Punto di Accesso e PolisWeb, relative a: Richiesta attivazione di una sessione utente di PolisWeb da parte del Punto di Accesso. Risposta di PolisWeb al Punto di Accesso, alla richiesta di attivazione di una sessione utente. Richiesta a PolisWeb delle pagine del front-end di consultazione dell area privata, da parte del Punto di Accesso. Risposta di PolisWeb alla richiesta da parte del Punto di Accesso delle pagine del frontend di consultazione dell area privata. Richiesta di chiusura di una sessione utente di PolisWeb da parte del Punto di Accesso. Risposta di PolisWeb al Punto di Accesso, alla richiesta di chiusura di una sessione utente. Risposte di PolisWeb al Punto di Accesso, in caso di Eccezione. 4.3.1 Richiesta Attivazione Sessione Utente PolisWeb Per l attivazione di una sessione utente di PolisWeb, da parte del Punto di Accesso è fornita un interfaccia applicativa che prevede l utilizzo del protocollo http tra PA e PW. Il PA (Client) invia la richiesta di login verso il server PolisWeb aggiungendo nella testata della richiesta client le informazioni dell'utente, indivuate a seguito di un autenticazione vala con smart-card. Sono di seguito fornite le modalità di attivazione dell interfaccia applicativa di PolisWeb e un esempio del relativo messaggio di richiesta http inviata dal PA a PW. Richiesta http inviata dal Punto di Accesso a PolisWeb per l attivazione della sessione utente: http://hostpwpa/pwprivate?action=login Esempio di Messaggio di Richiesta http inviata dal Punto di Accesso a PolisWeb Attivazione Sessione POST /pwprivate?action=login HTTP/1.0 <CR><LF> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*<CR><LF> Accept-Language: it<cr><lf> User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) <CR><LF> Host: jpolisweb:8081<cr><lf> JPW_COD_FISCALE: CPRGRGXXXXXXXXX<CR><LF> JPW_COGNOME: YYYYYYYY<CR><LF> JPW_NOME: ZZZZZZZZZ<CR><LF> JPW_DT_ULTIMO_ACCESSO: GG/MM/YYYY HH24:MI:SS<CR><LF> JPW_INFO_PA: XXXXXXXXXXXXXXXXXXXX<CR><LF> <CR><LF> PAGINA 32 DI 92
Spiegazione: Il Punto di Accesso fornisce nell intestazione del messaggio di richiesta http (Header Http_Request) inviato a PolisWeb i seguenti parametri: JPW_COD_FISCALE: rappresenta il Codice Fiscale dell utente autentificato dal Punto di Accesso. Questo parametro è obbligatorio. Il Codice Fiscale dell utente è utilizzato da PolisWeb per l attivazione della sessione utente. Per ogni singolo utente è consentita l attivazione di una sola sessione contemporanea, e per ogni richiesta di informazione è verificata la presenza di una sessione attiva vala in PolisWeb. JPW_COGNOME: rappresenta il Cognome dell utente. Permette di visualizzare sull Interfaccia Utente di PolisWeb il nominativo dell utente attivo nella sessione visualizzata nel browser. JPW_NOME: rappresenta il Nome dell utente. Vedi JPW_COGNOME. JPW_DT_ULTIMO_ACCESSO: rappresenta la data di ultimo accesso da parte dell utente al sistema di consultazione PolisWeb per il Processo Telematica dal Punto di Accesso. Permette di visualizzare sull Interfaccia Utente di PolisWeb la data di ultimo accesso dell utente e di poter utilizzare correttamente la consultazione dell Agenda relativa agli ultimi eventi. JPW_INFO_PA: rappresenta un parametro, utile al Punto di Accesso, per l interscambio di informazioni con PolisWeb. Questo parametro non è necessario a PolisWeb, ma è reso disponibile al Punto di Accesso. Questa informazione è restituita, al Punto di Accesso, nel messaggio di risposta. Un utilizzo pratico può essere ad esempio ricevere e restituire una chiave della sessione utente del Punto di Accesso. 4.3.2 Risposta PolisWeb alla richiesta di Attivazione Sessione Utente PolisWeb PolisWeb alla richiesta di attivazione di una nuova sessione utente risponde al client del Punto di Accesso con un messaggio riportante nella header http i parametri di interfaccia applicativa e il cookie relativo alla sessione utente attivata in PolisWeb. Esempio di Risposta http resituita da PolisWeb al Punto di Accesso HTTP/1.1 200 OK Content-Type: text/html; charset=iso-8859-1 Connection: close Date: Tue, 21 Oct 2003 16:03:01 GMT Server: Apache Tomcat/4.0.3 (HTTP/1.1 Connector) Set-Cookie: JSESSIONID= A889EA5555C7A387F36A7A2892045FFD;Path=/ JPW_CODICE_RITORNO: 200<CR><LF> JPW_DESCR_SEGNALAZIONE: OK<CR><LF> JPW_INFO_PA: XXXXXXXXXXXXXXXXXXXX<CR><LF> <CR><LF> Spiegazione: Set-Cookie: JSESSIONID= A889EA5555C7A387F36A7A2892045FFD;Path=/: rappresenta l informazione entificativa della sessione utente di PolisWeb. Questa informazione deve essere ritornata a PolisWeb nelle successive richieste, per associare correttamente utente e sessione utente. PAGINA 33 DI 92
JPW_CODICE_RITORNO: rappresenta il codice di ritorno previsto da PolisWeb, in base alla codifica riportata nella tabella vedi oltre. Nel caso di corretta attivazione della nuova sessione utente assume il valore 200. Per quanto riguarda le situazioni in cui PolisWeb non riesce ad attivare, o determinare, la sessione utente (ad. Es. già collegato) consultare il trattamento delle risposte Eccezioni, analizzate in ultimo. JPW_DESCR_SEGNALAZIONE: rappresenta una stringa di descrizione del codice di ritorno. Nel caso di corretta attivazione della sessione utente assume il valore di OK. JPW_INFO_PA: è il parametro ricevuto nella richiesta del Punto di Accesso. Questo parametro è restituito, senza nessun trattamento, in risposta. Si precisa che la risposta http di PolisWeb contiene oltre ai parametri di interscambio previsti con il PA, anche l html della prima pagina consultabile dall utente a seguito dell attivazione della sessione (pagina di default). Di seguito vengono elencati i Codici di Ritorno indivuati ad oggi: JPW_COD_RITORNO JPW_DESCR_SEGNALAZIONE COMMENTI PDA 200 OK Si 700 Parametro invalo o non presente. Un parametro fondamentale per l'elaborazione non e' Si presente o è invalo. Esempio mancanza del codice fiscale o dello username nella richiesta. 701 Utente già connesso. E stata trovata un'altra sessione attiva per lo stesso Si Codice Fiscale. 709 Sessione errata. Le informazioni di sessione non corrispondono ad Si una sessione vala. 710 Informazioni sessione errata. Le informazioni di sessione non corrispondono con il Si Codice Fiscale associato. 799 Chiusura sessione. L utente ha richiesto una chiusura della sessione. Si Tabella 2 - Codici Ritorno FE-PW-PA 4.3.3 Richiesta Pagine Area Privata Consultazione PolisWeb Il Punto di Accesso successivamente all attivazione della sessione di PolisWeb, deve inoltrare tutte le richieste dell utente a PolisWeb dopo aver aggiunto all intestazione della richiesta http (header http request) i parametri definiti dall interfaccia di attivazione di PolisWeb. Esempio Messaggio di Richiesta http inviata dal Punto di Accesso a PolisWeb Consultazione Informazioni POST /forms/ricercafascicolipersonali;jsession=a889ea5555c7a387f36a7a2892045ffd?action=elencofascicolipersonali HTTP/1.0<CR><LF> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*<CR><LF> Referer: http://localhost:8081/pwprivate?action=login<cr><lf> Accept-Language: it<cr><lf> Content-Type: application/x-www-form-urlencoded<cr><lf> User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) <CR><LF> Host: localhost:8081<cr><lf> Content-Length: 33<CR><LF> Pragma: no-cache<cr><lf> Cookie: JSESSIONID=A889EA5555C7A387F36A7A2892045FFD<CR><LF> JPW_COD_FISCALE: CPRGRGXXXXXXXXX<CR><LF> JPW_COGNOME: YYYYYYYY<CR><LF> JPW_NOME: ZZZZZZZZZ<CR><LF> PAGINA 34 DI 92
JPW_DT_ULTIMO_ACCESSO: GG/MM/YYYY HH24:MI:SS<CR><LF> <CR><LF> Spiegazione: Cookie: JSESSIONID=A889EA5555C7A387F36A7A2892045FFD: rappresenta l informazione entificativa della sessione utente in PolisWeb, ricevuta in risposta dal PA dopo la richiesta di attivazione della sessione utente. JPW_COD_FISCALE: rappresenta il Codice Fiscale dell utente. E obbligatorio. PolisWeb controlla l associazione del Codice Fiscale con la sessione utente entificata con le informazioni del cookie. JPW_COGNOME, JPW_NOME, JPW_DT_ULTIMO_ACCESSO: vedi descrizione fornita nella richiesta di attivazione della sessione. 4.3.4 Risposta di PolisWeb alla richiesta Pagine Area Privata Consultazione PolisWeb. La risposta fornita da PolisWeb è nello stesso formato della risposta descritta per la richiesta di attivazione della sessione utente. La risposta differisce nel contenuto l html della pagina di consultazione richiesta. 4.3.5 Richiesta Chiusura Sessione Utente PolisWeb Sono di seguito forniti le modalità di attivazione dell interfaccia applicativa di PolisWeb per la chiusura di una sessione utente, e un esempio del relativo messaggio di richiesta http inviata dal PA a PW. Richiesta http inviata dal Punto di Accesso a PolisWeb per la chiusura della sessione utente: http://hostpwpa/pwprivate?action=logout Esempio di Messaggio di Richiesta http inviata dal Punto di Accesso a PolisWeb Chiusura Sessione POST /pwprivate;jsession=a889ea5555c7a387f36a7a2892045ffd?action=logout HTTP/1.0 <CR><LF> Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*<CR><LF> Referer: http://localhost:8081/pwprivate?action=login<cr><lf> Accept-Language: it<cr><lf> Content-Type: application/x-www-form-urlencoded<cr><lf> User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) <CR><LF> Host: localhost:8081<cr><lf> Content-Length: 33<CR><LF> Pragma: no-cache<cr><lf> Cookie: JSESSIONID=A889EA5555C7A387F36A7A2892045FFD<CR><LF> JPW_COD_FISCALE: CPRGRGXXXXXXXXX<CR><LF> JPW_COGNOME: YYYYYYYY<CR><LF> JPW_NOME: ZZZZZZZZZ<CR><LF> JPW_DT_ULTIMO_ACCESSO: GG/MM/YYYY HH24:MI:SS<CR><LF> <CR><LF> Analogamente ai messaggi di richiesta precedenti, per richiedere la chiusara forzata di una specifica sessione utente, occorre attivare l azione di Logout indicando le informazioni relative all utente (Cookie e Codice Fiscale). PAGINA 35 DI 92
4.3.6 Risposta PolisWeb per richiesta Chiusura Sessione Utente PolisWeb PolisWeb alla richiesta di chiusura di una sessione utente, dopo aver chiuso la sessione utente, risponde al client del Punto di Accesso con un messaggio riportante nella header http i parametri di interfaccia applicativa previsti. Esempio di Risposta http restituita da PolisWeb al Punto di Accesso per Richiesta Chiusura Sessione HTTP/1.1 200 OK Content-Type: text/html; charset=iso-8859-1 Connection: close Date: Tue, 21 Oct 2003 16:03:01 GMT Server: Apache Tomcat/4.0.3 (HTTP/1.1 Connector) Set-Cookie: JSESSIONID= A889EA5555C7A387F36A7A2892045FFD;Path=/ JPW_CODICE_RITORNO: 799<CR><LF> JPW_DESCR_SEGNALAZIONE: OK<CR><LF> JPW_INFO_PA: XXXXXXXXXXXXXXXXXXXX<CR><LF> <CR><LF> Spiegazione: JPW_COD_RITORNO: con il valore di Codice di Ritorno 799 il punto di accesso ha la conferma della chiusura della sessione e può redirigere l utente in una funzionalità del Punto di Accesso. 4.3.7 Eccezioni Con il concetto di eccezione, relativamente all interfaccia tra PA e PW, si intendono situazioni in cui ad una precisa richiesta del Punto di Accesso PolisWeb non può rispondere come dovuto. Queste eccezioni possono essere dovute sia ad errate impostazione dei parametri di attivazione del Punto di Accesso che per condizioni di stato di PolisWeb. Le eccezioni ad oggi indivuate sono le seguenti: 700 Parametro invalo o non presente. Un parametro dell interfaccia di attivazione di PolisWeb, fondamentale per l elaborazione della richiesta, non è fornito o è invalo. 701 Utente già connesso. Nell elaborazione della richiesta di attivazione di una nuova sessione utente, è trovata un altra sessione attiva per lo stesso Codice Fiscale. 709 Sessione errata. Le informazioni di sessione fornite a PolisWeb attraverso l interfaccia di attivazione, non corrispondono ad una sessione vala. 710 Informazione sessione errata. Le informazioni di sessione fornite a PolisWeb attraverso l interfaccia di attivazione, non corrispondono con il Codice Fiscale associato. Esempio di Risposta http restituita da PolisWeb al Punto di Accesso in caso di Eccezione HTTP/1.1 200 OK Content-Type: text/html; charset=iso-8859-1 Connection: close Date: Tue, 21 Oct 2003 16:03:01 GMT Server: Apache Tomcat/4.0.3 (HTTP/1.1 Connector) Set-Cookie: JSESSIONID= A889EA5555C7A387F36A7A2892045FFD;Path=/ JPW_CODICE_RITORNO: 700<CR><LF> JPW_DESCR_SEGNALAZIONE: Parametro invalo o non presente.<cr><lf> JPW_INFO_PA: XXXXXXXXXXXXXXXXXXXX<CR><LF> <CR><LF> PAGINA 36 DI 92
Spiegazione: JPW_COD_RITORNO: con il valore di Codice di Ritorno 700 il punto di accesso ha l evenza di una situazione di Eccezione. In caso di un eccezione il Punto di Accesso può intercettare e condizionare il flusso http. La risposta di PolisWeb contiene comunque l html di visualizzazione dell eccezione riscontrata. 4.4 INTERFACCE PER IL BACK-END DI POLIS WEB Di seguito vengono descritte le interfacce utilizzate da PolisWeb per il colloquio con il backend. La documentazione completa del WSDL (con i servizi ed i tipi di dati) è riportata negli Allegati al paragrafo 6.3 (jpw-backend-wsdl e jpw-backend-wsdl-type). Figura 25. Rappresentazione grafica dell interfaccia WSDL per il back end di PolisWb Operazione: {urn:jpw-backend}execute Descrizione: esegue l interrogazione specificata Parametri: name: nome dell interrogazione, descritta come stringa, presente nel binding SOAP come elemento del body di richiesta valueset: insieme dei parametri necessari all interrogazione, descritto da un opportuno tipo XML, presente nel binding SOAP come elemento del body di richiesta orderby: ordinamenti dell insieme dei risultati, descritto da un opportuno tipo XML, presente nel binding SOAP come elemento del body di richiesta Risultato: Lista di record risultato, codificato da opportuno tipo XML, presente nel binding SOAP come elemento del body di risposta. Operazione: {urn:jpw-backend}getrowclassdescriptor Descrizione: ritorna il descrittore del tipo di record specificato. Parametri: classname: tipo di record da descrivere, descritto come stringa, presente nel binding SOAP come elemento del body di richiesta. Risultato: descrittore del record specificato, codificato da opportuno tipo XML, presente nel binding SOAP come elemento del body di risposta. PAGINA 37 DI 92
Operazione: {urn:jpw-backend}getservicedescriptor Descrizione: ottiene il descrittore per l interrogazione specificata. Parametri: servicename: nome del servizio da descrivere, descritto come stringa, presente nel binding SOAP come elemento del body di richiesta. Risultato: descrittore del servizio specificato, codificato da opportuno tipo XML, presente nel binding SOAP come elemento del body di risposta. Operazione: {urn:jpw-backend}getservicenames Descrizione: ritorna la lista dei nomi dei servizi disponibili Parametri: nessuno Risultato: array di stringhe con i nomi delle interrogazioni, codificato da tipo XML, presente nel binding SOAP come elemento del body di risposta. 4.4.1 Esempio Messaggio Richiesta Soap Il messaggio di seguito riportato rappresenta un esempio di Messaggio SOAP di richiesta di un servizio di back-end, preparato da PolisWeb e inviato al Gestore Locale. <?xml version="1.0" encoding="utf-8"?> <soap-env:envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"> <soap-env:header/> <soap-env:body> <execute> <name>ricercainformazionifascicolipertipo</name> <valueset> <value name="utente" type="string">vntlsnxxxxxxxxxx</value> <value name="ufficio" type="string">xxxxxxxx</value> <value name="sezione" type="string">xx</value> <value name="numero" type="string"/> <value name="tipo" type="string">rgn</value> <value name="anno" type="string">1999</value> <value name="pagesize" type="integer">5</value> <value name="pageno" type="integer">1</value> </valueset> <orderby> <entry property="annoruolo" mode="asc"/> <entry property="numeroruolo" mode="asc"/> </orderby> </execute> </soap-env:body> </soap-env:envelope> Nella struttura del messaggio di esempio si evenziano gli elementi previsti per l impostazione: PAGINA 38 DI 92
Del servizio richiesto. Dei parametri di ricerca. Dei parametri di ordinamento. 4.4.2 Esempio Messaggio Risposta Soap Il messaggio di seguito riportato rappresenta un esempio di Messaggio SOAP di risposta di un servizio di back-end, ricevuto da PolisWeb e generato dal Gestore Locale. <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/xmlschema-instance" SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap- ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/xmlschema"> <SOAP-ENV:Body> <ns1:executeresponse xmlns:ns1="urn:jpw-backend"> <ns1:rowlist available="9" time="2003-10-21 16:00:00"> <ns1:row class="evento"> <ns1:property name="fascicolo" type="string"><![cdata[459]]></ns1:property> <ns1:property name="codiceufficio" type="string"><![cdata[00153]]></ns1:property> <ns1:property name="annoruolo" type="integer"><![cdata[2002]]></ns1:property> <ns1:property name="numeroruolo" type="string"><![cdata[00000165]]></ns1:property> <ns1:property name="dataudienza" type="date"><![cdata[09/04/2002 00:00:00.000]]></ns1:property> <ns1:property name="giudice" type="string"><![cdata[bruno Bianchi]]></ns1:property> <ns1:property name="attoreprincipale" type="string"><![cdata[giuseppe Verdi]]></ns1:property> <ns1:property name="convenutoprincipale" type="string"><![cdata[mario Rossi]]></ns1:property> <ns1:property name="numeroattori" type="integer"><![cdata[2]]></ns1:property> <ns1:property name="numeroconvenuti" type="integer"><![cdata[3]]></ns1:property> </ns1:row> <ns1:row class="evento"> <ns1:property name="fascicolo" type="string"><![cdata[459]]></ns1:property> <ns1:property name="codiceufficio" type="string"><![cdata[00153]]></ns1:property> <ns1:property name="annoruolo" type="integer"><![cdata[2002]]></ns1:property> <ns1:property name="numeroruolo" type="string"><![cdata[00000165]]></ns1:property> <ns1:property name="dataudienza" type="date"><![cdata[09/04/2002 00:00:00.000]]></ns1:property> <ns1:property name="giudice" type="string"><![cdata[bruno Bianchi]]></ns1:property> <ns1:property name="attoreprincipale" type="string"><![cdata[giuseppe Verdi]]></ns1:property> <ns1:property name="convenutoprincipale" type="string"><![cdata[mario Rossi]]></ns1:property> <ns1:property name="numeroattori" type="integer"><![cdata[2]]></ns1:property> <ns1:property name="numeroconvenuti" type="integer"><![cdata[3]]></ns1:property> </ns1:row> <ns1:row class="evento"> <ns1:property name="fascicolo" type="string"><![cdata[459]]></ns1:property> <ns1:property name="codiceufficio" type="string"><![cdata[00153]]></ns1:property> <ns1:property name="annoruolo" type="integer"><![cdata[2002]]></ns1:property> <ns1:property name="numeroruolo" type="string"><![cdata[00000165]]></ns1:property> <ns1:property name="dataudienza" type="date"><![cdata[09/04/2002 00:00:00.000]]></ns1:property> <ns1:property name="giudice" type="string"><![cdata[bruno Bianchi]]></ns1:property> <ns1:property name="attoreprincipale" type="string"><![cdata[giuseppe Verdi]]></ns1:property> <ns1:property name="convenutoprincipale" type="string"><![cdata[mario Rossi]]></ns1:property> <ns1:property name="numeroattori" type="integer"><![cdata[2]]></ns1:property> <ns1:property name="numeroconvenuti" type="integer"><![cdata[3]]></ns1:property> </ns1:row> <ns1:row class="evento"> <ns1:property name="fascicolo" type="string"><![cdata[459]]></ns1:property> <ns1:property name="codiceufficio" type="string"><![cdata[00153]]></ns1:property> <ns1:property name="annoruolo" type="integer"><![cdata[2002]]></ns1:property> <ns1:property name="numeroruolo" type="string"><![cdata[00000165]]></ns1:property> <ns1:property name="dataudienza" type="date"><![cdata[09/04/2002 00:00:00.000]]></ns1:property> <ns1:property name="giudice" type="string"><![cdata[bruno Bianchi]]></ns1:property> PAGINA 39 DI 92
<ns1:property name="attoreprincipale" type="string"><![cdata[giuseppe Verdi]]></ns1:property> <ns1:property name="convenutoprincipale" type="string"><![cdata[mario Rossi]]></ns1:property> <ns1:property name="numeroattori" type="integer"><![cdata[2]]></ns1:property> <ns1:property name="numeroconvenuti" type="integer"><![cdata[3]]></ns1:property> </ns1:row> <ns1:row class="evento"> <ns1:property name="fascicolo" type="string"><![cdata[459]]></ns1:property> <ns1:property name="codiceufficio" type="string"><![cdata[00153]]></ns1:property> <ns1:property name="annoruolo" type="integer"><![cdata[2002]]></ns1:property> <ns1:property name="numeroruolo" type="string"><![cdata[00000165]]></ns1:property> <ns1:property name="dataudienza" type="date"><![cdata[09/04/2002 00:00:00.000]]></ns1:property> <ns1:property name="giudice" type="string"><![cdata[bruno Bianchi]]></ns1:property> <ns1:property name="attoreprincipale" type="string"><![cdata[giuseppe Verdi]]></ns1:property> <ns1:property name="convenutoprincipale" type="string"><![cdata[mario Rossi]]></ns1:property> <ns1:property name="numeroattori" type="integer"><![cdata[2]]></ns1:property> <ns1:property name="numeroconvenuti" type="integer"><![cdata[3]]></ns1:property> </ns1:row> </ns1:rowlist> </ns1:executeresponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Nella struttura del messaggio di esempio sono in evenza le informazioni di dettaglio determinate per ogni risultato elementare indivuto dalla ricerca (Riga e Attributi). PAGINA 40 DI 92
5 POSTA CERTIFICATA Il Punto di Accesso mette a disposizione di ciascun soggetto abilitato iscritto una Casella di Posta Certificata del Processo Telematico (CPECPT). La posta certificata viene utilizzata per la trasmissione di documenti informatici dall'ufficio giudiziario ad un soggetto abilitato esterno. È compito del Gestore Centrale dell accesso immettere le comunicazioni inviate dall UG nel sistema di posta certificata e gestire le ricevute di avvenuta consegna rilasciate dal PdA. Per quanto riguarda le funzioni attualmente implementate, la posta certificata viene utilizzata per l invio agli Avvocati dei Biglietti di Cancelleria da parte dell UG. Si veda il paragrafo 3.2 per una descrizione di questo flusso documentale. Le caratteristiche di un sistema di posta elettronica certificata sono riportate nel documento Allegato tecnico alle linee gua del servizio di trasmissione di documenti informatici mediante posta elettronica certificata (http://www.ctrupa.it/rete-rupa/posta-elet). Le caratteristiche specifiche della posta elettronica certificata del Processo Telematico sono invece descritte nell allegato B alle Regole Tecniche. PAGINA 41 DI 92
6 ALLEGATI 6.1 FORMATO DEI DATI Nome campo Tipo dato Lunghezza Formato / Valori ammessi Anno Char 4 CodiceEccezione Char 5 E0032 CodiceEsito Char 5 S0007 CodiceFiscale Char 16 MRORSS70E06H501P CodiceFiscaleDestinatario Char 16 MRORSS70E06H501P CodiceGC char 15 GESTORECENTRALE CodicePdA char 15 PUNTOACCESSO001 CodiceOrdine char 15 ORDINE000000001 CodiceGL char 15 CodiceStatus Char 1 A= attivo, R = Radiato, S = Sospeso CodiceUG Varchar 15 Contenuto Varchar illimitata Testo del biglietto di cancelleria Data Char 10 2003-09-16 DescrizioneEccezione Varchar 255 DescrizioneEsito Varchar 255 IdMsg Int 4 IdMsgMitt Varchar 255 IdMsgSMTP Varchar 255 Impronta Bit 160 NumeroRuolo Varchar 13 12345678/2004 Oggetto Varchar 255 Ora Char 8 13:08:09 PAGINA 42 DI 92
6.2 DTD DEI FILE XML 6.2.1 Attestazione.dtd <?xml version="1.0" encoding="utf-8"?> <!ENTITY % datapubblicazione "2003-09-16"> <!--Attestazione Temporale apposta dal Gestore Centrale.--> <!ELEMENT Attestazione ((IdMsgSMTP (IdMsgMitt, IdMsgPdA)), DatiAttestazione)> <!--IdMsgSMTP verra' utilizzato nel casi di "RicevutaAvvenutaConsegna" (Biglietto di Cancelleria).--> <!ELEMENT IdMsgSMTP (#PCDATA)> <!--IdMsgMitt, IdMsgPdA verranno utilizzati in caso di "Deposito Atto".--> <!ELEMENT IdMsgMitt (#PCDATA)> <!ELEMENT IdMsgPdA (CodicePdA, Anno, IdMsg)> <!ELEMENT CodicePdA (#PCDATA)> <!--Anno di 4 cifre. --> <!ELEMENT Anno (#PCDATA)> <!ELEMENT IdMsg (#PCDATA)> <!--Dati "in chiaro" dell'attestazione temporale.--> <!ELEMENT DatiAttestazione (Impronta, Tempo)> <!--L'attestazione temporale al momento viene effettuata sulla busta SMIME.--> <!ELEMENT Impronta (#PCDATA)> <!ATTLIST Impronta algoritmo CDATA #FIXED "SHA-1" codifica CDATA #FIXED "base64" tipoimpronta (File MIME SMIME) "SMIME" > <!ELEMENT Tempo (Data, Ora)> <!ATTLIST Tempo zona CDATA #REQUIRED > <!--Anno di 4 cifre; mese di 2 cifre; giorno di 2 cifre; carattere di separazione "-" (ISO 8601 esteso). Es.: 2003-09-16--> <!ELEMENT Data (#PCDATA)> <!--Ora di 2 cifre (formato H24); minuti di 2 cifre; secondi di 2 cifre; carattere di separazione ":". Es.: 13:08:09--> <!ELEMENT Ora (#PCDATA)><?xml version="1.0" encoding="utf-8"?> 6.2.2 Certificazione.dtd <?xml version="1.0" encoding="utf-8"?> <!ENTITY % datapubblicazione "2003-09-16"> <!--Creata dal Punto di Accesso o dal Gestore Centrale.--> <!ELEMENT Certificazione (CodiceFiscale, DatiCertificazione, EntitaCertificante)> <!ELEMENT CodiceFiscale (#PCDATA)> <!ELEMENT DatiCertificazione (CodiceOrdine, CodiceStatus, Tempo)> <!--Codice dell'albo Professionale di appartenenza.--> <!ELEMENT CodiceOrdine (#PCDATA)> <!ELEMENT CodiceStatus (#PCDATA)> <!ELEMENT Tempo (Data, Ora)> <!ATTLIST Tempo zona CDATA #REQUIRED > <!--Anno di 4 cifre; mese di 2 cifre; giorno di 2 cifre; carattere di separazione "-" (ISO 8601 esteso). Es.: 2003-09-16--> <!ELEMENT Data (#PCDATA)> <!--Ora di 2 cifre (formato H24); minuti di 2 cifre; secondi di 2 cifre; carattere di separazione ":". Es.: 13:08:09--> <!ELEMENT Ora (#PCDATA)> <!--Gestore Centrale o PdA.--> <!ELEMENT EntitaCertificante (CodicePdA CodiceGC)> <!ELEMENT CodicePdA (#PCDATA)> <!ELEMENT CodiceGC (#PCDATA)><?xml version="1.0" encoding="utf-8"?> 6.2.3 Comunicazione.dtd <?xml version="1.0" encoding="utf-8"?> <!ENTITY % datapubblicazione "2003-09-16"> <!ELEMENT Comunicazione (NumeroRuolo, Oggetto, Contenuto, CodiceUG, CodiceFiscaleDestinatario)> <!ELEMENT NumeroRuolo (#PCDATA)> <!ELEMENT Oggetto (#PCDATA)> PAGINA 43 DI 92
<!ELEMENT Contenuto (#PCDATA)> <!ELEMENT CodiceUG (#PCDATA)> <!ELEMENT CodiceFiscaleDestinatario (#PCDATA)> 6.2.4 Eccezione.dtd <?xml version="1.0" encoding="utf-8"?> <!ENTITY % datapubblicazione "2003-09-16"> <!ELEMENT Eccezione (IdMsgSMTP, IdMsgPdA, DatiEccezione)> <!ELEMENT IdMsgSMTP (#PCDATA)> <!ELEMENT IdMsgPdA (CodicePdA, Anno, IdMsg)> <!ELEMENT CodicePdA (#PCDATA)> <!--Anno di 4 cifre. --> <!ELEMENT Anno (#PCDATA)> <!ELEMENT IdMsg (#PCDATA)> <!ELEMENT DatiEccezione (CodiceEccezione, DescrizioneEccezione)> <!ELEMENT CodiceEccezione (#PCDATA)> <!ELEMENT DescrizioneEccezione (#PCDATA)> 6.2.5 EsitoAtto.dtd <?xml version="1.0" encoding="utf-8"?> <!ENTITY % datapubblicazione "2003-09-16"> <!--Esito dell'atto fornito dall'ufficio Giudiziario.--> <!ELEMENT EsitoAtto (IdMsgMitt, IdMsgPdA, DatiEsito)> <!ELEMENT IdMsgMitt (#PCDATA)> <!ELEMENT IdMsgPdA (CodicePdA, Anno, IdMsg)> <!ELEMENT CodicePdA (#PCDATA)> <!--Anno di 4 cifre. --> <!ELEMENT Anno (#PCDATA)> <!ELEMENT IdMsg (#PCDATA)> <!ELEMENT DatiEsito (Impronta, MsgEsito, Tempo)> <!--Impronta dell'atto informatico.--> <!ELEMENT Impronta (#PCDATA)> <!ATTLIST Impronta algoritmo CDATA #FIXED "SHA-1" codifica CDATA #FIXED "base64" tipoimpronta (File MIME SMIME) "File" > <!ELEMENT MsgEsito (NumeroRuolo?, CodiceEsito, DescrizioneEsito)> <!ELEMENT NumeroRuolo (#PCDATA)> <!ELEMENT CodiceEsito (#PCDATA)> <!ELEMENT DescrizioneEsito (#PCDATA)> <!ELEMENT Tempo (Data, Ora)> <!ATTLIST Tempo zona CDATA #REQUIRED > <!ELEMENT Data (#PCDATA)> <!--Anno di 4 cifre; mese di 2 cifre; giorno di 2 cifre; carattere di separazione "-" (ISO 8601 esteso). Es.: 2003-09-16--> <!ELEMENT Ora (#PCDATA)> <!--Ora di 2 cifre (formato H24); minuti di 2 cifre; secondi di 2 cifre; carattere di separazione ":". Es.: 13:08:09--> 6.2.6 InfoInoltro.dtd <?xml version="1.0" encoding="utf-8"?> <!ENTITY % datapubblicazione "2003-09-16"> <!ELEMENT InfoInoltro (IdMsgPdA, Mittente, Destinatario, IdMsgMitt)> <!ATTLIST InfoInoltro versione NMTOKEN #FIXED "%datapubblicazione;" > <!ELEMENT IdMsgPdA (CodicePdA, Anno, IdMsg)> <!ELEMENT CodicePdA (#PCDATA)> <!--Anno di 4 cifre. --> <!ELEMENT Anno (#PCDATA)> <!ELEMENT IdMsg (#PCDATA)> <!ELEMENT Mittente (CodiceFiscale)> <!ATTLIST Mittente PAGINA 44 DI 92
ruolo (Avvocato CTU) "Avvocato" > <!ELEMENT CodiceFiscale (#PCDATA)> <!ELEMENT Destinatario (CodiceUG)> <!ELEMENT CodiceUG (#PCDATA)> <!ELEMENT IdMsgMitt (#PCDATA)><?xml version="1.0" encoding="utf-8"?> 6.3 FORMATI WSDL 6.3.1 WSDL jpw-backend.wsdl services bindings porttypes messages wsconsultazione ServiceConsultazioneBinding ServiziConsultazione executerequest service wsconsultazione ports executeresponse ServiziConsultazionePort binding tns:serviceconsultazionebinding extensibi <soap:address location="http://tubero:8080/wasp/rpcrouter"/> lity getrowclassdescriptorrequest getrowclassdescriptorresponse getservicedescriptorrequest getservicedescriptorresponse getservicenamesrequest getservicenamesresponse source <service name="wsconsultazione"> <port name="serviziconsultazioneport" binding="tns:serviceconsultazionebinding"> <soap:address location="http://tubero:8080/wasp/rpcrouter"/> </port> </service> binding ServiceConsultazioneBinding type tns:serviziconsultazione extensibility <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> operations Execute extensibi <soap:operation soapaction="execute"/> lity input <soap:body use="literal"/> output <soap:body use="literal"/> getrowclassdescriptor extensibi <soap:operation soapaction="getrowclassdescriptor"/> lity input <soap:body use="literal"/> output <soap:body use="literal"/> getservicedescriptor extensibi <soap:operation soapaction="getservicedescriptor"/> lity input <soap:body use="literal"/> PAGINA 45 DI 92
output <soap:body use="literal"/> GetServiceNames extensibi <soap:operation soapaction="getservicenames"/> lity input <soap:body use="literal"/> output <soap:body use="literal"/> Service wsconsultazione in Port ServiziConsultazionePort source <binding name="serviceconsultazionebinding" type="tns:serviziconsultazione"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="execute"> <soap:operation soapaction="execute"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getrowclassdescriptor"> <soap:operation soapaction="getrowclassdescriptor"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getservicedescriptor"> <soap:operation soapaction="getservicedescriptor"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getservicenames"> <soap:operation soapaction="getservicenames"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> porttype ServiziConsultazione operations execute input tns:executerequest output tns:executeresponse getrowclassdescriptor input tns:getrowclassdescriptorrequest output tns:getrowclassdescriptorresponse getservicedescriptor input tns:getservicedescriptorrequest output tns:getservicedescriptorresponse PAGINA 46 DI 92
getservicenames input tns:getservicenamesrequest output tns:getservicenamesresponse binding ServiceConsultazioneBinding source <porttype name="serviziconsultazione"> <operation name="execute"> <input message="tns:executerequest"/> <output message="tns:executeresponse"/> </operation> <operation name="getrowclassdescriptor"> <input message="tns:getrowclassdescriptorrequest"/> <output message="tns:getrowclassdescriptorresponse"/> </operation> <operation name="getservicedescriptor"> <input message="tns:getservicedescriptorrequest"/> <output message="tns:getservicedescriptorresponse"/> </operation> <operation name="getservicenames"> <input message="tns:getservicenamesrequest"/> <output message="tns:getservicenamesresponse"/> </operation> </porttype> message executerequest parts name type xsd:string valueset type tns:valuesettype orderby type tns:orderbytype PortType ServiziConsultazione in Operation execute source <message name="executerequest"> <part name="name" type="xsd:string"/> <part name="valueset" type="tns:valuesettype"/> <part name="orderby" type="tns:orderbytype"/> </message> message executeresponse parts rowlist type tns:rowlisttype PortType ServiziConsultazione in Operation execute source <message name="executeresponse"> <part name="rowlist" type="tns:rowlisttype"/> </message> PAGINA 47 DI 92
message getrowclassdescriptorrequest parts name type xsd:string PortType ServiziConsultazione in Operation getrowclassdescriptor source <message name="getrowclassdescriptorrequest"> <part name="name" type="xsd:string"/> </message> message getrowclassdescriptorresponse parts return type tns:rowclassdescriptortype PortType ServiziConsultazione in Operation getrowclassdescriptor source <message name="getrowclassdescriptorresponse"> <part name="return" type="tns:rowclassdescriptortype"/> </message> message getservicedescriptorrequest parts name type xsd:string PortType ServiziConsultazione in Operation getservicedescriptor source <message name="getservicedescriptorrequest"> <part name="name" type="xsd:string"/> </message> message getservicedescriptorresponse parts return type tns:servicedescriptortype PortType ServiziConsultazione in Operation getservicedescriptor source <message name="getservicedescriptorresponse"> <part name="return" type="tns:servicedescriptortype"/> </message> message getservicenamesrequest parts PortType ServiziConsultazione in Operation getservicenames source <message name="getservicenamesrequest"/> message getservicenamesresponse parts return type tns:stringarraytype PortType ServiziConsultazione in Operation getservicenames source <message name="getservicenamesresponse"> <part name="return" type="tns:stringarraytype"/> </message> PAGINA 48 DI 92
6.3.2 Schema wsdlschema.xsd targetnamespace: urn:jpw-backend Complex types orderbyentrytype orderbytype Simple types typeenum propertytype rowclassdescriptortype rowlisttype rowtype servicedescriptortype srowtype stringarraytype subrowstype valuesettype Elements Groups Complex types Simple types Attr. groups anytype Array anyuri arraycoordinate arrayattributes anyuri Struct Array base64 arraymemberattributes Array base64binary commonattributes base64binary boolean byte date datetime decimal double duration ENTITIES ENTITY float gday gmonth gmonthday gyear gyearmonth boolean byte date datetime decimal double duration ENTITIES ENTITY float gday gmonth gmonthday gyear gyearmonth hexbinary PAGINA 49 DI 92
hexbinary ID IDREF IDREFS int integer language long Name NCName negativeinteger NMTOKEN NMTOKENS nonnegativeinteger nonpositiveinteger normalizedstring NOTATION positiveinteger QName short string Struct time token unsignedbyte unsignedint unsignedlong ID IDREF IDREFS int integer language long Name NCName negativeinteger NMTOKEN NMTOKENS nonnegativeinteger nonpositiveinteger normalizedstring NOTATION positiveinteger QName short string Struct time token unsignedbyte unsignedint unsignedlong unsignedshort unsignedshort complextype orderbyentrytype namespace urn:jpw-backend element orderbytype/entry property xsd:string required mode xsd:string required PAGINA 50 DI 92
source <complextype name="orderbyentrytype"> <attribute name="property" type="xsd:string" use="required"/> <attribute name="mode" type="xsd:string" use="required"/> complextype orderbytype namespace urn:jpw-backend children entry source <complextype name="orderbytype"> <sequence> <element name="entry" type="tns:orderbyentrytype" maxoccurs="unbounded"/> </sequence> element orderbytype/entry type tns:orderbyentrytype property xsd:string required mode xsd:string required source <element name="entry" type="tns:orderbyentrytype" maxoccurs="unbounded"/> complextype propertytype namespace urn:jpw-backend type extension of string elements srowtype/property valuesettype/value name xsd:string required type tns:typeenum string source <complextype name="propertytype"> <simplecontent> <extension base="xsd:string"> <attribute name="name" type="xsd:string" use="required"/> <attribute name="type" type="tns:typeenum" default="string"/> </extension> </simplecontent> PAGINA 51 DI 92
complextype rowclassdescriptortype namespace urn:jpw-backend children property classref source <complextype name="rowclassdescriptortype"> <sequence> <element name="property" maxoccurs="unbounded"> <complextype> <attribute name="name" type="xsd:string" use="required"/> <attribute name="type" type="tns:typeenum" default="string"/> </element> <element name="classref"> <complextype> <attribute name="name" type="xsd:string" use="required"/> </element> </sequence> element rowclassdescriptortype/property name xsd:string required type tns:typeenum string source <element name="property" maxoccurs="unbounded"> <complextype> <attribute name="name" type="xsd:string" use="required"/> <attribute name="type" type="tns:typeenum" default="string"/> </element> element rowclassdescriptortype/classref PAGINA 52 DI 92
name xsd:string required source <element name="classref"> <complextype> <attribute name="name" type="xsd:string" use="required"/> </element> complextype rowlisttype namespace urn:jpw-backend children row available xsd:string required time xsd:string required source <complextype name="rowlisttype"> <sequence> <element name="row" type="tns:rowtype" maxoccurs="unbounded"/> </sequence> <attribute name="available" type="xsd:string" use="required"/> <attribute name="time" type="xsd:string" use="required"/> element rowlisttype/row type tns:rowtype children property subrows class xsd:string required source <element name="row" type="tns:rowtype" maxoccurs="unbounded"/> PAGINA 53 DI 92
complextype rowtype namespace urn:jpw-backend type extension of tns:srowtype children property subrows element rowlisttype/row class xsd:string required source <complextype name="rowtype"> <complexcontent> <extension base="tns:srowtype"> <sequence> <element name="subrows" type="tns:subrowstype" minoccurs="0" maxoccurs="unbounded"/> </sequence> <attribute name="class" type="xsd:string" use="required"/> </extension> </complexcontent> element rowtype/subrows type tns:subrowstype children row class xsd:string required source <element name="subrows" type="tns:subrowstype" minoccurs="0" maxoccurs="unbounded"/> PAGINA 54 DI 92
complextype servicedescriptortype namespace urn:jpw-backend children params rowclass source <complextype name="servicedescriptortype"> <sequence> <element name="params" maxoccurs="unbounded"> <complextype> <attribute name="name" type="xsd:string" use="required"/> <attribute name="type" type="tns:typeenum" default="string"/> </element> <element name="rowclass" maxoccurs="unbounded"> <complextype> <attribute name="name" type="xsd:string" use="required"/> </element> </sequence> element servicedescriptortype/params name xsd:string required type tns:typeenum string source <element name="params" maxoccurs="unbounded"> <complextype> <attribute name="name" type="xsd:string" use="required"/> <attribute name="type" type="tns:typeenum" default="string"/> </element> element servicedescriptortype/rowclass PAGINA 55 DI 92
name xsd:string required source <element name="rowclass" maxoccurs="unbounded"> <complextype> <attribute name="name" type="xsd:string" use="required"/> </element> complextype srowtype namespace urn:jpw-backend children property element subrowstype/row complextype rowtype source <complextype name="srowtype"> <sequence> <element name="property" type="tns:propertytype" maxoccurs="unbounded"/> </sequence> element srowtype/property type tns:propertytype name xsd:string required type tns:typeenum string source <element name="property" type="tns:propertytype" maxoccurs="unbounded"/> complextype stringarraytype namespace urn:jpw-backend type restriction of soap-enc:array soapenc:arraytype tns:offset xs:string tns:arraycoordin ate PAGINA 56 DI 92
source <complextype name="stringarraytype"> <complexcontent> <restriction base="soap-enc:array"> <attribute ref="soap-enc:arraytype" wsdl:arraytype="xsd:string[]"/> </restriction> </complexcontent> complextype subrowstype namespace urn:jpw-backend children row element rowtype/subrows class xsd:string required source <complextype name="subrowstype"> <sequence> <element name="row" type="tns:srowtype" maxoccurs="unbounded"/> </sequence> <attribute name="class" type="xsd:string" use="required"/> element subrowstype/row type tns:srowtype children property source <element name="row" type="tns:srowtype" maxoccurs="unbounded"/> complextype valuesettype namespace urn:jpw-backend children value source <complextype name="valuesettype"> <sequence> PAGINA 57 DI 92
<element name="value" type="tns:propertytype" maxoccurs="unbounded"/> </sequence> element valuesettype/value type tns:propertytype name xsd:string required type tns:typeenum string source <element name="value" type="tns:propertytype" maxoccurs="unbounded"/> simpletype typeenum namespace urn:jpw-backend type restriction of NMTOKEN attributes propertytype/@type rowclassdescriptortype/property/@type servicedescriptortype/params/@type facets enumeration string enumeration integer enumeration date enumeration binary enumeration float enumeration boolean source <simpletype name="typeenum"> <restriction base="xsd:nmtoken"> <enumeration value="string"/> <enumeration value="integer"/> <enumeration value="date"/> <enumeration value="binary"/> <enumeration value="float"/> <enumeration value="boolean"/> </restriction> </simpletype> element soap-enc:anytype source <element name="anytype"/> PAGINA 58 DI 92
element soap-enc:anyuri type soap-enc:anyuri source <element name="anyuri" type="tns:anyuri"/> element soap-enc:array type soap-enc:array tns:arraytype tns:offset xs:string tns:arraycoordin ate source <element name="array" type="tns:array"/> element soap-enc:base64binary type soap-enc:base64binary source <element name="base64binary" type="tns:base64binary"/> element soap-enc:boolean PAGINA 59 DI 92
type soap-enc:boolean source <element name="boolean" type="tns:boolean"/> element soap-enc:byte type soap-enc:byte source <element name="byte" type="tns:byte"/> element soap-enc:date type soap-enc:date source <element name="date" type="tns:date"/> element soap-enc:datetime type soap-enc:datetime source <element name="datetime" type="tns:datetime"/> element soap-enc:decimal PAGINA 60 DI 92
type soap-enc:decimal source <element name="decimal" type="tns:decimal"/> element soap-enc:double type soap-enc:double source <element name="double" type="tns:double"/> element soap-enc:duration type soap-enc:duration source <element name="duration" type="tns:duration"/> element soap-enc:entities type soap-enc:entities source <element name="entities" type="tns:entities"/> element soap-enc:entity PAGINA 61 DI 92
type soap-enc:entity source <element name="entity" type="tns:entity"/> element soap-enc:float type soap-enc:float source <element name="float" type="tns:float"/> element soap-enc:gday type soap-enc:gday source <element name="gday" type="tns:gday"/> element soap-enc:gmonth type soap-enc:gmonth source <element name="gmonth" type="tns:gmonth"/> element soap-enc:gmonthday PAGINA 62 DI 92
type soap-enc:gmonthday source <element name="gmonthday" type="tns:gmonthday"/> element soap-enc:gyear type soap-enc:gyear source <element name="gyear" type="tns:gyear"/> element soap-enc:gyearmonth type soap-enc:gyearmonth source <element name="gyearmonth" type="tns:gyearmonth"/> element soap-enc:hexbinary type soap-enc:hexbinary source <element name="hexbinary" type="tns:hexbinary"/> element soap-enc:id PAGINA 63 DI 92
type soap-enc:id source <element name="id" type="tns:id"/> element soap-enc:idref type soap-enc:idref source <element name="idref" type="tns:idref"/> element soap-enc:idrefs type soap-enc:idrefs source <element name="idrefs" type="tns:idrefs"/> element soap-enc:int type soap-enc:int source <element name="int" type="tns:int"/> element soap-enc:integer PAGINA 64 DI 92
type soap-enc:integer source <element name="integer" type="tns:integer"/> element soap-enc:language type soap-enc:language source <element name="language" type="tns:language"/> element soap-enc:long type soap-enc:long source <element name="long" type="tns:long"/> element soap-enc:name type soap-enc:name source <element name="name" type="tns:name"/> element soap-enc:ncname PAGINA 65 DI 92
type soap-enc:ncname source <element name="ncname" type="tns:ncname"/> element soap-enc:negativeinteger type soap-enc:negativeinteger source <element name="negativeinteger" type="tns:negativeinteger"/> element soap-enc:nmtoken type soap-enc:nmtoken source <element name="nmtoken" type="tns:nmtoken"/> element soap-enc:nmtokens type soap-enc:nmtokens source <element name="nmtokens" type="tns:nmtokens"/> element soap-enc:nonnegativeinteger PAGINA 66 DI 92
type soap-enc:nonnegativeinteger source <element name="nonnegativeinteger" type="tns:nonnegativeinteger"/> element soap-enc:nonpositiveinteger type soap-enc:nonpositiveinteger source <element name="nonpositiveinteger" type="tns:nonpositiveinteger"/> element soap-enc:normalizedstring type soap-enc:normalizedstring source <element name="normalizedstring" type="tns:normalizedstring"/> element soap-enc:notation type soap-enc:notation source <element name="notation" type="tns:notation"/> element soap-enc:positiveinteger PAGINA 67 DI 92
type soap-enc:positiveinteger source <element name="positiveinteger" type="tns:positiveinteger"/> element soap-enc:qname type soap-enc:qname source <element name="qname" type="tns:qname"/> element soap-enc:short type soap-enc:short source <element name="short" type="tns:short"/> element soap-enc:string type soap-enc:string source <element name="string" type="tns:string"/> PAGINA 68 DI 92
element soap-enc:struct type soap-enc:struct source <element name="struct" type="tns:struct"/> element soap-enc:time type soap-enc:time source <element name="time" type="tns:time"/> element soap-enc:token type soap-enc:token source <element name="token" type="tns:token"/> element soap-enc:unsignedbyte type soap-enc:unsignedbyte PAGINA 69 DI 92
source <element name="unsignedbyte" type="tns:unsignedbyte"/> element soap-enc:unsignedint type soap-enc:unsignedint source <element name="unsignedint" type="tns:unsignedint"/> element soap-enc:unsignedlong type soap-enc:unsignedlong source <element name="unsignedlong" type="tns:unsignedlong"/> element soap-enc:unsignedshort type soap-enc:unsignedshort source <element name="unsignedshort" type="tns:unsignedshort"/> group soap-enc:array complextype soap-enc:array source <group name="array"> <sequence> PAGINA 70 DI 92
<any namespace="##any" processcontents="lax" minoccurs="0" maxoccurs="unbounded"/> </sequence> </group> group soap-enc:struct complextype soap-enc:struct source <group name="struct"> <sequence> <any namespace="##any" processcontents="lax" minoccurs="0" maxoccurs="unbounded"/> </sequence> </group> complextype soap-enc:anyuri type extension of anyuri element soap-enc:anyuri source <complextype name="anyuri"> <simplecontent> <extension base=""> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:array PAGINA 71 DI 92
element soap-enc:array complextype stringarraytype annotation tns:arraytype tns:offset documentation xs:string tns:arraycoordin ate 'Array' is a complex type for accessors entified by position source <complextype name="array"> <annotation> <documentation> 'Array' is a complex type for accessors entified by position </documentation> </annotation> <group ref="tns:array" minoccurs="0"/> <attributegroup ref="tns:arrayattributes"/> <attributegroup ref="tns:commonattributes"/> complextype soap-enc:base64binary type extension of base64binary element soap-enc:base64binary source <complextype name="base64binary"> <simplecontent> <extension base="xs:base64binary"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:boolean PAGINA 72 DI 92
type extension of boolean element soap-enc:boolean source <complextype name="boolean"> <simplecontent> <extension base="xs:boolean"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:byte type extension of byte element soap-enc:byte source <complextype name="byte"> <simplecontent> <extension base="xs:byte"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:date type extension of date element soap-enc:date source <complextype name="date"> <simplecontent> PAGINA 73 DI 92
<extension base="xs:date"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:datetime type extension of datetime element soap-enc:datetime source <complextype name="datetime"> <simplecontent> <extension base="xs:datetime"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:decimal type extension of decimal element soap-enc:decimal source <complextype name="decimal"> <simplecontent> <extension base="xs:decimal"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> PAGINA 74 DI 92
complextype soap-enc:double type extension of double element soap-enc:double source <complextype name="double"> <simplecontent> <extension base="xs:double"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:duration type extension of duration element soap-enc:duration source <complextype name="duration"> <simplecontent> <extension base="xs:duration"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:entities type extension of ENTITIES element soap-enc:entities PAGINA 75 DI 92
source <complextype name="entities"> <simplecontent> <extension base="xs:entities"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:entity type extension of ENTITY element soap-enc:entity source <complextype name="entity"> <simplecontent> <extension base="xs:entity"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:float type extension of float element soap-enc:float source <complextype name="float"> <simplecontent> <extension base="xs:float"> <attributegroup ref="tns:commonattributes"/> </extension> PAGINA 76 DI 92
</simplecontent> complextype soap-enc:gday type extension of gday element soap-enc:gday source <complextype name="gday"> <simplecontent> <extension base="xs:gday"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:gmonth type extension of gmonth element soap-enc:gmonth source <complextype name="gmonth"> <simplecontent> <extension base="xs:gmonth"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:gmonthday PAGINA 77 DI 92
type extension of gmonthday element soap-enc:gmonthday source <complextype name="gmonthday"> <simplecontent> <extension base="xs:gmonthday"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:gyear type extension of gyear element soap-enc:gyear source <complextype name="gyear"> <simplecontent> <extension base="xs:gyear"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:gyearmonth type extension of gyearmonth element soap-enc:gyearmonth source <complextype name="gyearmonth"> <simplecontent> <extension base="xs:gyearmonth"> PAGINA 78 DI 92
<attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:hexbinary type extension of hexbinary element soap-enc:hexbinary source <complextype name="hexbinary"> <simplecontent> <extension base="xs:hexbinary"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:id type extension of ID element soap-enc:id source <complextype name="id"> <simplecontent> <extension base=""> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> PAGINA 79 DI 92
complextype soap-enc:idref type extension of IDREF element soap-enc:idref source <complextype name="idref"> <simplecontent> <extension base="ref"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:idrefs type extension of IDREFS element soap-enc:idrefs source <complextype name="idrefs"> <simplecontent> <extension base="refs"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:int type extension of int element soap-enc:int PAGINA 80 DI 92
source <complextype name="int"> <simplecontent> <extension base="xs:int"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:integer type extension of integer element soap-enc:integer source <complextype name="integer"> <simplecontent> <extension base="xs:integer"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:language type extension of language element soap-enc:language source <complextype name="language"> <simplecontent> <extension base="xs:language"> <attributegroup ref="tns:commonattributes"/> </extension> PAGINA 81 DI 92
</simplecontent> complextype soap-enc:long type extension of long element soap-enc:long source <complextype name="long"> <simplecontent> <extension base="xs:long"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:name type extension of Name element soap-enc:name source <complextype name="name"> <simplecontent> <extension base="xs:name"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:ncname PAGINA 82 DI 92
type extension of NCName element soap-enc:ncname source <complextype name="ncname"> <simplecontent> <extension base="xs:ncname"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:negativeinteger type extension of negativeinteger element soap-enc:negativeinteger source <complextype name="negativeinteger"> <simplecontent> <extension base="xs:negativeinteger"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:nmtoken type extension of NMTOKEN element soap-enc:nmtoken source <complextype name="nmtoken"> <simplecontent> <extension base="xs:nmtoken"> PAGINA 83 DI 92
<attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:nmtokens type extension of NMTOKENS element soap-enc:nmtokens source <complextype name="nmtokens"> <simplecontent> <extension base="xs:nmtokens"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:nonnegativeinteger type extension of nonnegativeinteger element soap-enc:nonnegativeinteger source <complextype name="nonnegativeinteger"> <simplecontent> <extension base="xs:nonnegativeinteger"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> PAGINA 84 DI 92
complextype soap-enc:nonpositiveinteger type extension of nonpositiveinteger element soap-enc:nonpositiveinteger source <complextype name="nonpositiveinteger"> <simplecontent> <extension base="xs:nonpositiveinteger"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:normalizedstring type extension of normalizedstring element soap-enc:normalizedstring source <complextype name="normalizedstring"> <simplecontent> <extension base="xs:normalizedstring"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:notation type extension of QName element soap-enc:notation PAGINA 85 DI 92
source <complextype name="notation"> <simplecontent> <extension base="xs:qname"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:positiveinteger type extension of positiveinteger element soap-enc:positiveinteger source <complextype name="positiveinteger"> <simplecontent> <extension base="xs:positiveinteger"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:qname type extension of QName element soap-enc:qname source <complextype name="qname"> <simplecontent> <extension base="xs:qname"> <attributegroup ref="tns:commonattributes"/> </extension> PAGINA 86 DI 92
</simplecontent> complextype soap-enc:short type extension of short element soap-enc:short source <complextype name="short"> <simplecontent> <extension base="xs:short"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:string type extension of string element soap-enc:string source <complextype name="string"> <simplecontent> <extension base="xs:string"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:struct PAGINA 87 DI 92
element soap-enc:struct source <complextype name="struct"> <group ref="tns:struct" minoccurs="0"/> <attributegroup ref="tns:commonattributes"/> complextype soap-enc:time type extension of time element soap-enc:time source <complextype name="time"> <simplecontent> <extension base="xs:time"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:token type extension of token element soap-enc:token source <complextype name="token"> <simplecontent> <extension base="xs:token"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> PAGINA 88 DI 92
complextype soap-enc:unsignedbyte type extension of unsignedbyte element soap-enc:unsignedbyte source <complextype name="unsignedbyte"> <simplecontent> <extension base="xs:unsignedbyte"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:unsignedint type extension of unsignedint element soap-enc:unsignedint source <complextype name="unsignedint"> <simplecontent> <extension base="xs:unsignedint"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:unsignedlong type extension of unsignedlong PAGINA 89 DI 92
element soap-enc:unsignedlong source <complextype name="unsignedlong"> <simplecontent> <extension base="xs:unsignedlong"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> complextype soap-enc:unsignedshort type extension of unsignedshort element soap-enc:unsignedshort source <complextype name="unsignedshort"> <simplecontent> <extension base="xs:unsignedshort"> <attributegroup ref="tns:commonattributes"/> </extension> </simplecontent> simpletype soap-enc:arraycoordinate type string source <simpletype name="arraycoordinate"> <restriction base="xs:string"/> </simpletype> simpletype soap-enc:base64 type base64binary source <simpletype name="base64"> <restriction base="xs:base64binary"/> PAGINA 90 DI 92
</simpletype> attributegroup soap-enc:arrayattributes complextype soap-enc:array tns:arraytype tns:offset xs:string tns:arraycoordin ate source <attributegroup name="arrayattributes"> <attribute ref="tns:arraytype"/> <attribute ref="tns:offset"/> </attributegroup> attributegroup soap-enc:arraymemberattributes tns:position tns:arraycoordin ate source <attributegroup name="arraymemberattributes"> <attribute ref="tns:position"/> </attributegroup> attributegroup soap-enc:commonattributes complextypes soap-enc:anyuri soap-enc:array soap-enc:base64binary soap-enc:boolean soap-enc:byte soap-enc:date soap-enc:datetime soap-enc:decimal soap-enc:double soap-enc:duration soap-enc:entities soap-enc:entity soap-enc:float soap-enc:gday soap-enc:gmonth soapenc:gmonthday soap-enc:gyear soap-enc:gyearmonth soap-enc:hexbinary soap-enc:id soapenc:idref soap-enc:idrefs soap-enc:int soap-enc:integer soap-enc:language soap-enc:long soap-enc:name soap-enc:ncname soap-enc:negativeinteger soap-enc:nmtoken soapenc:nmtokens soap-enc:nonnegativeinteger soap-enc:nonpositiveinteger soapenc:normalizedstring soap-enc:notation soap-enc:positiveinteger soap-enc:qname soapenc:short soap-enc:string soap-enc:struct soap-enc:time soap-enc:token soapenc:unsignedbyte soap-enc:unsignedint soap-enc:unsignedlong soap-enc:unsignedshort annotation documentation Attributes common to all elements that function as accessors or represent independent (multi-ref) values. The attribute is intended to be used in a manner like CONREF. That is, the element content should be empty iff the attribute appears source <attributegroup name="commonattributes"> <annotation> PAGINA 91 DI 92
<documentation> Attributes common to all elements that function as accessors or represent independent (multi-ref) values. The attribute is intended to be used in a manner like CONREF. That is, the element content should be empty iff the attribute appears </documentation> </annotation> <attribute name="" type=""/> <attribute name="" type=""/> <anyattribute namespace="##other" processcontents="lax"/> </attributegroup> Documento predisposto grazie alla collaborazione del Raggruppamento Temporaneo d Impresa composto da: Gruppo Poste Italiane e da: PAGINA 92 DI 92