Definizione delle interfacce di colloquio SOAP...

53
Progetto B2 Definizione delle interfacce di colloquio SOAP 1.1 1 Definizione delle interfacce di colloquio SOAP 1.1 DOCUMENTO: Definizione delle interfacce di colloquio SOAP 1.1. 1.0 EMISSIONE – VERIFICA – APPROVAZIONE Nome firma Emesso da: Alessio Sardaro Verificato da: Approvato da: LISTA DI DISTRIBUZIONE AGGIORNAMENTI Versione Data Paragrafi Modificati Motivo Modifica 1.0 18/10/2005 Prima stesura.

Transcript of Definizione delle interfacce di colloquio SOAP...

Page 1: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

1

Definizione delle interfacce di colloquio SOAP 1.1

DOCUMENTO: Definizione delle interfacce di colloquio SOAP 1.1. 1.0

EMISSIONE – VERIFICA – APPROVAZIONE Nome firma Emesso da: Alessio Sardaro

Verificato da:

Approvato da:

LISTA DI DISTRIBUZIONE

AGGIORNAMENTI

Versione Data Paragrafi Modificati Motivo Modifica

1.0 18/10/2005 Prima stesura.

Page 2: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

2

1.0 24/10/2005 Aggiornamento nome metodo 2,3,4.3

Indice

1. Introduzione. ..................................................................................................................................... 3 2. Definizioni busta per l’invio e la ricezione dei messaggi di protocollo............................................ 3

2.1. Invio messaggi di protocollo..................................................................................................... 4 2.2. Ricezione dei messaggi di protocollo ....................................................................................... 5

3. Definizioni busta per l’invio e la ricezione dei messaggi di comunicazione.................................... 6 3.1. Ricezione dei messaggi di comunicazione non conformi......................................................... 7 3.2. Invio messaggio di avvenuta protocollazione........................................................................... 8

4. Comunicazione esito ricezione messaggio ....................................................................................... 9 5. Appendice ....................................................................................................................................... 11

5.1. Esempio di busta di richiesta SOAP per l’invio dei messaggi di protocollo. ........................ 11 5.2. Esempio di busta di richiesta per la ricezione dei messaggi di protocollo ............................ 11 5.3. Esempio di busta di ricezione Messaggio di protocollo ......................................................... 12 5.4. DTD Segnatura informatica .................................................................................................... 13 5.5. DTD messaggi di notifica protocollo...................................................................................... 34 5.6. DTD messaggi dell’indice regionale delle AOO .................................................................... 36 5.7. DTD ACKNOWLEDGEMENT............................................................................................. 45 5.8. DTD messaggio comunicazione non conforme ...................................................................... 46 5.9. Composizione dei parametri dei messaggi di protocollo e funzionamento per l’invio Loopback............................................................................................................................................. 48

5.9.1. Segnatura.xml: ................................................................................................................ 48 5.9.2. Conferma.xml: ................................................................................................................ 49 5.9.3. Aggiornamento.xml: ....................................................................................................... 50 5.9.4. Annulamento.xml: .......................................................................................................... 51 5.9.5. Eccezione.xml:................................................................................................................ 51

6. Riferimenti ...................................................................................................................................... 52

Page 3: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

3

1. Introduzione. Il presente documento contiene la definizione delle specifiche alternative per l'utilizzo del sottosistema dedicato all’interoperabilità per lo scambio dei messaggi di protocollo fornito dal Sistema di Cooperazione Applicativa della Rete Telematica Regionale Toscana (RTRT). Le specifiche sono riferite alla modalità SOAP 1.1 per l’invio e la ricezione dei messaggi di protocollo e comunicazione. I metodi illustrati nel documento sono quindi un’alternativa a quelli gia descritti nel documento “Documento Interfacce v1.5.doc” ( vedi [11]), questi nuovi metodi permettono l’invio dei messaggi a quei linguaggi che non riescono a supportare “SOAP 1.1 with attach”.

2. Definizioni busta per l’invio e la ricezione dei messaggi di protocollo

Il seguente xml rappresenta il WSDL1 solo per le funzioni di invio e ricezione dei messaggi di protocollo relativamente allo standard SOAP 1.1. <wsdl:definitions targetNamespace="http://localhost/protocollo/services/RichiediProtocollo"> <wsdl:types> <schema targetNamespace="http://localhost/protocollo/services/RichiediProtocollo"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="ArrayOf_xsd_string"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/> </restriction> </complexContent> </complexType> </schema> </wsdl:types> <wsdl:message name="putMessaggioNewResponse"> <wsdl:part name="putMessaggioNewReturn" type="xsd:string"/> </wsdl:message> <wsdl:message name="putMessaggioNewRequest"> <wsdl:part name="nomeSIL" type="xsd:string"/> <wsdl:part name="nomeEvento" type="xsd:string"/> <wsdl:part name="idMessaggio" type="xsd:string"/> <wsdl:part name="base64" type="impl:ArrayOf_xsd_string"/> <wsdl:part name="contentType" type="impl:ArrayOf_xsd_string"/> <wsdl:part name="name" type="impl:ArrayOf_xsd_string"/> </wsdl:message> <wsdl:message name="getMessaggioNewRequest"> <wsdl:part name="nomeSIL" type="xsd:string"/> <wsdl:part name="nomeEvento" type="xsd:string"/> <wsdl:part name="type" type="xsd:string"/> </wsdl:message>

1 Il WSDL presente sul proxy avrà anche gli altri metodi getMessaggio e putMessaggio relativi al SOAP with attach , quindi si può distinguere dagli altri in base ai parametri passati descritti in seguito.

Page 4: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

4

<wsdl:message name="getMessaggioNewResponse"> <wsdl:part name="getMessaggioNewReturn" type="impl:ArrayOf_xsd_string"/> </wsdl:message> <wsdl:portType name="WSRichiediMSGProtocollo"> <wsdl:operation name="getMessaggioNew" parameterOrder="nomeSIL nomeEvento type"> <wsdl:input message="impl:getMessaggioNewRequest" name="getMessaggioNewRequest"/> <wsdl:output message="impl:getMessaggioNewResponse" name="getMessaggioNewResponse"/> </wsdl:operation> <wsdl:operation name="putMessaggioNew" parameterOrder="nomeSIL nomeEvento idMessaggio base64 contentType name"> <wsdl:input message="impl:putMessaggioNewRequest" name="putMessaggioNewRequest"/> <wsdl:output message="impl:putMessaggioNewResponse" name="putMessaggioNewResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="RichiediProtocolloSoapBinding" type="impl:WSRichiediMSGProtocollo"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getMessaggioNew"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getMessaggioNewRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ricezione.webservices.interfacce.sil.protocollo.italdata.it" use="encoded"/> </wsdl:input> <wsdl:output name="getMessaggioNewResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/protocollo/services/RichiediProtocollo" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="putMessaggioNew"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="putMessaggioNewRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ricezione.webservices.interfacce.sil.protocollo.italdata.it" use="encoded"/> </wsdl:input> <wsdl:output name="putMessaggioNewResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/protocollo/services/RichiediProtocollo" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="WSRichiediMSGProtocolloService"> <wsdl:port binding="impl:RichiediProtocolloSoapBinding" name="RichiediProtocollo"> <wsdlsoap:address location="http://localhost/protocollo/services/RichiediProtocollo"/> </wsdl:port> </wsdl:service> </wsdl:definitions>

2.1. Invio messaggi di protocollo

Il SIL potrà inviare un messaggio di protocollo interrogando un apposito webservice attestato sul Proxy Applicativo. Ogni SIL evoluto dovrà quindi implementare un client SOAP in grado di comporre ed inviare un messaggio di protocollo nel formato di busta SOAP vedi esempio appendice 4.1. Per la composizione della busta il client si potrà anche avvalere della elaborazione della descrizione WSDL presente sul Proxy Applicativo all’indirizzo:

http://<NAL>/protocollo/services/RichiediProtocollo?wsdl

Page 5: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

5

invocando semplicemente il seguente metodo relativo all’invio dei messaggi: String putMessaggioNew(String nomeSIL,String nomeEvento,String idMessaggio,String base64[],String contentType[],String name[]) Il client, quindi, invia la busta SOAP, comprensiva dei parametri necessari per l’interrogazione del webservice sul Proxy Applicativo. I parametri sono descritti di seguito:

1. nomeSIL -> Il nome SIL assegnato dalla regione .(es.:10) 2. nomeEvento -> Il nome dell’ evento=Protocollo, 3. idMessaggio -> l’id del messaggio vedi appendice 4.9 4. base64[] -> Un array di stringhe base64 che sono la codifica relativa agli attach inviati, ogni

stringa a posizione i 5. contentType[] -> Un array di stringhe contentType che deve contenere tipo di contenuto

dell’attach nella posizione i dell’array base64 6. name[] -> Un array dei nomi che contengono nella posizione il nome dell’array codificato in

base64 nella posizione medesima. Es.: La posizione nell’array base64 indica che le altre caratteristiche dell’attach si possono trovare negli altri array nella stessa posizione, quindi un array è caratterizzato dalla seguente terna di valori. Base64[1]=” LjAiIGVuY28=…………………………………..” contenType[1]=”application/pdf” name[1]=”doc.pdf” La risposta del webservice, attestato sul Proxy Applicativo, è una ulteriore busta che come risposta ha una stringa contenente un xml relativo al DTD in appendice 4.7. I file xml da inviare al primo posto nelle stringhe di attach sono specificati nel DTD in appendice (vedi 4.4)

2.2. Ricezione dei messaggi di protocollo

Il SIL potrà ricevere un messaggio di protocollo interrogando un apposito webservice attestato sul Proxy Applicativo. Ogni SIL evoluto dovrà quindi implementare un client SOAP in grado di comporre ed inviare un messaggio nel formato di busta SOAP, nella cui body part saranno contenuti i parametri necessari (nome SIL , nome evento, type per il momento solo base64) a ricevere i messaggi di protocollo relativi al singolo SIL . Il messaggio di protocollo si compone un array di stringhe che a tre a tre contengono i seguenti contenuti:

1) Posizione i codifica base 64 dell’attach 2) Posizione i+1 content/type dell’attach 3) Posizione i+2 nome dell’attach

Page 6: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

6

I primi tre conterranno sempre il file xml.

http://<NAL>/protocollo/services/RichiediProtocollo?wsdl invocando semplicemente il metodo relativo alla ricezione dei messaggi

String[] getMessaggioNew(String nomeSIL,String nomeEvento,String type) Il client, quindi, invia la busta SOAP, ed a seguito della richiesta, il Proxy Applicativo restituirà il messaggio, vedi esempio Al termine della comunicazione, il client del SIL comunicherà al Proxy Applicativo l’esito, sia nel caso positivo che negativo interrogando il webservice dedicato all’ack riportato qui sotto (vedi capitolo 4):

http://<NAL>/protocollo/services/InvioACK?wsdl

3. Definizioni busta per l’invio e la ricezione dei messaggi di comunicazione

Il seguente xml rappresenta il WSDL per l’invio e la ricezione dei messaggi di protocollo relativamente allo standard SOAP 1.1, , che sono da usare in alternativa esclusiva rispetto alle omonime che funzionano con “SOAP with Attach”. . <wsdl:definitions targetNamespace="http://localhost/protocollo/services/RichiediComunicazione"> <wsdl:types> <schema targetNamespace="http://localhost/protocollo/services/RichiediComunicazione"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="ArrayOf_xsd_string"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/> </restriction> </complexContent> </complexType> </schema> </wsdl:types> <wsdl:message name="getMessaggioNewResponse"> <wsdl:part name="getMessaggioNewReturn" type="impl:ArrayOf_xsd_string"/> </wsdl:message> <wsdl:message name="getMessaggioNewRequest"> <wsdl:part name="nomeSIL" type="xsd:string"/> <wsdl:part name="nomeEvento" type="xsd:string"/> <wsdl:part name="type" type="xsd:string"/> </wsdl:message> <wsdl:message name="putMessaggioNewResponse"> <wsdl:part name="putMessaggioNewReturn" type="xsd:string"/> </wsdl:message> <wsdl:message name="putMessaggioNewRequest"> <wsdl:part name="nomeSIL" type="xsd:string"/> <wsdl:part name="nomeEvento" type="xsd:string"/> <wsdl:part name="idMessaggio" type="xsd:string"/>

Page 7: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

7

<wsdl:part name="base64" type="impl:ArrayOf_xsd_string"/> <wsdl:part name="contentType" type="impl:ArrayOf_xsd_string"/> <wsdl:part name="name" type="impl:ArrayOf_xsd_string"/> </wsdl:message> <wsdl:portType name="WSRichiediMSGComunicazione"> <wsdl:operation name="putMessaggioNew" parameterOrder="nomeSIL nomeEvento idMessaggio base64 contentType name"> <wsdl:input message="impl:putMessaggioNewRequest" name="putMessaggioNewRequest"/> <wsdl:output message="impl:putMessaggioNewResponse" name="putMessaggioNewResponse"/> </wsdl:operation> <wsdl:operation name="getMessaggioNew" parameterOrder="nomeSIL nomeEvento type"> <wsdl:input message="impl:getMessaggioNewRequest" name="getMessaggioNewRequest"/> <wsdl:output message="impl:getMessaggioNewResponse" name="getMessaggioNewResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="RichiediComunicazioneSoapBinding" type="impl:WSRichiediMSGComunicazione"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="putMessaggioNew"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="putMessaggioNewRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ricezione.webservices.interfacce.sil.protocollo.italdata.it" use="encoded"/> </wsdl:input> <wsdl:output name="putMessaggioNewResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/protocollo/services/RichiediComunicazione" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="getMessaggioNew"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getMessaggioNewRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ricezione.webservices.interfacce.sil.protocollo.italdata.it" use="encoded"/> </wsdl:input> <wsdl:output name="getMessaggioNewResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost/protocollo/services/RichiediComunicazione" use="encoded"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="WSRichiediMSGComunicazioneService"> <wsdl:port binding="impl:RichiediComunicazioneSoapBinding" name="RichiediComunicazione"> <wsdlsoap:address location="http://localhost/protocollo/services/RichiediComunicazione"/> </wsdl:port> </wsdl:service> </wsdl:definitions>

3.1. Ricezione dei messaggi di comunicazione non conformi

Il SIL potrà ricevere un messaggio di comunicazione non conforme interrogando un apposito webservice attestato sul Proxy Applicativo. Ogni SIL evoluto dovrà quindi implementare un client SOAP in grado di comporre ed inviare un messaggio nel formato di busta SOAP, nella cui body part saranno contenuti i parametri necessari (nome SIL , nome evento, type per il momento solo base64) a ricevere i messaggi di protocollo relativi al singolo SIL . Il messaggio di protocollo si compone un array di stringhe che a tre a tre contengono i seguenti contenuti:

Page 8: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

8

1) Posizione i ->codifica base 64 dell’attach 2) Posizione i+1 ->content/type dell’attach 3) Posizione i+2 -> nome dell’attach

I primi tre conterranno sempre il file xml, i secondi tre un attach in formato eml.

Per la composizione della busta, il client si potrà anche avvalere della elaborazione della descrizione WSDL presente sul Proxy Applicativo all’indirizzo:

http://<NAL>/protocollo/services/RichiediComunicazione?wsdl

invocando semplicemente il metodo relativo alla ricezione dei messaggi . String[] getMessaggioNew(String nomeSIL,String nomeEvento,String type)

Il client, quindi, invia la busta SOAP, ed a seguito della richiesta, il Proxy Applicativo restituirà il messaggio contenente un array di stringhe descritto in precedenza.

Al termine della ricezione del messaggio, il client del SIL comunicherà al Proxy Applicativo l’esito, sia nel caso positivo che negativo (ad esempio per interruzione sul canale di comunicazione), per mezzo di un acknowledgement. Il SIL evoluto dovrà quindi implementare un ulteriore client SOAP in grado comporre ed inviare il messaggio di acknowledgement nel formato di busta SOAP, nella cui body part sono contenuti i parametri (nome SIL, nomeevento, ack=si/no, descrizione eventuale errore) necessari a comunicare al proxy applicativo l’esito della comunicazione. Per la composizione della busta il client si potrà anche avvalere della elaborazione della descrizione WSDL presente sul Proxy Applicativo all’indirizzo:

http://<NAL>/protocollo/services/InvioACK?wsdl

invocando semplicemente il metodo relativo alla comunicazione dell’esito della comunicazione (vedi capitolo 4).

In mancanza della ricezione dell’acknowledgement il Proxy Applicativo renderà disponibile al SIL il messaggio che non ha ricevuto correttamente per un numero N di volte, configurabile a livello di singolo SIL.

3.2. Invio messaggio di avvenuta protocollazione

Se previsto, al termine della ricezione di un messaggio di comunicazione non conforme ed a protocollazione avvenuta, il client del SIL comunicherà al Proxy Applicativo la avvenuta protocollazione. Il SIL evoluto dovrà quindi implementare un client SOAP in grado comporre ed inviare il messaggio di avvenuta protocollazione con i parametri descritti nel paragrafo 2.1 (Invio messaggi di protocollo) con l’accortezza di sostituire il nome evento con quello di Comunicazione . e

Page 9: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

9

nell’array di stringhe base64 dovrà codificare un file xml di conferma di ricezione avente nome Conferma.xml., tale file contiene il documento strutturato nel modo indicato di seguito: <?xml version="1.0" encoding="UTF-8"?> <ConfermaRicezione> <Identificatore> <CodiceAmministrazione>…………</CodiceAmministrazione> <CodiceAOO>……….…</CodiceAOO> <NumeroRegistrazione>……………</NumeroRegistrazione> <DataRegistrazione>………………</DataRegistrazione> </Identificatore> <MessaggioRicevuto> <Identificatore> <CodiceAmministrazione>COMUNICAZIONE</CodiceAmministrazione> <CodiceAOO>COMUNICAZIONE</CodiceAOO> <NumeroRegistrazione>……</NumeroRegistrazione> <DataRegistrazione>……</DataRegistrazione> </Identificatore> </MessaggioRicevuto> </ConfermaRicezione>

In particolare, nella sezione <MessaggioRicevuto> verranno riportate le informazioni relative al mittente del messaggio che è stato protocollato che, essendo un soggetto non pubblico accreditato, non sarà legato ad alcuna AOO o amministrazione. Il SIL dovrà, quindi, valorizzare i tag relativi a CodiceAmministrazione e CodiceAOO con il testo “COMUNICAZIONE”, ed inserire le informazioni relative a NumeroRegistrazione (che valorizzerà con il MessageID) e DataRegistrazione di cui dispone (perchè presenti nel messaggio originario ricevuto). Per la composizione della busta SOAP il client del SIL si potrà anche avvalere della elaborazione della descrizione WSDL presente sul Proxy Applicativo all’indirizzo:

http://<NAL>/protocollo/services/RichiediComunicazione?wsdl invocando semplicemente il metodo relativo all’invio dei messaggi. String putMessaggioNew(String nomeSIL,String nomeEvento,String idMessaggio,String base64[],String contentType[],String[] name)

4. Comunicazione esito ricezione messaggio Al termine della ricezione dei messaggi, il client del SIL comunicherà al Proxy Applicativo l’esito, sia nel caso positivo che negativo (ad esempio per interruzione sul canale di comunicazione), per mezzo di un acknowledgement. Il SIL evoluto dovrà quindi implementare un ulteriore client SOAP in grado di comporre ed inviare il messaggio di acknowledgement nel formato di busta SOAP, nella cui body part sono contenuti i parametri (nome SIL, nomeevento, ack=si/no, descrizione eventuale errore) necessari

Page 10: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

10

a comunicare al proxy applicativo l’esito della comunicazione. Per la composizione della busta il client si potrà anche avvalere della elaborazione della descrizione WSDL presente sul Proxy Applicativo all’indirizzo:

http://<NAL>/protocollo/services/InvioACK?wsdl

invocando semplicemente il metodo relativo alla comunicazione dell’esito della comunicazione. In mancanza della ricezione dell’acknowledgement il Proxy Applicativo renderà disponibile al SIL il messaggio che non ha ricevuto correttamente per un numero N di volte, configurabile a livello di singolo SIL. Il risultato sarà sempre un array di stringhe formattate secondo il seguente elenco

1) Posizione i ->codifica base 64 dell’attach 2) Posizione i+1 ->content/type dell’attach 3) Posizione i+2 -> nome dell’attach

Contenente l’ack.xml che descrive l’esito.

Page 11: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

11

Appendice Non tutti gli schemi dei DTD riportati a seguire sono esplosi fino all’ultimo livello. Per il dettaglio completo fare comunque riferimento alla definizione del DTD. Tutti i campi data definiti nei seguenti DTD, sono da intendersi in formato ISO 8601 esteso (i.e. aaaa-mm-gg), mentre i campi ora devono essere in formato ISO 8601 esteso (i.e. hh:mm:ss[,ddd] - ad esempio 16:09:19,710; si noti che l'indicazione dei millisecondi è opzionale).

4.1. Esempio di busta di richiesta SOAP per l’invio dei messaggi di protocollo. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:putMessaggioNew xmlns:m="http://ricezione.webservices.interfacce.sil.protocollo.italdata.it" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <nomeSIL xsi:type="xsd:string">10</nomeSIL> <nomeEvento xsi:type="xsd:string">Protocollo</nomeEvento> <idMessaggio xsi:type="xsd:string"> AMM01**AOO.10**125**2004-08-10</idMessaggio> <base64 xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[3]"> <m0:item0 xsi:type="xsd:string"><!--Codifica base64 dell'attach numero 0 (è la codifica dei file xml relativi alla segnatura in appendice ) le relative proprietà come il nome e il content/type sono elencate negli array seguenti--></m0:item0> <m0:item1 xsi:type="xsd:string"><!--Codifica base64 dell'attach numero 1 --></m0:item1> <m0:item2 xsi:type="xsd:string"><!--Codifica base64 dell'attach numero 2 --></m0:item2> </base64> <contentType xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[3]"> <m0:item0 xsi:type="xsd:string">text/xml</m0:item0> <m0:item1 xsi:type="xsd:string">application/pdf</m0:item1> <m0:item2 xsi:type="xsd:string">application/zip</m0:item2> </contentType> <name xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[3]"> <m0:item0 xsi:type="xsd:string">Segnatura.xml</m0:item0> <m0:item1 xsi:type="xsd:string">Documento.pdf</m0:item1> <m0:item2 xsi:type="xsd:string">Attach.zip</m0:item2> </name> </m:putMessaggioNew> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

4.2. Esempio di busta di richiesta per la ricezione dei messaggi di protocollo <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <m:getMessaggioNew xmlns:m="http://ricezione.webservices.interfacce.sil.protocollo.italdata.it" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <nomeSIL xsi:type="xsd:string">10</nomeSIL> <nomeEvento xsi:type="xsd:string">Protocollo</nomeEvento> <type xsi:type="xsd:string">base64</type> </m:getMessaggioNew> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Page 12: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

12

4.3. Esempio di busta di ricezione Messaggio di protocollo

L’esempio riporta una busta SOAP di risposta contenente una “Segnatura.xml”codificata base64 e un attach “prova.zip” come si può evincere dall’ xml relativo. <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:getMessaggioNewResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://ricezione.webservices.interfacce.sil.protocollo.italdata.it"> <ns1:getMessaggioNewReturn xsi:type="soapenc:Array" soapenc:arrayType="xsd:string[6]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"> <item> PD94bWwgdmU= cnNpb249IjE= LjAiIGVuY28= ZGluZz0iSVM= Ty04ODU5LTE= Ij8+DQo8U2U= Z25hdHVyYSA= eG1sbnM6eHM= aT0iaHR0cDo= Ly93d3cudzM= Lm9yZy8yMDA= MS9YTUxTY2g= ZW1hLWluc3Q= YW5jZSIgeHM= aTpub05hbWU= c3BhY2VTY2g= ZW1hTG9jYXQ= aW9uPSIvcHI= b3ZhL1NlZ24= YXR1cmEueHM= Z..................... </item> <item> text/xml </item> <item> Segnatura.xml</item> <item> UEsDBAoAAAA= AACuWloxlok= nKYmAAAAJgA= AAAJAAAAdGU= c3RvLnhtbEM= aWFvIHNvbm8= IGwndXRlbnQ= ZSEhIQ0KDQo= YWxsYSBwcm8= c3NpbWFQSwE= AhQACgAAAAA= AK5aWjGWiZw= piYAAAAmAAA= AAkAAAAAAAA= AAEAIAC2gQA= AAAAdGVzdG8= LnhtbFBLBQY= AAAAAAEAAQA= NwAAAE0AAAA= AAAAAE0AAAA= </item> <item> application/pdf </item> <item>doc.pdf </item> </ns1:getMessaggioNewReturn> </ns1:getMessaggioNewResponse>

Page 13: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

13

</soapenv:Body> </soapenv:Envelope>

4.4. DTD Segnatura informatica

Figura 1 – Schema del DTD Segnatura – AggiornamentoConferma

Page 14: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

14

Figura 2 – Schema del DTD Segnatura - AnullamentoProtocollazione

Figura 3 – Schema del DTD Segnatura - NotificaEccezione

Page 15: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

15

Figura 4 – Schema del DTD Segnatura - ConfermaRicezione

Page 16: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

16

Figura 5 – Schema del DTD Segnatura – Segnatura

Page 17: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

17

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- ************************************************************************* * * * Autorita` per l'Informatica nella Pubblica Amministrazione * * * * Segnatura.dtd * * * * Allegato B alla Circolare 7 maggio 2001, n. AIPA/CR/28 * * "Formato e definizioni dei tipi di informazioni minime ed * * accessorie comunemente scambiate tra le pubbliche amministrazioni * * e associate ai documenti protocollati" * * * * versione del 7 maggio 2001 * * * ************************************************************************* --> <!-- ************************************************************************* * * * Data di pubblicazione della DTD * * * ************************************************************************* --> <!ENTITY % dataPubblicazione "2001-05-07"> <!-- *************************** ROOT ELEMENT ******************************** * * * La DTD prevede cinque possibili "ROOT ELEMENT": * * - Segnatura * * - ConfermaRicezione * * - AggiornamentoConferma * * - NotificaEccezione * * - AnnullamentoProtocollazione * * * ************************************************************************* --> <!-- *************************** Segnatura *********************************** * * * Si compone di tre sezioni, di cui due obbligatorie (Intestazione e * * Descrizione) ed una opzionale (Riferimenti): * * - la sezione Intestazione contiene i dati identificativi e le * * informazioni fondamentali del messaggio; * * - la sezione Riferimenti contiene le informazioni relative al * * contesto generale di cui il messaggio fa parte; * * - la sezione Descrizione contiene le informazioni descrittive * * riguardanti il contenuto del messaggio. * * * * Gli attributi della Segnatura definiscono la versione di riferimento * * del formato ed il linguaggio usato nella definizione * * dei valori testuali. In questa versione della DTD l'attributo * * "versione" ha valore fisso, pari alla data di prima pubblicazione, * * espressa in formato ISO 8601 esteso (i.e. aaaa-mm-gg). * * L'attributo standard xml:lang ha come valore fisso il token "it" * * (codice standard ISO 639) ed indica l'uso della lingua italiana come * * default per il contenuto testuale degli elementi XML. * * * ************************************************************************* --> <!ELEMENT Segnatura (Intestazione, Riferimenti?, Descrizione)> <!ATTLIST Segnatura

Page 18: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

18

versione NMTOKEN #FIXED "%dataPubblicazione;" xml:lang NMTOKEN #FIXED "it" > <!-- *************************** Intestazione ******************************** * * * L'elemento Intestazione e` obbligatorio nella Segnatura Informatica e * * contiene gli elementi essenziali di identificazione e * * caratterizzazione amministrativa del Messaggio Protocollato. * * L'elemento Intestazione contiene anche le informazioni relative alla * * trasmissione del messaggio, sia dal punto di vista telematico * * che amministrativo. * * * ************************************************************************* --> <!ELEMENT Intestazione (Identificatore, PrimaRegistrazione?, OraRegistrazione?, Origine, Destinazione+, PerConoscenza*, Risposta?, Riservato?, InterventoOperatore?, RiferimentoDocumentiCartacei?, RiferimentiTelematici?, Oggetto, Classifica*, Note?)> <!-- *************************** Identificatore ****************************** * * * Un elemento Identificatore contiene le informazioni identificative * * minime di protocollo, ai sensi del d.P.R. 445/2000. * * L'elemento Identificatore inserito al primo livello nell'Intestazione * * riporta i dati dell'Identificatore di Registrazione del * * Messaggio Protocollato. Nelle altre posizioni in cui viene utilizzato * * nella DTD esso riporta i dati di un generico Identificatore di * * Protocollo il cui significato e` desumibile dal contesto. * * * * Regole aggiuntive * * - un CodiceAmministrazione e` codificato mediante i caratteri * * previsti dalla specifica ISO 646 (US-ASCII a 7 bit) ed e` composto * * di lettere maiuscole ([A-Z]), lettere minuscole ([a-z]), cifre * * decimali ([0-9]) e dal carattere '-'; * * - un CodiceAmministrazione deve avere una lunghezza non superiore a * * 8 caratteri. * * - un CodiceAOO e` codificato mediante i caratteri previsti dalla * * specifica ISO 646 (US-ASCII a 7 bit) ed e` composto da una sequenza * * di lettere maiuscole ([A-Z]), lettere minuscole ([a-z]), cifre * * decimali ([0-9]) e dal carattere '-'; * * - un CodiceAOO deve avere una lunghezza non superiore a 8 caratteri. * * - il NumeroRegistrazione deve essere sempre formato da sette * * cifre decimali, con giustificazione mediante zeri (e.g. il numero 1 * * deve essere codificato come 0000001); * * - la DataRegistrazione deve essere in formato ISO 8601 esteso * * (i.e. aaaa-mm-gg). * * * * Regole di corrispondenza * * - il CodiceAmministrazione deve essere un codice valido ai sensi * * del d.P.R. 445/2000 e del d.P.C.M 31/10/2000; * * - il CodiceAOO deve corrispondere ad un codice valido attribuito * * dalla amministrazione di cui la AOO fa parte (come previsto dal * * d.P.R. 445/2000 e dal d.P.C.M 31/10/2000). * * * ************************************************************************* --> <!ELEMENT Identificatore (CodiceAmministrazione, CodiceAOO, NumeroRegistrazione, DataRegistrazione)> <!ELEMENT CodiceAmministrazione (#PCDATA)> <!ELEMENT CodiceAOO (#PCDATA)> <!ELEMENT NumeroRegistrazione (#PCDATA)>

Page 19: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

19

<!ELEMENT DataRegistrazione (#PCDATA)> <!-- *************************** PrimaRegistrazione ************************** * * * La PrimaRegistrazione si riferisce all'Identificatore di * * Registrazione primario, cioe` attribuito per primo ad un Documento * * Protocollato che viene ritrasmesso piu` volte. * * * * Regole di corrispondenza * * - la PrimaRegistrazione deve essere specificata solo se non coincide * * con l'Identificatore del Messaggio Protocollato. * * * ************************************************************************* --> <!ELEMENT PrimaRegistrazione (Identificatore)> <!-- *************************** OraRegistrazione **************************** * * * L'elemento OraRegistrazione riporta l'ora di creazione della * * Registrazione di Protocollo del Messaggio Protocollato. * * * * L'attributo tempo descrive il tipo di misurazione temporale * * utilizzata. * * Il token "locale" indica il tempo locale non sincronizzato del * * sistema dove la Registrazione di Protocollo e` stata creata. * * Il token "rupa" indica il tempo sincronizzato di RUPA. * * * * Regole aggiuntive * * - l'OraRegistrazione deve essere in formato ISO 8601 esteso * * (i.e. hh:mm:ss[,ddd] - ad esempio 16:09:19,710; * * si noti che l'indicazione dei millisecondi e` opzionale). * * * ************************************************************************* --> <!ELEMENT OraRegistrazione (#PCDATA)> <!ATTLIST OraRegistrazione tempo (locale | rupa | NMTOKEN) "locale" > <!-- *************************** Origine ************************************* * * * L'elemento Origine riporta i dati telematici ed amministrativi del * * mittente del Messaggio Protocollato. * * * * Regole di corrispondenza * * - la descrizione dell'Origine deve essere specificata nel modo piu` * * completo possibile. * * * ************************************************************************* --> <!ELEMENT Origine (IndirizzoTelematico, Mittente)> <!-- *************************** Destinazione ******************************** * * * Ciascun elemento Destinazione contiene i dati telematici ed * * amministrativi di un singolo destinatario del Messaggio Protocollato. * * * * L'attributo confermaRicezione indica la richiesta di invio di una * * Conferma di Ricezione da parte del destinatario. * * * * Regole di corrispondenza * * - se la Destinazione del Messaggio Protocollato e` una pubblica *

Page 20: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

20

* amministrazione l'IndirizzoTelematico indicato deve corrispondere * * a quello della casella istituzionale della AOO destinataria, ai * * sensi dell'art. 15 comma 3 del d.P.C.M. 31/10/00. * * * ************************************************************************* --> <!ELEMENT Destinazione (IndirizzoTelematico, Destinatario*)> <!ATTLIST Destinazione confermaRicezione (si | no) "no" > <!-- *************************** PerConoscenza ******************************* * * * Ciascun elemento PerConoscenza contiene i dati telematici ed * * amministrativi di un destinatario per conoscenza del Messaggio * * Protocollato. * * * * L'attributo confermaRicezione indica la richiesta di invio di una * * Conferma di Ricezione da parte del destinatario per conoscenza. * * * * Regole di corrispondenza * * - se la destinazione PerConoscenza del Messaggio Protocollato e` una * * pubblica amministrazione l'IndirizzoTelematico indicato deve * * corrispondere a quello della casella istituzionale della AOO * * destinataria. * * * ************************************************************************* --> <!ELEMENT PerConoscenza (IndirizzoTelematico, Destinatario*)> <!ATTLIST PerConoscenza confermaRicezione (si | no) "no" > <!-- *************************** Risposta ************************************ * * * L'elemento Risposta indica un indirizzo telematico da utilizzarsi per * * le risposte automatiche (i.e. ConfermaRicezione, NotificaEccezione, * * AggiornamentoConferma, AnnullamentoProtocollazione). * * Tale indirizzo viene specificato solo se non coincidente con * * l'indirizzo telematico indicato nell'elemento Origine. * * * * Regole di corrispondenza * * - dato che Conferme di Ricezione, Messaggi di Notifica di Eccezione, * * Aggiornamenti di Conferma, Annullamenti di Protocollazione non sono * * soggetti a protocollazione, l'IndirizzoTelematico indicato * * nell'elemento Risposta puo` essere diverso da quello di una casella * * istituzionale. * * * ************************************************************************* --> <!ELEMENT Risposta (IndirizzoTelematico)> <!-- *************************** IndirizzoTelematico ************************* * * * Un IndirizzoTelematico contiene un indirizzo, ad esempio di posta * * elettronica, utilizzato per la trasmissione telematica. * * * * L'attributo tipo di indirizzo telematico specificato. * * Il token "smtp" indica un indirizzo SMTP, il token "uri" indica la * * specifica di un indirizzo telematico tramite la sintassi delle URI. * * Il formato libero (NMTOKEN) e` da utilizzarsi per l'indicazione di * * tipo di sistemi di messaging diversi da quelli utilizzati su internet *

Page 21: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

21

* (e.g. sistemi proprietari). * * * * Regole aggiuntive * * - il contenuto dell'elemento IndirizzoTelematico di tipo "smtp" * * deve essere sintatticamente conforme a quanto previsto dalla * * specifica pubblica RFC 822; * * - il contenuto dell'elemento IndirizzoTelematico di tipo "uri" * * deve essere sintatticamente conforme a quanto previsto dalla * * specifica pubblica RFC 1738. * * * * Regole di corrispondenza * * - non e` ammesso l'uso del tipo "uri" per l'indicazione di un * * indirizzo SMTP (i.e. tramite una URI "mailto:"); * * - qualunque sia il tipo di protocollo di trasporto telematico * * adottato, la specifica di un IndirizzoTelematico deve essere * * completa e non ambigua. * * * ************************************************************************* --> <!ELEMENT IndirizzoTelematico (#PCDATA)> <!ATTLIST IndirizzoTelematico tipo (smtp | uri | NMTOKEN) "smtp" note CDATA #IMPLIED > <!-- *************************** InterventoOperatore ************************* * * * L'elemento InterventoOperatore esprime la richiesta di intervento di * * un Operatore ai fini della protocollazione e/o smistamento del * * Messaggio Protocollato (invece di una protocollazione e/o smistamento * * che potrebbe essere automatica). Puo` contenere un testo che descrive * * i motivi della richiesta. * * * ************************************************************************* --> <!ELEMENT InterventoOperatore (#PCDATA)> <!-- *************************** Riservato *********************************** * * * L'elemento Riservato esprime la richiesta di trattamento riservato * * del Messaggio Protocollato. Puo` contenere un testo che descrive i * * motivi della richiesta * * * ************************************************************************* --> <!ELEMENT Riservato (#PCDATA)> <!-- *************************** RiferimentoDocumentiCartacei **************** * * * L'elemento RiferimentoDocumentiCartacei e` indice della presenza nel * * Messaggio Protocollato di riferimenti esterni a Documenti Cartacei e * * quindi della necessita` di effettuare una validazione manuale della * * corrispondenza tra i dati riportati nella Segnatura Informatica sui * * documenti in questione. * * * ************************************************************************* --> <!ELEMENT RiferimentoDocumentiCartacei EMPTY> <!-- *************************** RiferimentiTelematici *********************** * * * L'elemento RiferimentiTelematici e` indice della presenza nel *

Page 22: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

22

* Messaggio Protocollato di riferimenti esterni a Documenti Informatici * * dislocati in una posizione remota (e.g. repositorio condiviso). * * * * La collocazione effettiva dei Documenti Informatici e` indicata * * all'interno dell'elemento Documento. * * * ************************************************************************* --> <!ELEMENT RiferimentiTelematici EMPTY> <!-- *************************** Oggetto ************************************* * * * L'elemento Oggetto contiene la descrizione testuale dell'oggetto del * * messaggio. * * La descrizione testuale contenuta nell'elemento Oggetto dovrebbe * * essere significativa e dovrebbe avere una lunghezza congrua, * * tipicamente almeno 30 caratteri. * * * ************************************************************************* --> <!ELEMENT Oggetto (#PCDATA)> <!-- *************************** Classifica ********************************** * * * L'elemento Classifica contiene l'indicazione di una Classifica. * * Inserito al primo livello nell'Intestazione, l'elemento Classifica * * indica la Classifica del Messaggio Protocollato. * * Nelle altre posizioni in cui viene utilizzato nella DTD tale elemento * * indica una Classifica attribuibile all'elemento che ne costituisce * * il contesto. * * * ************************************************************************* --> <!ELEMENT Classifica (CodiceAmministrazione?, CodiceAOO?, Denominazione?, Livello+)> <!ELEMENT Denominazione (#PCDATA)> <!ELEMENT Livello (#PCDATA)> <!ATTLIST Livello nome CDATA #IMPLIED > <!-- *************************** Identificativo ****************************** * * * Un Identificativo e` un codice che consente di identificare * * univocamente un'entita` dal punto di vista amministrativo * * * * La forma dell'Identificativo puo` essere stabilita dalla * * amministrazione che lo attribuisce. Un Identificativo deve essere * * compatibile con la formazione di un identificativo telematico come * * URI, cioe` Uniform Resource Identifier (RFC 1738). * * * * Regole aggiuntive * * - un Identificativo e` codificato mediante i caratteri previsti dalla * * specifica ISO 646 (US-ASCII a 7 bit) ed e` composto da una sequenza * * di lettere maiuscole ([A-Z]), lettere minuscole ([a-z]), cifre * * decimali ([0-9]) e dai caratteri '.', '-' e '_'. * * - un Identificativo deve avere una lunghezza non superiore a 32 * * caratteri. * * * ************************************************************************* --> <!ELEMENT Identificativo (#PCDATA)>

Page 23: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

23

<!-- *************************** Note **************************************** * * * Un elemento Note contiene delle note esplicative in formato testuale. * * All'interno dell'elemento Note non e` consentito l'inserimento di * * testo altrimenti strutturato, ad esempio un frammento di codice XML. * * * ************************************************************************* --> <!ELEMENT Note (#PCDATA)> <!-- *************************** Mittente ************************************ * * * La descrizione di un mittente o destinatario istituzionale in forma * * estesa e strutturata si configura come la descrizione di un percorso * * all'interno di una struttura organizzativa. * * Il formato di descrizione di tale percorso e` compatibile con lo * * schema dell'indice delle pubbliche amministrazioni previsto dal * * d.P.C.M. 31/10/00. * * * * E` comunque prevista la possibilita` di descrizioni non strutturate, * * cioe` interamente testuali, di parte o di tutti gli elementi * * coinvolti al fine di garantire la compatibilita` con sistemi * * informatici realizzati che utilizzano dati in forma non strutturata o * * in una forma strutturata non compatibile con quella descritta. * * Se utilizzata, la descrizione testuale non deve tuttavia contenere * * forme di strutturazione surrettizia (e.g. uso di * * "comma-separated values"). Il ricorso a descrizioni testuali non * * strutturate andrebbe evitato qualora possibile. * * * * L'elemento Mittente descrive il mittente del Messaggio Protocollato. * * * * Regole di corrispondenza * * - la Denominazione della AOO mittente deve corrispondere al CodiceAOO * * indicato nell'Identificatore del Messaggio Protocollato; * * - la Denominazione della AOO mittente deve corrispondere * * all'IndirizzoTelematico della casella istituzionale indicata nel * * Mittente. * * * ************************************************************************* --> <!ELEMENT Mittente (Amministrazione, AOO)> <!-- *************************** Destinatario ******************************** * * * L'elemento Destinatario descrive un destinatario del Messaggio * * Protocollato. * * * * Regole aggiuntive * * - la descrizione del Destinatario deve includere come minimo la * * Denominazione della Amministrazione oppure una Denominazione * * generica oppure il riferimento ad una Persona fisica. * * * * Regole di corrispondenza * * - qualora specificata, la Denominazione della AOO destinataria deve * * corrispondere all'IndirizzoTelematico della casella istituzionale * * indicata nel Mittente. * * * * Si noti che la specifica del Destinatario e` opzionale e pertanto * * l'inserimento di un simile elemento privo di informazioni * * significative e` inutile. * * *

Page 24: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

24

************************************************************************* --> <!ELEMENT Destinatario (((Amministrazione, AOO?) | (Denominazione, Persona*) | Persona+), IndirizzoTelematico?, Telefono*, Fax*, IndirizzoPostale?)> <!-- *************************** Amministrazione ***************************** * * * Un elemento Amministrazione rappresenta l'elemento radice della * * descrizione estesa e strutturata di un mittente o destinatario * * istituzionale, inteso come percorso all'interno di una struttura * * organizzativa. * * * * Regole aggiuntive * * - il CodiceAmministrazione dovrebbe essere incluso solo quando * * l'elemento Amministrazione compare nel contesto di un elemento * * Destinatario. * * * ************************************************************************* --> <!ELEMENT Amministrazione (Denominazione, CodiceAmministrazione?, (UnitaOrganizzativa | ((Ruolo | Persona)*, IndirizzoPostale, IndirizzoTelematico*, Telefono*, Fax*)))> <!-- *************************** UnitaOrganizzativa ************************** * * * Un elemento UnitaOrganizzativa rappresenta un elemento nel percorso * * che costituisce della descrizione di un indirizzo. * * * * L'attributo tipo descrive il tipo di unita` organizzativa. * * Un'unita` organizzativa temporanea potrebbe essere infatti istituita * * in una amministrazione a fronte di eventi speciali o per emergenza. * * * ************************************************************************* --> <!ELEMENT UnitaOrganizzativa (Denominazione, Identificativo?, (UnitaOrganizzativa | ((Ruolo | Persona)*, IndirizzoPostale, IndirizzoTelematico*, Telefono*, Fax*)))> <!ATTLIST UnitaOrganizzativa tipo (permanente | temporanea) "permanente" > <!-- *************************** AOO ***************************************** * * * Un elemento AOO specifica la Denominazione ed eventualmente il * * CodiceAOO. Non e` necessario che tale specifica contenga altre * * informazioni dato il contesto in cui questo elemento puo` essere * * inserito. * * * * Regole aggiuntive * * - il CodiceAOO dovrebbe essere incluso solo quando l'elemento AOO * * compare nel contesto di un elemento Destinatario. * * * ************************************************************************* --> <!ELEMENT AOO (Denominazione, CodiceAOO?)> <!-- *************************** Ruolo *************************************** * * * Un elemento Ruolo contiene la specifica del ruolo ricoperto da una * * persona fisica. * * * *************************************************************************

Page 25: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

25

--> <!ELEMENT Ruolo (Denominazione, Identificativo?, Persona?)> <!-- *************************** Persona ************************************* * * * Un elemento Persona contiene la specifica di un riferimento ad una * * persona fisica. * * * ************************************************************************* --> <!ELEMENT Persona ((Denominazione | (Nome?, Cognome, Titolo?, CodiceFiscale?)), Identificativo?)> <!ATTLIST Persona id ID #IMPLIED rife IDREF #IMPLIED > <!ELEMENT Nome (#PCDATA)> <!ELEMENT Cognome (#PCDATA)> <!ELEMENT Titolo (#PCDATA)> <!ELEMENT CodiceFiscale (#PCDATA)> <!-- *************************** IndirizzoPostale **************************** * * * Un IndirizzoPostale indica tipicamente la sede di un'unita` * * organizzativa o amministrazione o l'indirizzo di un cittadino o altro * * ente esterno alla pubblica amministrazione. * * * * L'attributo dug (i.e. Denominazione Urbanistica Generica) * * dell'elemento Toponimo consente di definire informazioni come "Via", * * "Viale" o "Piazza", mentre il contenuto testuale dell'elemento ne * * indica il toponimo (e.g. "Verdi", "XX Settembre"). * * * * Regole aggiuntive * * - il valore dell'attributo opzionale codiceISTAT dell'elemento Comune * * deve essere formato da sei cifre decimali con giustificazione * * mediante zeri(e.g. "018190"); * * - il valore testuale dell'elemento opzionale Nazione indica la * * codifica internazionale della nazione specificata nell'indirizzo * * in formato standard ISO 3166-1-Alpha-2. Qualora l'elemento non sia * * presente o il suo valore non specificato la nazione va interpretata * * come Italia identificata dal codice "IT"; * * la lunghezza per questo elemento e' pari a 2 caratteri; * * - il valore testuale dell'elemento Provincia deve essere formato da * * due lettere maiuscole (e.g. "RM" per Roma, "PA" per Palermo, etc.); * * - il valore testuale dell'elemento Civico qualora si riferisca ad un * * indirizzo privo del numero civico deve contenere * * l'espressione "snc". * * * ************************************************************************* --> <!ELEMENT IndirizzoPostale (Denominazione | (Toponimo, Civico, CAP, Comune, Provincia, Nazione?))> <!ELEMENT Toponimo (#PCDATA)> <!ATTLIST Toponimo dug CDATA #IMPLIED > <!ELEMENT Civico (#PCDATA)> <!ELEMENT CAP (#PCDATA)> <!ELEMENT Comune (#PCDATA)> <!ATTLIST Comune codiceISTAT CDATA #IMPLIED >

Page 26: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

26

<!ELEMENT Provincia (#PCDATA)> <!ELEMENT Nazione (#PCDATA)> <!ELEMENT Telefono (#PCDATA)> <!ATTLIST Telefono note CDATA #IMPLIED > <!ELEMENT Fax (#PCDATA)> <!ATTLIST Fax note CDATA #IMPLIED > <!-- *************************** Riferimenti ********************************* * * * L'elemento opzionale Riferimenti contiene i riferimenti ad altri * * Messaggi Protocollati e/o Contesti Procedurali (o in particolare a * * Procedimenti). * * * ************************************************************************* --> <!ELEMENT Riferimenti (Messaggio | ContestoProcedurale | Procedimento)+> <!-- *************************** Messaggio *********************************** * * * Un elemento Messaggio indica un riferimento ad un Messaggio. * * * * Regole di corrispondenza * * - nella indicazione di un riferimento ad un Messaggio Protocollato * * deve essere usato l'Identificatore attribuito dalla AOO mittente; * * - deve anche essere specificato l'Identificatore di prima * * registrazione, come definito precedentemente, se e solo se esso non * * coincide con il precedente. * * * ************************************************************************* --> <!ELEMENT Messaggio ((Identificatore | DescrizioneMessaggio), PrimaRegistrazione?)> <!-- *************************** DescrizioneMessaggio ************************ * * * Un elemento DescrizioneMessaggio descrive un riferimento ad un * * Messaggio non protocollato. * * * * Regole di corrispondenza * * - l'elemento DescrizioneMessaggio deve essere utilizzato solo per i * * riferimenti a Messaggi non protocollati; * * - la DescrizioneMessaggio riporta i dati identificativi di * * trasmissione (e.g. i dati SMTP). * * * ************************************************************************* --> <!ELEMENT DescrizioneMessaggio (#PCDATA)> <!-- *************************** ContestoProcedurale ************************* * * * Un elemento ContestoProcedurale indica un riferimento ad un * * Contesto Procedurale ovvero lo svolgimento di un generico complesso * * di attivita` amministrative in qualche modo collegate. * * * * Un Contesto procedurale e` pertanto un elemento aggregante di * * attivita` svolte all'interno di una o piu` Unita` Organizzative * * associate alla stessa AOO; le azioni svolte nell'ambito di un * * Contesto Procedurale sono finalizzate alla produzione di un *

Page 27: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

27

* risultato, finale o intermedio, che ha valore anche all'esterno * * delle Unita` Organizzative coinvolte. * * * * Regole aggiuntive * * - la DataAvvio deve essere in formato ISO 8601 esteso * * (i.e. aaaa-mm-gg - ad esempio 1963-07-15). * * * * Regole di corrispondenza * * - la forma dell'Identificativo puo` essere stabilita dalla AOO che lo * * attribuisce, tuttavia il contenuto di tale elemento deve essere * * sufficiente per l'identificazione univoca del corrispondente * * Contesto Procedurale; * * - anche il TipoContestoProcedurale puo` essere stabilito dalla AOO * * che attribuisce l'Identificativo; tuttavia non sono ammessi tipi * * che corrispondono a Procedimenti (ai sensi della l. 241/90), * * per cui si deve utilizzare un elemento Procedimento. * * * ************************************************************************* --> <!ELEMENT ContestoProcedurale (CodiceAmministrazione, CodiceAOO, Identificativo, TipoContestoProcedurale?, Oggetto?, Classifica*, DataAvvio?, Note?)> <!ATTLIST ContestoProcedurale id ID #IMPLIED rife IDREF #IMPLIED > <!ELEMENT TipoContestoProcedurale (#PCDATA)> <!ELEMENT DataAvvio (#PCDATA)> <!-- *************************** Procedimento ******************************** * * * Un elemento Procedimento indica un riferimento ad un Procedimento * * (ai sensi della l. 241/90) ed e` formalmente identico all'elemento * * ContestoProcedurale, con l'aggiunta degli elementi Responsabile e * * DataTermine. * * * * Regole aggiuntive * * - la DataTermine deve essere in formato ISO 8601 esteso * * (i.e. aaaa-mm-gg). * * * * Regole di corrispondenza * * - la forma dell'Identificativo puo` essere stabilita dalla AOO * * che lo attribuisce, tuttavia il contenuto di tale elemento deve * * essere sufficiente per l'identificazione univoca del corrispondente * * Procedimento. * * * ************************************************************************* --> <!ELEMENT Procedimento (CodiceAmministrazione, CodiceAOO, Identificativo, TipoProcedimento?, Oggetto?, Classifica*, Responsabile?, DataAvvio?, DataTermine?, Note?)> <!ATTLIST Procedimento id ID #IMPLIED rife IDREF #IMPLIED > <!ELEMENT TipoProcedimento (#PCDATA)> <!ELEMENT Responsabile (Persona)> <!ELEMENT DataTermine (#PCDATA)> <!-- *************************** Descrizione ********************************* * * * L'elemento opzionale Descrizione contiene la descrizione strutturata *

Page 28: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

28

* del contenuto del Messaggio Protocollato. * * * * L'elemento Documento si riferisce al Documento primario del Messaggio * * protocollato se questo viene inviato da una AOO di una amministrazione* * ad una AOO di una diversa amministrazione. In tal caso il Documento * * deve essere sottoscritto secondo le norme stabilite dal d.P.R. * * 445/2000. * * * * I Documenti primari riguardanti scambi tra AOO della stessa * * amministrazione possono essere indicati nell'elemento Documento o, * * in alternativa, nell'elemento TestoDelMessaggio. Se indicati nell' * * elemento Documento possono eventualmente essere sottoscritti secondo * * le modalità espresse nell'art. 5 della delibera AIPA 51/2000. * * * * Regole aggiuntive * * - l'elemento Descrizione deve essere presente in una Segnatura * * Informatica, in quanto permette di interpretare la struttura * * che rappresenta il Messaggio Protocollato. * * * ************************************************************************* --> <!ELEMENT Descrizione ((Documento | TestoDelMessaggio), Allegati?, Note?)> <!-- *************************** Documento************************************ * * * Un elemento Documento specifica un riferimento ad un Documento che * * costituisce parte integrante del Messaggio Protocollato. * * L'indicazione dei riferimento a Documenti rappresenta un aspetto * * cruciale per l'efficacia delle indicazioni tecniche specifiche qui * * contenute. * * * * Si possono avere tre tipi di riferimenti, definiti dal valore * * dell'attributo tipoRiferimento di Documento: * * 1) "MIME"/"DIME" * * riferimento a un Documento Informatico contenuto nella struttura * * che costituisce il messaggio; * * 2) "telematico" * * riferimento esterno a un Documento Informatico comunque * * reperibile per altra via (e.g. in un repositorio condiviso); * * 3) "cartaceo" * * riferimento esterno a un Documento Cartaceo trasmesso per via * * tradizionale (e.g. spedizione postale o tramite posta interna). * * * * Gli attributi id e nome di Documento caratterizzano dal punto vista * * tecnico il riferimento al Documento effettivo. Il significato degli * * attributi varia a seconda del tipo di riferimento. In particolare: * * * * - Per i riferimenti di tipo "MIME"/"DIME", il valore dell'attributo nome * corrisponde al valore del parametro filename dell'attributo * * Content-Disposition o, in subordine, al valore del parametro name * * dell'attributo Content-Type specificato per una body part della * * struttura. L'attributo id puo` essere utilizzato allo scopo di * * definire un identificatore univoco del riferimento nell'ambito della * * struttura XML. * * * * - Nel caso di un riferimento di tipo "telematico" l'attributo id puo` * * essere utilizzato allo scopo di definire un identificatore univoco * * del riferimento nell'ambito della struttura XML. * * * * - Nel caso di un riferimento di tipo "cartaceo" il valore * * dell'attributo id corrisponde al valore dell'identificativo del * * Documento Cartaceo e deve essere sempre specificato per i Documenti *

Page 29: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

29

* Cartacei non protocollati, che non hanno quindi un Identificatore di * * Registrazione riportato nell'elemento PrimaRegistrazione. Nel caso di * * un Documento Cartaceo privo di identificativo, l'attributo id puo` * * essere specificato al solo scopo di definire un identificatore * * univoco del riferimento nell'ambito della struttura XML. Viceversa, * * l'attributo nome non ha alcun significato e non deve quindi essere * * utilizzato. * * * * L'attributo tipoMIME va utilizzato solo per riferimenti a * Documenti Informatici. * * * * Regole aggiuntive * * - devono essere rispettate le regole sopra descritte per l'uso degli * * attributi di Documento. * * * * Regole di corrispondenza * * - devono essere rispettate le regole di corrispondenza sopra * * descritte per il significato dei valori degli attributi di * * Documento. * * * ************************************************************************* --> <!ELEMENT Documento ((CollocazioneTelematica, Impronta?)?, TitoloDocumento?, PrimaRegistrazione?, TipoDocumento?, Oggetto?, Classifica*, NumeroPagine?, Note?)> <!ATTLIST Documento id ID #IMPLIED rife IDREF #IMPLIED nome CDATA #IMPLIED tipoMIME CDATA #IMPLIED tipoRiferimento (MIME | DIME | telematico | cartaceo) "MIME" > <!-- *************************** TitoloDocumento ***************************** * * * L'elemento opzionale TitoloDocumento contiene l'indicazione del * * titolo esteso del documento a scopo amministrativo. * * * ************************************************************************* --> <!ELEMENT TitoloDocumento (#PCDATA)> <!-- *************************** TipoDocumento ******************************* * * * L'elemento opzionale TipoDocumento contiene l'indicazione del tipo di * * documento dal punto di vista amministrativo (e.g. circolare, nota * * informativa). * * * ************************************************************************* --> <!ELEMENT TipoDocumento (#PCDATA)> <!-- *************************** NumeroPagine ******************************** * * * L'elemento opzionale NumeroPagine contiene l'indicazione del numero * * delle pagine che compongono il documento * * * ************************************************************************* --> <!ELEMENT NumeroPagine (#PCDATA)> <!-- *************************** CollocazioneTelematica, Impronta ************

Page 30: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

30

* * * Un riferimento esterno di tipo "telematico" comporta la * * specificazione di un riferimento esterno come URI, cioe` Uniform * * Resource Identifier (RFC 1738), all'interno di un elemento di tipo * * CollocazioneTelematica. Ad un riferimento esterno di questo tipo puo` * * anche essere associata un'impronta. * * * * Regole aggiuntive * * - un elemento CollocazioneTelematica ed, eventualmente, Impronta deve * * essere presente in un Documento se e solo se il valore * * dell'attributo tipoRiferimento e` "telematico". * * - il contenuto dell'elemento CollocazioneTelematica deve essere * * sintatticamente conforme a quanto previsto dalla specifica * * pubblica RFC 1738. * * * * Regole di corrispondenza * * - l'Impronta, se presente, deve corrispondere al Documento * * Informatico indicato nell'elemento CollocazioneTelematica. * * * * Si assume comunque che l'accettazione in ingresso di Messaggi * * Protocollati che contengono riferimenti esterni a Documenti * * Informatici costituisca una scelta di gestione da parte dell'AOO * * ricevente. Pertanto, tale accettazione potrebbe essere limitata ad * * alcuni mittenti istituzionali o negata del tutto. Di quest'aspetto * * deve essere contenuta indicazione nel manuale di gestione della AOO. * * * ************************************************************************* --> <!ELEMENT CollocazioneTelematica (#PCDATA)> <!ELEMENT Impronta (#PCDATA)> <!ATTLIST Impronta algoritmo CDATA #FIXED "SHA-1" codifica CDATA #FIXED "base64" > <!-- *************************** TestoDelMessaggio *************************** * * * La presenza dell'elemento TestoDelMessaggio nella Segnatura * * Informatica indica che il Testo del Messaggio e` da considerarsi dal * * punto di vista formale come il Documento primario e deve essere * * considerato nella Registrazione di Protocollo. In assenza di tale * * indicazione il Testo del Messaggio viene semplicemente ignorato. * * La possibilità di considerare il Testo del Messaggio come documento * * primario e` consentita solo per scambi tra AOO di una stessa * * amministrazione. Nel caso di scambi tra AOO appartenenti ad * * amministrazioni diverse il Testo del Messaggio viene ignorato ai fini * * della protocollazione. * * * ************************************************************************* --> <!ELEMENT TestoDelMessaggio EMPTY> <!ATTLIST TestoDelMessaggio id CDATA #IMPLIED tipoMIME CDATA #IMPLIED tipoRiferimento NMTOKEN #FIXED "MIME" > <!-- *************************** Allegati ************************************ * * * L'elemento opzionale Allegati contiene una lista di elementi * * Documento o Fascicolo. Lo scopo di tale lista e` quello di fornire * * una descrizione, possibilmente strutturata, dei Documenti allegati al *

Page 31: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

31

* Documento primario. * * Piu` precisamente, il contenuto dell'elemento Allegati ha due scopi: * * 1) descrivere l'elenco dei Documenti allegati; * * 2) descrivere la struttura dal punto di vista amministrativo del * * Messaggio Protocollato, in termini di organizzazione in Fascicoli * * dei Documenti inclusi. * * E` quindi anche possibile che, nella descrizione della struttura, * * si faccia riferimento piu` volte allo stesso Documento, incluso il * * Documento primario (e.g. Documenti logicamente appartenenti a piu` di * * un Fascicolo). * * * * Regole di corrispondenza * * - la citazione multipla di uno stesso Documento nella descrizione * * strutturale contenuta in Allegati deve essere resa utilizzando il * * meccanismo XML degli ID/IDREF. In altri termini, il riferimento * * effettivo al Documento deve essere specificato una sola volta e * * accompagnato dalla definizione dell'attributo id di Documento; gli * * altri riferimenti vengono specificati utilizzando l'attributo rife. * * * * Si veda in proposito anche la definizione dell'elemento Documento * * descritta precedentemente. * * * ************************************************************************* --> <!ELEMENT Allegati (Documento | Fascicolo)+> <!-- *************************** Fascicolo *********************************** * * * Un elemento Fascicolo descrive l'aggregazione di Documenti o altri * * Fascicoli. * * * ************************************************************************* --> <!ELEMENT Fascicolo (CodiceAmministrazione?, CodiceAOO?, Oggetto?, Identificativo?, Classifica*, Note?, (Documento | Fascicolo)+)> <!ATTLIST Fascicolo id ID #IMPLIED rife IDREF #IMPLIED > <!-- *************************** ConfermaRicezione *************************** * * * In generale, un Messaggio di Conferma di Ricezione contiene un * * Documento XML avente una ConfermaRicezione come "ROOT ELEMENT". * * Un elemento ConfermaRicezione riporta l'Identificatore di protocollo * * attribuito al Messaggio dal ricevente e la descrizione del * * MessaggioRicevuto. * * Per gli attributi di ConfermaRicezione valgono le stesse * * considerazioni svolte per gli attributi dell'elemento Segnatura. * * * ************************************************************************* --> <!ELEMENT ConfermaRicezione (Identificatore, MessaggioRicevuto, Riferimenti?, Descrizione?)> <!ATTLIST ConfermaRicezione versione NMTOKEN #FIXED "%dataPubblicazione;" xml:lang NMTOKEN #FIXED "it" > <!-- *************************** MessaggioRicevuto *************************** * * * L'elemento MessaggioRicevuto contiene la descrizione del messaggio *

Page 32: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

32

* ricevuto. L'identificatore corrisponde alla registrazione di * * protocollo in uscita da parte del mittente. * * * * Regole di corrispondenza * * - l'elemento DescrizioneMessaggio deve essere utilizzato solo per * * confermare la ricezione di Messaggi non protocollati. * * * ************************************************************************* --> <!ELEMENT MessaggioRicevuto ((Identificatore, PrimaRegistrazione?) | DescrizioneMessaggio)> <!-- *************************** AggiornamentoConferma *********************** * * * In generale, un Messaggio di Aggiornamento di Conferma contiene un * * Documento XML avente una AggiornamentoConferma come "ROOT ELEMENT". * * Un elemento AggiornamentoConferma contiene un aggiornamento di una * * ConfermaRicezione inviata in precedenza. * * L'Identificatore corrisponde alla registrazione di protocollo in * * ingresso da parte del ricevente. * * Per gli attributi di AggioranmentoConferma valgono le stesse * * considerazioni svolte per gli attributi dell'elemento Segnatura. * * * ************************************************************************* --> <!ELEMENT AggiornamentoConferma (Identificatore, MessaggioRicevuto, Riferimenti?, Descrizione?)> <!ATTLIST AggiornamentoConferma versione NMTOKEN #FIXED "%dataPubblicazione;" xml:lang NMTOKEN #FIXED "it" > <!-- *************************** NotificaEccezione *************************** * * * In generale, un Messaggio di Notifica di Eccezione contiene un * * Documento XML avente un NotificaEccezione come "ROOT ELEMENT". * * Un elemento NotificaEccezione riporta la descrizione del * * MessaggioRicevuto e la descrizione testuale del Motivo che ha * * generato l'eccezione. * * Per gli attributi di NotificaEccezione valgono le stesse * * considerazioni svolte per gli attributi dell'elemento Segnatura. * * * * Regole di corrispondenza * * - l'elemento Identificatore deve contenere l'identificatore di * * protocollo attribuito al Messaggio dal ricevente; qualora non sia * * stato possibile protocollare in ingresso il Messaggio Ricevuto * * l'elemento Identificatore non deve essere incluso; * * - la descrizione del Motivo deve essere specifica e direttamente * * associabile alla causa che ha generato l'eccezione. * * * ************************************************************************* --> <!ELEMENT NotificaEccezione (Identificatore?, MessaggioRicevuto, Motivo)> <!ATTLIST NotificaEccezione versione NMTOKEN #FIXED "%dataPubblicazione;" xml:lang NMTOKEN #FIXED "it" > <!ELEMENT Motivo (#PCDATA)> <!-- **************************** AnnullamentoProtocollazione **************** * * * In generale, un Messaggio di Annullamento Protocollazione contiene *

Page 33: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

33

* un Documento XML avente un AnnullamentoProtocollazione come * * "ROOT ELEMENT". * * * * Un elemento AnnullamentoProtocollazione contiene l'identificatore * * della registrazione annullata e gli estremi del corrispondente * * provvedimento amministrativo. * * Per gli attributi di AnnullamentoProtocollazione valgono le stesse * * considerazioni svolte per gli attributi dell'elemento Segnatura. * * * ************************************************************************* --> <!ELEMENT AnnullamentoProtocollazione (Identificatore, Motivo, Provvedimento)> <!ATTLIST AnnullamentoProtocollazione versione NMTOKEN #FIXED "%dataPubblicazione;" xml:lang NMTOKEN #FIXED "it" > <!ELEMENT Provvedimento (#PCDATA)>

Page 34: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

34

4.5. DTD messaggi di notifica protocollo

Figura 6 – Schema del DTD Notifica Protocollo

<?xml version="1.0" encoding="UTF-8"?> <!-- L'elemento "cartcert" identifica la radice --> <!-- Il DTD viene utilizzato per notificare l'esito dell'invio di un messaggio nel colloquio tra Proxy Applicativo applicativi nella interoperabilità fra Sistemi Informativi Locali nell'ambito della rete regionale toscana --> <!-- L'attributo "tipo" identifica la tipologia del messaggio di notifica, ed in particolare permette di comunicare la accettazione di un messaggio e la avvenuta consegna, Il tipo "errore_di_consegna" è gestito solo per la ricezione di un messaggio da una AOO esterna ed è comumque prodotto dal dominio --> <!-- L'attributo "errore" codifica tutti i possibile errori che si possono verificare nell'invio di un messaggio: --> <!-- "nessuno" = nessun errore --> <!-- "no-dest" (con tipo="errore_di_consegna") = destinatario errato --> <!-- "no-conforme" (con tipo="errore_di_consegna" o "non_accettazione") = dtd messaggio originale non conforme --> <!-- "AOO-errata" (con tipo="non_accettazione”) = AOO destinataria errata o non più abilitata --> <!ELEMENT cartcert (intestazione, dati)> <!ATTLIST cartcert tipo (accettazione | non_accettazione | avvenuta_consegna | errore_di_consegna) #REQUIRED errore (nessuno | no_dest | no_conforme | AOO_errata | errore_generico) "nessuno" > <!-- Intestazione del messaggio originale --> <!ELEMENT intestazione (mittente)> <!-- Identificativo del mittente del messaggio originale --> <!ELEMENT mittente (#PCDATA)> <!-- Dati del messaggio di posta certificata --> <!ELEMENT dati (idmessaggio, data, consegna*, errore-esteso?)> <!-- Identificativo interno del messaggio --> <!ELEMENT idmessaggio (identificativoPA, identificativoAOO, numeroProtocollo, Anno)> <!-- Identificativo della PA --> <!ELEMENT identificativoPA (#PCDATA)> <!-- Identificativo della AOO -->

Page 35: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

35

<!ELEMENT identificativoAOO (#PCDATA)> <!-- Numero di registrazione protocollo --> <!ELEMENT numeroProtocollo (#PCDATA)> <!-- Anno espresso nel formato AAAA --> <!ELEMENT Anno (#PCDATA)> <!-- Data/ora di elaborazione del messaggio --> <!ELEMENT data (giorno, ora)> <!-- Giorno nel formato "aaaa-mm-gg " --> <!ELEMENT giorno (#PCDATA)> <!-- Ora locale in formato "hh:mm:ss" --> <!ELEMENT ora (#PCDATA)> <!-- Per le ricevute di consegna e di errore di consegna --> <!-- Destinatario a cui è stata effettuata/tentata la consegna --> <!ELEMENT consegna (#PCDATA)> <!-- In caso di errore --> <!-- Descrizione errore --> <!ELEMENT errore-esteso (destinatario*)> <!-- Dati relativi ai destinatari per i quali non è stato possibile consegnare il messaggio --> <!ELEMENT destinatario (indirizzo, motivazione?)> <!-- Denominazione del destinatario per il quale non è stato possibile pubblicare il messaggio sul Framework CA (non accettazione) o del destinatario al quale non è stato possibile consegnare il messaggio (errore di consegna) --> <!ELEMENT indirizzo (#PCDATA)> <!-- Descrizione estesa relativa all'errore che ha causata la mancata accettazione/consegna --> <!ELEMENT motivazione (#PCDATA)>

Page 36: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

36

4.6. DTD messaggi dell’indice regionale delle AOO

Figura 7 – Schema del DTD Messaggi indice regionale delle AOO - Iscrizione AOO

Vengono riportati di seguito alcuni esempi di DTD per la validazione dei file XML utilizzati per la gestione dell’indice regionale delle AOO.

Page 37: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

37

<?xml version="1.0" encoding="UTF-8"?> <!-- L'elemento "IscrizioneAOO" identifica la radice --> <!-- Il DTD viene utilizzato per richiedere l'iscrizione di una AOO --> <!ELEMENT IscrizioneAOO (AOO, description, mail, nomeSIL?, webserviceVisura?, nomeResp?, cognomeResp?, mailResp?, telephonenumberResp?, dataistituzione, datasoppressione?, CAurl?, telephoneNumber?, facsimiletelephonenumber?, l?, street?, postalcode?, regione?, provincia?, codiceuff*, servizio*)> <!-- Codice Area Organizzativa Omogenea --> <!ELEMENT AOO (#PCDATA)> <!-- Nome esteso amministrazione --> <!ELEMENT description (#PCDATA)> <!-- Indirizzo e-mail istituzionale AOO: indirizzo della casella "istituzionale" di posta elettronica associato alla AOO. --> <!ELEMENT mail (#PCDATA)> <!--Nome del SIL cui afferisce la AOO--> <!ELEMENT nomeSIL (#PCDATA)> <!--URL del webservice per le visure--> <!ELEMENT webserviceVisura (#PCDATA)> <!-- Nome referente --> <!ELEMENT nomeResp (#PCDATA)> <!-- Cognome referente --> <!ELEMENT cognomeResp (#PCDATA)> <!-- Indirizzo e-mail referente --> <!ELEMENT mailResp (#PCDATA)> <!-- Numero telefono referente --> <!ELEMENT telephonenumberResp (#PCDATA)> <!-- Data istituzione nel formato AAAA-MM-GG --> <!ELEMENT dataistituzione (#PCDATA)> <!-- Data soppressione nel formato AAAA-MM-GG --> <!ELEMENT datasoppressione (#PCDATA)> <!-- URL CA emittente certificato: collegamento alla Certification Authority per la verifica della validità dei certificati da utilizzare per l'accesso ai servizi protetti --> <!ELEMENT CAurl (#PCDATA)> <!-- Numero di telefono --> <!ELEMENT telephoneNumber (#PCDATA)> <!-- Numero fax --> <!ELEMENT facsimiletelephonenumber (#PCDATA)> <!-- Denominazione Città sede legale amministrazione --> <!ELEMENT l (#PCDATA)> <!-- Indirizzo sede legale amministrazione --> <!ELEMENT street (#PCDATA)> <!-- CAP sede legale amministrazione --> <!ELEMENT postalcode (#PCDATA)> <!-- Denominazione Regione di appartenenza sede legale --> <!ELEMENT regione (#PCDATA)> <!-- Denominazione Provincia di appartenenza sede legale --> <!ELEMENT provincia (#PCDATA)> <!-- Codice Ufficio --> <!ELEMENT codiceuff (#PCDATA)> <!-- Dati servizio --> <!ELEMENT servizio (nomes, descriziones, fruibs, servizioTelematico, mailS, telephonenumbers)> <!-- Nome servizio -->

Page 38: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

38

<!ELEMENT nomes (#PCDATA)> <!-- Descrizione servizio --> <!ELEMENT descriziones (#PCDATA)> <!-- Fruibilità da internet del servizio --> <!ELEMENT fruibs (#PCDATA)> <!-- URL Servizio --> <!ELEMENT servizioTelematico (#PCDATA)> <!-- Indirizzo e-mail servizio --> <!ELEMENT mailS (#PCDATA)> <!-- Numero di telefono servizio --> <!ELEMENT telephonenumbers (#PCDATA)>

Page 39: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

39

Figura 8 – Schema del DTD Messaggi indice regionale delle AOO – Aggiornamento IAOO

Page 40: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

40

<?xml version="1.0" encoding="UTF-8"?> <!-- L'elemento "AggiornamentoIAOO" identifica la radice --> <!-- Il DTD viene utilizzato per richiedere l'iscrizione di una AOO --> <!ELEMENT AggiornamentoIAOO (AOO, description, mail, nomeSIL?, webserviceVisura?, nomeResp?, cognomeResp?, mailResp?, telephonenumberResp?, dataistituzione, datasoppressione?, CAurl?, telephoneNumber?, facsimiletelephonenumber?, l?, street?, postalcode?, regione?, provincia?, codiceuff*, servizio*)> <!-- Codice Area Organizzativa Omogenea --> <!ELEMENT AOO (#PCDATA)> <!-- Nome esteso amministrazione --> <!ELEMENT description (#PCDATA)> <!-- Indirizzo e-mail istituzionale AOO: indirizzo della casella "istituzionale" di posta elettronica associato alla AOO. --> <!ELEMENT mail (#PCDATA)> <!--Nome del SIL cui afferisce la AOO--> <!ELEMENT nomeSIL (#PCDATA)> <!--URL del webservice per le visure--> <!ELEMENT webserviceVisura (#PCDATA)> <!-- Nome referente --> <!ELEMENT nomeResp (#PCDATA)> <!-- Cognome referente --> <!ELEMENT cognomeResp (#PCDATA)> <!-- Indirizzo e-mail referente --> <!ELEMENT mailResp (#PCDATA)> <!-- Numero telefono referente --> <!ELEMENT telephonenumberResp (#PCDATA)> <!-- Data istituzione nel formato AAAA-MM-GG --> <!ELEMENT dataistituzione (#PCDATA)> <!-- Data soppressione nel formato AAAA-MM-GG --> <!ELEMENT datasoppressione (#PCDATA)> <!-- URL CA emittente certificato: collegamento alla Certification Authority per la verifica della validità dei certificati da utilizzare per l'accesso ai servizi protetti --> <!ELEMENT CAurl (#PCDATA)> <!-- Numero di telefono --> <!ELEMENT telephoneNumber (#PCDATA)> <!-- Numero fax --> <!ELEMENT facsimiletelephonenumber (#PCDATA)> <!-- Denominazione Città sede legale amministrazione --> <!ELEMENT l (#PCDATA)> <!-- Indirizzo sede legale amministrazione --> <!ELEMENT street (#PCDATA)> <!-- CAP sede legale amministrazione --> <!ELEMENT postalcode (#PCDATA)> <!-- Denominazione Regione di appartenenza sede legale --> <!ELEMENT regione (#PCDATA)> <!-- Denominazione Provincia di appartenenza sede legale --> <!ELEMENT provincia (#PCDATA)> <!-- Codice Ufficio --> <!ELEMENT codiceuff (#PCDATA)> <!-- Dati servizio -->

Page 41: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

41

<!ELEMENT servizio (nomes, descriziones, fruibs, servizioTelematico, mailS, telephonenumbers)> <!-- Nome servizio --> <!ELEMENT nomes (#PCDATA)> <!-- Descrizione servizio --> <!ELEMENT descriziones (#PCDATA)> <!-- Fruibilità da internet del servizio --> <!ELEMENT fruibs (#PCDATA)> <!-- URL Servizio --> <!ELEMENT servizioTelematico (#PCDATA)> <!-- Indirizzo e-mail servizio --> <!ELEMENT mailS (#PCDATA)> <!-- Numero di telefono servizio --> <!ELEMENT telephonenumbers (#PCDATA)>

Page 42: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

42

Figura 9 – Schema del DTD Messaggi indice regionale delle AOO - Aggiornamento IUO

Page 43: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

43

<?xml version="1.0" encoding="UTF-8"?> <!-- L'elemento "AggiornamentoIUO" identifica la radice --> <!-- Il DTD viene utilizzato per richiedere l'aggiornamento dell'Indice delle Unità Organizzative --> <!ELEMENT AggiornamentoIUO (ou, description, dn?, aooref?, mail?, st?, CAurl?, telephoneNumber?, facsimiletelephonenumber?, l?, street?, postalcode?, regione?, provincia?, nomeResp?, cognomeResp?, mailResp?, telephonenumberResp?, servizio*)> <!-- Codice ufficio --> <!ELEMENT ou (#PCDATA)> <!-- Nome ufficio --> <!ELEMENT description (#PCDATA)> <!-- Codice dell'Unità Organizzativa (ufficio, divisione, direzione, dipartimento) di appartenenza --> <!ELEMENT dn (#PCDATA)> <!-- Codice dell'Area Organizzativa Omogena a cui l'unità fa riferimento per il protocollo informatico --> <!ELEMENT aooref (#PCDATA)> <!-- Indirizzo e-mail ufficio: se di posta elettronica certificata deve fare riferimento al dominio di posta elettronica certificata dell'amministrazione --> <!ELEMENT mail (#PCDATA)> <!-- Casella di posta elettronica certificata: indicare "SI" se l'indirizzo specificato nel campo "mail" fa riferimento ad una casella di posta elettronica certificata, "NO" altrimenti; è obbligatorio se il campo "mail" è valorizzato --> <!ELEMENT st (#PCDATA)> <!-- URL Certification Autority emittente certificato --> <!ELEMENT CAurl (#PCDATA)> <!-- Numero di telefono --> <!ELEMENT telephoneNumber (#PCDATA)> <!-- Numero di fax --> <!ELEMENT facsimiletelephonenumber (#PCDATA)> <!-- Denominazione Città --> <!ELEMENT l (#PCDATA)> <!-- Indirizzo --> <!ELEMENT street (#PCDATA)> <!-- CAP sede --> <!ELEMENT postalcode (#PCDATA)> <!-- Denominazione regione --> <!ELEMENT regione (#PCDATA)> <!-- Denominazione provincia --> <!ELEMENT provincia (#PCDATA)> <!-- Nome responsabile --> <!ELEMENT nomeResp (#PCDATA)> <!-- Cognome responsabile --> <!ELEMENT cognomeResp (#PCDATA)> <!-- Indirizzo e-mail del responsabile --> <!ELEMENT mailResp (#PCDATA)> <!-- Numero di telefono responsabile --> <!ELEMENT telephonenumberResp (#PCDATA)> <!-- Dati sul servizio -->

Page 44: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

44

<!ELEMENT servizio (nomeS, descrizioneS, fruibS, servizioTelematico, mailS, telephonenumberS)> <!-- Nome servizio --> <!ELEMENT nomeS (#PCDATA)> <!-- Descrizione servizio --> <!ELEMENT descrizioneS (#PCDATA)> <!-- Fruibilità da internet del servizio --> <!ELEMENT fruibS (#PCDATA)> <!-- URL Servizio --> <!ELEMENT servizioTelematico (#PCDATA)> <!-- Indirizzo e-mail referente servizio --> <!ELEMENT mailS (#PCDATA)> <!-- Numero di telefono referente servizio --> <!ELEMENT telephonenumberS (#PCDATA)>

Page 45: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

45

4.7. DTD ACKNOWLEDGEMENT

Figura 10 – Schema del DTD Acknowledgement

<?xml version="1.0" encoding="UTF-8"?> <!-- L'elemento acknowledgement identifica la radice. Il DTD viene utilizzato per comunicare l'esito dell'invio o ricezione di un busta soap tra Proxy Applicativo e SIL evoluto. --> <!ELEMENT acknowledgement (codice, descrizione?)> <!-- L'elemento codice identifica il numero di codice di errore dell'invio di un busta soap. --> <!ELEMENT codice (#PCDATA)> <!-- L'attritbuto esito identifica conferma l'invio di un busta soap nel seguente modo: SI = esito positivo , codice 0 NO = esito negativo i codice sono da definire. --> <!ATTLIST codice esito (SI | NO) "SI"> <!-- L'elemento descrizione identifica conferma l'invio di un busta soap. --> <!ELEMENT descrizione (#PCDATA)>

Page 46: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

46

4.8. DTD messaggio comunicazione non conforme

Figura 1 - Schema del DTD di comunicazione non conforme

<?xml version="1.0" encoding="UTF-8"?> <!-- L'elemento "nonconforme" identifica la radice --> <!-- Il DTD viene utilizzato per notificare i dati riepilogativi del messaggio di comunicazione non conforme, ovvero di: - un messaggio errato o di posta ordinaria inviato a Sistemi Informativi Locali nell'ambito della rete regionale toscana attraverso un sistema di posta certificata - un messaggio di posta elettronica certificata inviata da un soggetto non pubblico accreditato tramite un intermediario certificato - un messaggio di comunicazione inserito da un soggetto non pubblico accreditato in possesso di un certificato di accesso rilasciato da una autorità di certificazione riconosciuta ed interoperante con la CA di Rete Telematica Regionale Toscana--> <!ELEMENT nonconforme (intestazione, dati)> <!-- Identitica la natura della comunicazione: - "ANOMTRASP": messaggio errato o di posta ordinaria inviato ad Sistemi Informativi Locali nell'ambito della rete regionale toscana attraverso un sistema di posta certificata - "NONPAINT": da soggetto non pubblico accreditato attraverso un sistema intermediario di posta certificata - "NONPAWEB": da soggetto non pubblico accreditato in possesso di un certificato di accesso rilasciato da una autorità di certificazione riconosciuta ed interoperante con la CA di Rete Telematica Regionale Toscana --> <!ATTLIST nonconforme tipologia (ANOMTRASP | NONPAINT | NONPAWEB) #REQUIRED> <!-- Intestazione del messaggio di comunicazione non conforme --> <!ELEMENT intestazione (mittente)> <!-- Identificativo del mittente del messaggio originale --> <!ELEMENT mittente (#PCDATA)> <!-- Dati del messaggio di posta certificata --> <!ELEMENT dati (idmessaggio, data, consegna*, errore-esteso?)>

Page 47: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

47

<!-- Identificativo del messaggio originale --> <!ELEMENT idmessaggio (#PCDATA)> <!-- Identitica se inviare o meno il messaggio di avvenuta protocollazione --> <!ATTLIST idmessaggio avvenutaProtocollazione (noninvio | invio) #REQUIRED> <!-- Data/ora di elaborazione del messaggio --> <!ELEMENT data (giorno, ora)> <!-- Giorno nel formato "aaaa-mm-gg" --> <!ELEMENT giorno (#PCDATA)> <!-- Ora locale in formato "hh:mm:ss" --> <!ELEMENT ora (#PCDATA)> <!-- Destinatario al quale era indirizzato il messaggio originale --> <!ELEMENT consegna (#PCDATA)> <!-- Descrizione errore --> <!ELEMENT errore-esteso (#PCDATA)>

Page 48: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

48

4.9. Composizione dei parametri dei messaggi di protocollo e funzionamento per l’invio Loopback

Una volta composto il messaggio il sistema individuerà i destinatari in base ai dati contenuti nell’xml inviato. In questa sezione si spiega la modalità loopback dell’invio dei messaggi di protocollo che corrisponde ad una attivazione di una coda che permette di inviare a se stessi. Le modalità di loopback per la composizione dei messaggi rimane la stessa di quella operativa, l’unica differenza e di compilare gil xml con i dati relativi ai veri destinatari del messaggio di protocollo.

4.9.1. Segnatura.xml: Il giallo indica i parametri per l’ID del messaggio (AMM124**AOO.124**123**2004-06-01) che sono relativi alla AOO mittente, invece il rosso indica i dati relativi ai destinatari ,che in questo caso è la mail certificata del destinatario e il codice della AOO. Nel caso operativo i dati destinatari cambieranno in base alla AOO alla quale si vuole spedire il messaggio, mentre i dati relativi alla AOO mittente sono sempre gli stessi eccetto il numero e la data di registrazione. i parametri delle AOO mittente sono : nomeSIL=124 (codice di test) nomeEvento= Protocollo idMessaggio= AMM124**AOO.124**123**2004-06-01 (questo è l’unico parametro che cambia in base al messaggio inviato.) <?xml version="1.0" encoding="UTF-8"?> <Segnatura xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/prova/Segnatura.xsd"> <Intestazione> <Identificatore> <CodiceAmministrazione>AMM124</CodiceAmministrazione> <CodiceAOO>AOO.124</CodiceAOO> <NumeroRegistrazione>123</NumeroRegistrazione> <DataRegistrazione>2004-06-01</DataRegistrazione> </Identificatore> <Origine> <IndirizzoTelematico> [email protected] </IndirizzoTelematico> <Mittente> <Amministrazione> <Denominazione>Amministrazione di prova 02</Denominazione> <Ruolo> <Denominazione>Ruolo</Denominazione> </Ruolo> <IndirizzoPostale> <Denominazione>Via delle Vigne 12 - Firenze</Denominazione> </IndirizzoPostale> </Amministrazione> <AOO> <Denominazione>Area Organizzativa Omogenea di prova 02</Denominazione> </AOO> </Mittente> </Origine> <Destinazione> <IndirizzoTelematico>[email protected]</IndirizzoTelematico> <Destinatario> <Amministrazione> <Denominazione>Amministrazione del SIL 01</Denominazione> <Ruolo> <Denominazione>Ruolo</Denominazione>

Page 49: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

49

</Ruolo> <IndirizzoPostale> <Denominazione>Via dei ghibellini, 123 - Firenze</Denominazione> </IndirizzoPostale> </Amministrazione> <AOO> <Denominazione>Area Organizzativa Omogenea 01</Denominazione> <CodiceAOO>AOO.124</CodiceAOO> </AOO> </Destinatario> </Destinazione> <Oggetto>Registrazione documento</Oggetto> </Intestazione> <Descrizione> <Documento nome="Documento2.xml"> <TitoloDocumento>Documento primario 2</TitoloDocumento> <TipoDocumento>Circolare</TipoDocumento> <Oggetto>Oggetto del documento di prova 2</Oggetto> <NumeroPagine>1</NumeroPagine> <Note>Note del documento</Note> </Documento> <Allegati> <Documento nome="Doc_Allegato1.pdf"> <TitoloDocumento>Allegato 1</TitoloDocumento> <TipoDocumento>Allegato</TipoDocumento> <Oggetto>Allegato al documento di prova 2</Oggetto> <NumeroPagine>1</NumeroPagine> <Note>Allegato al documento</Note> </Documento> <Documento nome="Doc_Allegato2.pdf"> <TitoloDocumento>Allegato 2</TitoloDocumento> <TipoDocumento>Allegato</TipoDocumento> <Oggetto>Allegato al documento di prova 2</Oggetto> <NumeroPagine>2</NumeroPagine> <Note>Allegato al documento</Note> </Documento> <Documento nome="Doc_Allegato3.pdf"> <TitoloDocumento>Allegato 3</TitoloDocumento> <TipoDocumento>Allegato</TipoDocumento> <Oggetto>Allegato al documento di prova 2</Oggetto> <NumeroPagine>3</NumeroPagine> <Note>Allegato al documento</Note> </Documento> </Allegati>

4.9.2. Conferma.xml: Il giallo indica i parametri per l’ID del messaggio (AMM124**AOO.124**125**2004-08-12 ) che sono relativi alla AOO mittente, invece il rosso indica i dati relativi al destinatario ,che in questo caso sono il codice delle AOO il codice della amministrazione, il numero di protocollo e la data del messaggio ricevuto precedentemente (es. dalla Segnatura.xml ) che hanno fatto richiesta della conferma. Nel caso operativo i dati dei destinatari cambieranno in base alla AOO alla quale si deve spedire il messaggio di conferma.

Page 50: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

50

I parametri delle AOO mittente sono : nomeSIL=124 (codice di test) nomeEvento= Protocollo idMessaggio= AMM124**AOO.124**125**2004-08-12 (questo è l’unico parametro che cambia in base al messaggio inviato.)

<?xml version="1.0" encoding="UTF-8"?> <ConfermaRicezione xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/prova/Segnatura.xsd"> <Identificatore> <CodiceAmministrazione>AMM124</CodiceAmministrazione> <CodiceAOO>AOO.124</CodiceAOO> <NumeroRegistrazione>125</NumeroRegistrazione> <DataRegistrazione>2004-08-12</DataRegistrazione> </Identificatore> <MessaggioRicevuto> <Identificatore> <CodiceAmministrazione>AMM124</CodiceAmministrazione> <CodiceAOO>AOO.124</CodiceAOO> <NumeroRegistrazione>987654321</NumeroRegistrazione> <DataRegistrazione>2004-08-06</DataRegistrazione> </Identificatore> </MessaggioRicevuto> </ConfermaRicezione

4.9.3. Aggiornamento.xml: Il giallo indica i parametri per l’ID del messaggio (AMM124**AOO.124**123**2004-06-01) che sono relativi alla AOO mittente, invece il rosso indica i dati relativi al destinatario ,che in questo caso sono il codice delle AOO il codice della amministrazione , il numero di protocollo e la data del messaggio ricevuto precedentemente (es. dalla Segnatura.xml ) al quale si deve inviare l’aggiornamento. Nel caso operativo i dati dei destinatari cambieranno in base alla AOO alla quale si deve spedire il messaggio di aggiornamento. I parametri delle AOO mittente sono :

nomeSIL=124 (codice di test) nomeEvento= Protocollo idMessaggio= AMM124**AOO.124**123**2004-06-01 (questo è l’unico parametro che cambia in base al messaggio inviato.)

<?xml version="1.0" encoding="UTF-8"?> <AggiornamentoConferma xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/prova/Segnatura.xsd"> <Identificatore> <CodiceAmministrazione>AMM124</CodiceAmministrazione> <CodiceAOO>AOO.124</CodiceAOO> <NumeroRegistrazione>123</NumeroRegistrazione> <DataRegistrazione>2004-06-01</DataRegistrazione> </Identificatore> <MessaggioRicevuto> <Identificatore> <CodiceAmministrazione>AMM124</CodiceAmministrazione>

Page 51: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

51

<CodiceAOO>AOO.124</CodiceAOO> <NumeroRegistrazione>122343</NumeroRegistrazione> <DataRegistrazione>2004-04-01</DataRegistrazione> </Identificatore> </MessaggioRicevuto> </AggiornamentoConferma>

4.9.4. Annulamento.xml: Il rosso indicano il destinatario ,che in questo caso sono il codice delle AOO il codice della amministrazione, il numero di protocollo e la data del messaggio ricevuto precedentemente (es. dalla Segnatura.xml ) che è stato annullato. Quindi L’id del messaggio per una particolarità del messaggio in questione coincide con i dati del destinatario: AMM124**AOO.124**125**2004-08-12 Nel caso operativo i dati dei destinatari cambieranno in base alla AOO alla quale si deve spedire il messaggio di annullamento. <?xml version="1.0" encoding="UTF-8"?> <AnnullamentoProtocollazione xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/prova/Segnatura.xsd"> <Identificatore> <CodiceAmministrazione>AMM124</CodiceAmministrazione> <CodiceAOO>AOO.124</CodiceAOO> <NumeroRegistrazione>125</NumeroRegistrazione> <DataRegistrazione>2004-08-12</DataRegistrazione> </Identificatore> <Motivo>Motivo 1</Motivo> <Provvedimento>Provvedimento 1</Provvedimento> </AnnullamentoProtocollazione>

4.9.5. Eccezione.xml: Il giallo indica i parametri per l’ID del messaggio (AMM124**AOO.124**125**2004-08-10) che sono relativi alla AOO mittente, invece il rosso indica i dati relativi al destinatario ,che in questo caso sono il codice delle AOO il codice della amministrazione, il numero di protocollo e la data del messaggio ricevuto precedentemente (es. dalla Segnatura.xml) che ha subito una eccezione. Nel caso operativo i dati dei destinatari cambieranno in base alla AOO alla quale si deve spedire il messaggio di conferma. <?xml version="1.0" encoding="UTF-8"?> <NotificaEccezione xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/prova/Segnatura.xsd"> <Identificatore> <CodiceAmministrazione>AMM124</CodiceAmministrazione> <CodiceAOO>AOO.124</CodiceAOO> <NumeroRegistrazione>125</NumeroRegistrazione> <DataRegistrazione>2004-08-10</DataRegistrazione>

Page 52: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

52

</Identificatore> <MessaggioRicevuto> <Identificatore> <CodiceAmministrazione>AMM124</CodiceAmministrazione> <CodiceAOO>AOO.124</CodiceAOO> <NumeroRegistrazione>7654321</NumeroRegistrazione> <DataRegistrazione>2004-02-10</DataRegistrazione> </Identificatore> </MessaggioRicevuto> <Motivo>String</Motivo> </NotificaEccezione>

5. Riferimenti ���� �������������� ����� �� ������ � ������ ����������������� � ��������������������� ��

!������!������������"��#$���������%��$��������� �� &&'��()�'�

���� ����(�*�+���� ��(,�,�����'� ������$���,�,�����*�+���� �����%��$��-$��(� '.���##$��.����������� � �������

���� ,���,���%���/��������!��$0����1��(�(�(,(�

,����,���%���/���(��$�������$����2%$����!�����3��/�4����������!��$0����1�

�)�� �����!��$0����1������������

�-������!��$0����1�����5�5��#�����!������������"��#$��������$#0��������5���0%����6�,�,.���%!!������$/����5%��!������������"��#$����(��

�+�� 7%��$8����$�,8��5�$����9:��

7%��$�5��5��/�4�����������������$##���5��$4�����!%00��� ����������$�������$��44$��/���#������(��

�;�� ��5�$9�����"��$�$999,����$��9������� ,����$�����������$�����������%��$�����5��/�4��������$5#�55�����������%#�������"��#$�����#���$����!�5�$�����������$������"��$�$��

�*�� ���������5/��%!!����������#!������������$������������:<�,!!���$��/��

�"�$5��%��%�$�!����$����!��$4�����$!!���$��/$��9�,�9���������%��$�!������5/��%!!���������:<�,!!���$��/���

�'�� ��!���5��/�4�(�(��5�$�$(��� �"�$5��%��%�$�!����$����!��$4�����$!!���$��/$��9�,�9���������%��$�!������5/��%!!���������:<�,!!���$��/��

Page 53: Definizione delle interfacce di colloquio SOAP 1oscat.rete.toscana.it/docman/view.php/25/125/Documento+Interfacce... · Progetto B2 Definizione delle interfacce di colloquio SOAP

Progetto B2

Definizione delle interfacce di colloquio SOAP 1.1

53

=!%00���$���5%��5����>�0?��

�&�� ��!���>>>(���"(�����"���"���)+(�:�� Multipurpose Internet Mail Extensions

� ��� �(�(�(��'�����#0�������.��(�))+(!�"� �(�(�(��'�����#0�������.��(�))+��

� �� ���%#���������"$����/ (+(���� ���%#���������"$�����