I servizi XML del Backbone INASAIA

W
Document Sample
scope of work template
							                        Ministero dell’Interno
                     Dipartimento per gli Affari Interni e Territoriali
                         Direzione Centrale per i Servizi Demografici




           I servizi XML del Backbone INA/SAIA

                                          Versione 0.8



1.   Introduzione
Questo documento descrive il protocollo di comunicazione dei servizi XML del sistema
backbone INA/SAIA. Viene prima esposto il formato generale delle transazioni e definito un
trasporto standard per i messaggi XML, poi per ogni servizio sono presentati il messaggio di
richiesta e l'eventuale messaggio di risposta; alla fine sono mostrati alcuni esempi di
transazione sincrona ed asincrona.

2.   Struttura dei messaggi
Nel seguito le strutture XML sono descritte privilegiando la leggibilità, quindi senza
utilizzare DTD o XML-Schema. Elementi, attributi o testi in alternativa sono scritti sulla stessa
riga, separati da una barra trasversale; elementi e attributi necessari sono scritti in grassetto;
sono scritti in grassetto anche i valori di default dei testi. Un elemento in corsivo è un
"segnaposto" definito successivamente per comodità di lettura, a cui non corrisponde un
elemento reale XML. Un elemento che può essere ripetuto è seguito da puntini di sospensione
"...".
Un servizio XML ha la seguente struttura:
<?xml version="1.0" encoding="UTF-8"?>
<servizio versione="VERSIONE">
    <richiesta> / <risposta>
</servizio>

La versione è una stringa con formato N.M, dove N e M sono numeri interi. Se due sistemi
utilizzano versioni dei messaggi che differiscono nel secondo numero (M) allora sono
compatibili: un sistema che eroghi servizi con versione N.M accetta richieste di servizio con
versioni N.x per ogni x, e risponde con risposte con versione N.M; un sistema che richiede
servizi con versione N.M accetta risposte con versioni N.x per ogni x.
Due sistemi i cui messaggi differiscono per il primo numero possono non essere compatibili;
per facilitare l'evoluzione del protocollo mantenendo la compatibilità è richiesto che eventuali
elementi o attributi non specificati dal protocollo siano trascurati nella transazione.

     2.1. Struttura interna delle richieste di servizio
Una richiesta di servizio XML ha la seguente struttura:
<richiesta>
    <mittente>CODICE</mittente>
    <destinatario>CODICE</destinatario>
    <riferimento>RIFERIMENTO</riferimento>
    <seriale>NUMERO</seriale>
    <codiceOperatore>CODICE</codiceOperatore>
    <codiceSede>CODICE</codiceSede>
    <messaggioRichiesta>...
</richiesta>

Ogni messaggio ha un mittente e un destinatario; il codice del mittente della richiesta
contiene una codifica dell'ente o sistema che effettua la richiesta.
La richiesta ha numero seriale che la identifica univocamente dato il codice mittente. Il campo
riferimento può essere utilizzato per correlare il servizio alla pratica che ha originato la
richiesta, per esempio contenendo il numero di protocollo. La coppia {mittente, seriale} è una
chiave tra tutte le richieste.
Il codice del destinatario contiene una codifica dell'ente o sistema destinatario della richiesta.
Il codice operatore ed il codice sede sono utilizzati per individuare la persona o l’ufficio
responsabile della richiesta di servizio.
Un messaggio di richiesta può essere una richiesta di attribuzione di codice fiscale, una
comunicazione di nascita, decesso, nuova residenza, immigrazione stranieri o nuovo
indirizzo. Ogni messaggio di richiesta possiede un progressivo univoco all'interno della
richiesta, ed eventualmente un riferimento parte di pratica che ha originato il messaggio.
<messaggioRichiesta>
    <riferimento>RIFERIMENTO</riferimento>
    <progressivo>NUMERO</progressivo>
    <precedente/>
    <richiestaInaSaia/> / <rispostaInaSaia>
</messaggioRichiesta>

Un singolo messaggio di richiesta può essere:
1.   un messaggio di richiesta semplice
2.   la ripetizione di un messaggio di richiesta precedente;
3.   l'annullamento di un messaggio di richiesta precedente
4.   la richiesta di risposta ad un messaggio precedente che è stato preso in carico ma non ha
     ancora avuto risposta
5.   la risposta ad un messaggio precedente che è stato preso in carico ma non ha ancora
     avuto risposta.
Nei casi 2-5 è presente l'elemento <precedente>, con la seguente struttura:
<precedente ripetizione="S/N" annullamento="S/N"
             richiestaRisposta="S/N", risposta="S/N">
    <mittente>CODICE</mittente>
    <destinatario>CODICE</destinatario>
    <riferimento>RIFERIMENTO</riferimento>
    <seriale>NUMERO</seriale>
    <messaggioRichiesta>
        <riferimento>RIFERIMENTO</riferimento>
        <progressivo>NUMERO</progressivo>
    </messaggioRichiesta>
</precedente>

L'attributo 'ripetizione' indica che il messaggio di richiesta è la ripetizione di un analogo
messaggio precedente; l'attributo 'annullamento' indica che il messaggio di richiesta annulla
un messaggio di richiesta precedente; l'attributo 'richiestaRisposta' indica che si richiede la
risposta a un messaggio di richiesta precedente che è stato preso in carico ma non ha ancora
avuto risposta; l'attributo 'risposta' indica la risposta a un messaggio di richiesta precedente
che è stato preso in carico ma non ha ancora avuto risposta.
L'elemento <richiestaInaSaia> è obbligatorio per richieste semplici e ripetizioni, opzionale per
annullamenti e richieste di risposta e deve essere assente per risposte; se presente deve essere
identico alla richiesta originaria
L'elemento <rispostaInaSaia> è obbligatorio per risposte e deve essere assente per tutti gli
altri casi.
Sono definite le richieste di attribuzione di codice fiscale, comunicazione di nascita, decesso,
nuova residenza, immigrazione, nuovo indirizzo e richiesta di dati anagrafici.
<richiestaInaSaia>
    <richiestaAttribuzioneCF/> / <comunicazioneNascita/> /
    <comunicazioneDecesso/> / <comunicazioneNuovaResidenza/>
    <comunicazioneImmigrazione/> / <comunicazioneNuovoIndirizzo/> /
    <richiestaDatiAnagrafici/>
</richiestaInaSaia>

Una risposta contiene gli stessi campi di una richiesta; il mittente della risposta è il
destinatario della richiesta e viceversa. Una risposta contiene un riferimento a un'eventuale
pratica originata dalla risposta e un numero seriale tale che la coppia {destinatario,
identificativo} è una chiave tra tutte le risposte. Il codice operatore ed il codice sede sono
utilizzati per individuare la persona o l’ufficio responsabile della risposta.
L'esito di una risposta è descritto da un codice fissato dal destinatario della richiesta, e da un
eventuale messaggio diagnostico. Una risposta corretta ha CODICE uguale al valore "ok";
valori diversi indicano errori nella gestione del messaggio.
<risposta>
    <mittente>CODICE</mittente>
    <destinatario>CODICE</destinatario>
    <riferimento>RIFERIMENTO</riferimento>
    <seriale>NUMERO</seriale>
    <codiceOperatore>CODICE</codiceOperatore>
    <codiceSede>CODICE</codiceSede>
    <esito>
        <codice>CODICE</codice>
        <diagnostica>DIAGNOSTICA</diagnostica>
    </esito>
    <messaggioRisposta>...
</risposta>

Ogni risposta contiene una sequenza di messaggi di risposta; ogni messaggio di risposta è
identificato da un progressivo univoco che lo relaziona ad un messaggio di richiesta. Per ogni
messaggio in una richiesta deve esistere un messaggio con lo stesso seriale nella risposta; non
sono ammessi seriali tranne quelli utilizzati nella richiesta. Può essere presente un riferimento
alla pratica che ha originato il messaggio di risposta.
<messaggioRisposta>
    <riferimento>RIFERIMENTO</riferimento>
    <progressivo>NUMERO</progressivo>
    <esito>
        <codice>CODICE</codice>
        <diagnostica>DIAGNOSTICA</diagnostica>
    </esito>
    <rispostaInaSaia/>
<messaggioRisposta/>

L'esito di un messaggio di risposta è descritto da un codice il cui significato dipende dal
messaggio, e da un eventuale testo diagnostico. Una risposta corretta ha CODICE contenente
uno dei valori seguenti:
1.   ok: il messaggio è stato gestito dal destinatario; se il messaggio prevede una risposta
     questa è disponibile di seguito nel messaggio;
2.   inCarico: il messaggio è stato preso in carico ma la risposta non è ancora disponibile;
     l'eventuale motivo può essere descritto nella diagnostica.
Valori diversi indicano errori nella gestione del messaggio.
Sono previste risposte ai messaggi di richiesta di attribuzione di codice fiscale e richiesta di
dati anagrafici.
<rispostaInaSaia>
    <rispostaAttribuzioneCF> / <rispostaDatiAnagrafici>
<rispostaInaSaia/>

3.   Il protocollo di trasporto
I servizi utilizzano come trasporto il protocollo HTTP/1.0; l'header standard delle richieste è
il seguente:
GET PATH HTTP/1.0
...
Content-type: text/xml
Content-length: LUNGHEZZA
...

<?xml version="1.0" encoding="UTF-8"?>
<servizio ...>
    <richiesta ...>
    ...
    </richiesta>
</servizio>

Dove PATH è il path HTTP del servizio richiesto e LUNGHEZZA è la lunghezza del
messaggio in byte. Il body HTTP contiene la richiesta di servizio XML; si ricorda che per
poter effettuare una richiesta HTTP con body non vuoto è necessario specificare il campo
Content-length.
L'header standard delle risposte è il seguente:
HTTP/1.0 200 OK
...
Content-type: text/xml
...

<?xml version="1.0" encoding="UTF-8"?>
<servizio ...>
    <risposta ...>
    ...
    </risposta>
</servizio>
Tutte gli errori lato server all'interno del servizio richiesto dovranno essere gestiti e dovranno
riportare un esito XML appropriato e uno stato HTTP 200 (OK); uno stato HTTP diverso da
200 è accettato solo in caso di mancata invocazione del servizio (PATH errato).
Nel seguito sono descritti i singoli servizi del backbone INA/SAIA.

4.   Descrizione dei primi servizi da attivare

     4.1. Servizio di richiesta di attribuzione codice fiscale
Il servizio di richiesta di attribuzione codice fiscale ha la seguente struttura:
<richiestaAttribuzioneCF versione="VERSIONE">

     <cognome>1COGNOME</cognome>
     <nome>NOME</nome>
     <sesso>M/F/A</sesso>

     <nascita>
         <data>GG-MM-AAAA</data>
         <codiceStato>ISO3</codiceStato>
         <codiceIstatComune>COMUNE</codiceIstatComune>
         <comuneEstero>DESCRIZIONE</comuneEstero>
     </nascita>

     <residenza>
         <codiceIstatComune>CODICE</codiceIstatComune>
         <prefissoToponomastico>PREFISSO</prefissoToponomastico>
         <indirizzo>INDIRIZZO</indirizzo>
         <numeroCivico>NUMERO_CIVICO</numeroCivico>
         <cap>CAP</cap>
     </residenza>

     <idUtente>UTENTE</idUTENTE>

</richiestaAttribuzioneCF>

La versione segue le stesse convenzioni date per il formato generale.
Il messaggio di risposta ad una richiesta di attribuzione codice fiscale ha la struttura
seguente:




1
  Per il significato esatto dei vari campi fare riferimento alla documentazione: "SAIA -
Protocollo di Comunicazione con Centro Servizi Anagrafe (PC/CSA) - Tracciati record 1".
<rispostaAttribuzioneCF versione="VERSIONE">

    <codiceFiscale>CODICE_FISCALE</codiceFiscale>
    <cognome>COGNOME</cognome>
    <nome>NOME</nome>
    <sesso>M/F/A</sesso>

    <nascita>
        <data>GG-MM-AAAA</data>
        <codiceStato>ISO3</codiceStato>
        <codiceIstatComune>COMUNE</codiceIstatComune>
        <comuneEstero>DESCRIZIONE</comuneEstero>
    </nascita>

    <residenza>
        <codiceIstatComune>CODICE</codiceIstatComune>
        <prefissoToponomastico>PREFISSO</prefissoToponomastico>
        <indirizzo>INDIRIZZO</indirizzo>
        <numeroCivico>NUMERO_CIVICO</numeroCivico>
        <cap>CAP</cap>
    </residenza>

    <idUtente>UTENTE</idUTENTE>

</rispostaAttribuzioneCF>

La versione segue le stesse convenzioni date per il formato generale.

    4.2. Servizio di comunicazione nascita
Il servizio di comunicazione nascita ha la seguente struttura:
<comunicazioneNascita versione="VERSIONE">

    <codiceFiscale>CODICE_FISCALE</codiceFiscale>
    <cognome>COGNOME</cognome>
    <nome>NOME</nome>
    <sesso>M/F/A</sesso>

    <nascita>
        <data>GG-MM-AAAA</data>
        <codiceStato>ISO3</codiceStato>
        <codiceIstatComune>COMUNE</codiceIstatComune>
        <comuneEstero>DESCRIZIONE</comuneEstero>
    </nascita>

    <residenza>
        <codiceIstatComune>CODICE</codiceIstatComune>
        <prefissoToponomastico>PREFISSO</prefissoToponomastico>
        <indirizzo>INDIRIZZO</indirizzo>
        <numeroCivico>NUMERO_CIVICO</numeroCivico>
        <cap>CAP</cap>
    </residenza>

    <numeroFamiglia>NUMERO_FAMIGLIA</numeroFamiglia>
    <iscrizioneAnagrafe anno="ANNO"
        particella="PARTICELLA" serie="SERIE" numero="NUMERO"/>
    <nazionalita>ISO3</nazionalita>
    <cittadinanzaItaliana>S/N</cittadinanzaItaliana>
    <iscrizioneAire>S/N</iscrizioneAire>

</comunicazioneNascita>

La versione segue le stesse convenzioni date per il formato generale.
L'esito di un messaggio di comunicazione nascita è sempre "ok"; il messaggio di risposta è
assente.
    4.3. Servizio di comunicazione decesso
Il servizio di comunicazione decesso ha la seguente struttura:
<comunicazioneDecesso versione="VERSIONE">

    <codiceFiscale>CODICE_FISCALE</codiceFiscale>
    <cognome>COGNOME</cognome>
    <cognomeAcquisito>COGNOME<cognomeAcquisito>
    <nome>NOME</nome>
    <sesso>M/F/A</sesso>

    <nascita>
        <data>GG-MM-AAAA</data>
        <codiceStato>ISO3</codiceStato>
        <codiceIstatComune>COMUNE</codiceIstatComune>
        <comuneEstero>DESCRIZIONE</comuneEstero>
    </nascita>

    <decesso>
        <data>GG-MM-AAAA</data>
        <codiceStato>ISO3</codiceStato>
        <codiceIstatComune>COMUNE</codiceIstatComune>
        <comuneEstero>DESCRIZIONE</comuneEstero>
    </decesso>

    <residenza>
        <codiceIstatComune>CODICE</codiceIstatComune>
        <prefissoToponomastico>PREFISSO</prefissoToponomastico>
        <indirizzo>INDIRIZZO</indirizzo>
        <numeroCivico>NUMERO_CIVICO</numeroCivico>
        <cap>CAP</cap>
    </residenza>

    <residenteDallaNascita>S/N</residenteDallaNascita>

    <numeroFamiglia>NUMERO_FAMIGLIA</numeroFamiglia>
    <iscrizioneAnagrafe anno="ANNO"
        particella="PARTICELLA" serie="SERIE" numero="NUMERO"/>
    <nazionalita>NAZIONALITA</nazionalita>
    <cittadinanzaItaliana>S/N</cittadinanzaItaliana>
    <aire>S/N</aire>

</comunicazioneDecesso>

La versione segue le stesse convenzioni date per il formato generale.
L'esito di un messaggio di comunicazione decesso è sempre "ok"; il messaggio di risposta è
assente.

    4.4. Servizio di comunicazione nuova residenza
Il servizio di comunicazione nuova residenza ha la seguente struttura:
<comunicazioneNuovaResidenza versione="VERSIONE">

    <codiceFiscale>CODICE_FISCALE</codiceFiscale>
    <cognome>COGNOME</cognome>
    <cognomeAcquisito>COGNOME<cognomeAcquisito>
    <nome>NOME</nome>
    <sesso>M/F/A</sesso>

    <nascita>
        <data>GG-MM-AAAA</data>
        <codiceStato>ISO3</codiceStato>
        <codiceIstatComune>COMUNE</codiceIstatComune>
        <comuneEstero>DESCRIZIONE</comuneEstero>
    </nascita>

    <provenienza>
        <codiceIstatComune>CODICE</codiceIstatComune>
        <prefissoToponomastico>PREFISSO</prefissoToponomastico>
        <indirizzo>INDIRIZZO</indirizzo>
        <numeroCivico>NUMERO_CIVICO</numeroCivico>
        <cap>CAP</cap>
    </provenienza>

    <residenza>
        <codiceIstatComune>CODICE</codiceIstatComune>
        <prefissoToponomastico>PREFISSO</prefissoToponomastico>
        <indirizzo>INDIRIZZO</indirizzo>
        <numeroCivico>NUMERO_CIVICO</numeroCivico>
        <cap>CAP</cap>
    </residenza>

    <numeroFamiglia>NUMERO_FAMIGLIA</numeroFamiglia>
    <iscrizioneAnagrafe anno="ANNO"
        particella="PARTICELLA" serie="SERIE" numero="NUMERO"/>
    <residenteDallaNascita>S/N</residenteDallaNascita>
    <nazionalita>NAZIONALITA</nazionalita>
    <cittadinanzaItaliana>S/N</cittadinanzaItaliana>
    <aire>S/N</aire>

</comunicazioneNuovaResidenza>

La versione segue le stesse convenzioni date per il formato generale.
L'esito di un messaggio di comunicazione nuova residenza è sempre "ok"; il messaggio di
risposta è assente.

    4.5. Servizio di comunicazione immigrazione stranieri
Il servizio di comunicazione immigrazione stranieri ha la seguente struttura:
<comunicazioneImmigrazione versione="VERSIONE">

    <codiceFiscale>CODICE_FISCALE</codiceFiscale>
    <cognome>COGNOME</cognome>
    <cognomeAcquisito>COGNOME<cognomeAcquisito>
    <nome>NOME</nome>
    <sesso>M/F/A</sesso>

    <nascita>
        <data>GG-MM-AAAA</data>
        <codiceStato>ISO3</codiceStato>
        <codiceIstatComune>COMUNE</codiceIstatComune>
        <comuneEstero>DESCRIZIONE</comuneEstero>
    </nascita>

    <provenienza>
        <codiceStato>ISO3</codiceStato>
        <comuneEstero>DESCRIZIONE</comuneEstero>
        <estremiPermessoSoggiorno
            scadenza="GG-MM-AAAA">ESTREMI</estremiPermessoSoggiorno>
    </provenienza>

    <residenza>
        <codiceIstatComune>CODICE</codiceIstatComune>
        <prefissoToponomastico>PREFISSO</prefissoToponomastico>
        <indirizzo>INDIRIZZO</indirizzo>
        <numeroCivico>NUMERO_CIVICO</numeroCivico>
        <cap>CAP</cap>
    </residenza>

    <numeroFamiglia>NUMERO_FAMIGLIA</numeroFamiglia>
    <iscrizioneAnagrafe anno="ANNO"
        particella="PARTICELLA" serie="SERIE" numero="NUMERO"/>
    <residenteDallaNascita>S/N</residenteDallaNascita>
    <nazionalita>NAZIONALITA</nazionalita>
    <cittadinanzaItaliana>S/N</cittadinanzaItaliana>
    <aire>S/N</aire>

</comunicazioneImmigrazione>

La versione segue le stesse convenzioni date per il formato generale.
L'esito di un messaggio di comunicazione immigrazione stranieri è sempre "ok"; il messaggio
di risposta è assente.

    4.6. Servizio di comunicazione nuovo indirizzo
Il servizio di comunicazione nuovo indirizzo ha la seguente struttura:
<comunicazioneNuovoIndirizzo versione="VERSIONE">

    <codiceFiscale>CODICE_FISCALE</codiceFiscale>
    <cognome>COGNOME</cognome>
    <cognomeAcquisito>COGNOME<cognomeAcquisito>
    <nome>NOME</nome>
    <sesso>M/F/A</sesso>

    <nascita>
        <data>GG-MM-AAAA</data>
        <codiceStato>ISO3</codiceStato>
        <codiceIstatComune>COMUNE</codiceIstatComune>
        <comuneEstero>DESCRIZIONE</comuneEstero>
    </nascita>

    <residenza>
        <codiceIstatComune>CODICE</codiceIstatComune>
        <prefissoToponomastico>PREFISSO</prefissoToponomastico>
        <indirizzo>INDIRIZZO</indirizzo>
        <numeroCivico>NUMERO_CIVICO</numeroCivico>
        <cap>CAP</cap>
    </residenza>

</comunicazioneNuovoIndirizzo>

La versione segue le stesse convenzioni date per il formato generale.
L'esito di un messaggio di comunicazione nuovo indirizzo è sempre "ok"; il messaggio di
risposta è assente.

    4.7. Servizio di Richiesta di Dati Anagrafici
Il servizio di Richiesta di Dati Anagrafici ha la seguente struttura:
<richiestaDatiAnagrafici versione="VERSIONE"
    tipo="DATI_ANAGRAF/DATIANAGR_STATOCIV/DATIANAGR_STATOCIV_FAM">

    <codiceFiscale>CODICE_FISCALE</codiceFiscale>
    <cognome>COGNOME</cognome>
    <nome>NOME</nome>
    <sesso>M/F</sesso>
    <dataNascita>GG-MM-AAAA</dataNascita>
    <comuneNascita>CODICE</comuneNascita>
    <provinciaNascita>SIGLA/EE</provinciaNascita>

</richiestaDatiAnagrafici>

La versione segue le stesse convenzioni date per il formato generale; una richiesta di dati
anagrafici può essere una richiesta di lista di sinonimi, una richiesta di dati anagrafici
semplice, una richiesta di dati anagrafici con stato civile o una richiesta di dati anagrafici con
stato civile e familiari.
Gli elementi <codiceFiscale>... <provinciaNascita> sono utilizzati per l'interrogazione.
Un messaggio di richiesta dati anagrafici ha tre esiti possibili:
"ok": il messaggio è stato gestito correttamente ed i dati richiesti si trovano nella risposta del
messaggio;
"sconosciuto": non sono stati trovati i dati anagrafici richiesti;
"successivo": il messaggio è in corso di gestione e i dati richiesti arriveranno successivamente
con un messaggio di rispostaDatiAnagrafici.
Il messaggio di risposta ad una richiesta di dati anagrafici ha la struttura seguente:
<rispostaDatiAnagrafici versione="VERSIONE">

    <individuo>
        <codiceFiscale>CODICE_FISCALE</codiceFiscale>
        <cognome>COGNOME</cognome>
        <statoCivile>STATO_CIVILE</statoCivile>
        <cognomeAcquisito>COGNOME<cognomeAcquisito>
        <nome>NOME</nome>
        <sesso>M/F/A</sesso>
        <deceduto>S/N</deceduto>

        <nascita>
            <data>GG-MM-AAAA</data>
            <codiceStato>ISO3</codiceStato>
            <codiceIstatComune>COMUNE</codiceIstatComune>
            <comuneEstero>DESCRIZIONE</comuneEstero>
        </nascita>

        <residenza>
            <codiceIstatComune>CODICE</codiceIstatComune>
            <prefissoToponomastico>PREFISSO</prefissoToponomastico>
            <indirizzo>INDIRIZZO</indirizzo>
            <numeroCivico>NUMERO_CIVICO</numeroCivico>
            <cap>CAP</cap>
        </residenza>

        <numeroFamiglia>NUMERO_FAMIGLIA</numeroFamiglia>
        <iscrizioneAnagrafe anno="ANNO"
            particella="PARTICELLA" serie="SERIE" numero="NUMERO"/>
        <residenteDallaNascita>S/N</residenteDallaNascita>
        <nazionalita>NAZIONALITA</nazionalita>
        <cittadinanzaItaliana>S/N</cittadinanzaItaliana>
        <aire>S/N</aire>

        <nuovoIndirizzo>INDIRIZZO</nuovoIndirizzo>
        <nuovoNumeroCivico>NUMERO_CIVICO</nuovoNumeroCivico>
        <nuovoCap>CAP</nuovoCap>

        <dataImmigrazione>GG-MM-AAAA<dataImmigrazione>
        <motivoEmigrazione>MOTIVO</motivoEmigrazione>
        <dataEmigrazione>GG-MM-AAAA</dataEmigrazione>

        <matrimonio>
        <familiare>

    </individuo>
</rispostaDatiAnagrafici>

La risposta è una sequenza, eventualmente vuota, di elementi <individuo>. La versione segue
le stesse convenzioni date per il formato generale.
L'elemento <matrimonio> è presente solo se la richiesta è del tipo 'DATIANAGR_STATOCIV'
oppure 'DATIANAGR_STATOCIV_FAM'.
<matrimonio>
    <dataDiMatrimonio>GG-MM-AAAA</dataDiMatrimonio>
    <cognomeConiuge>COGNOME</cognomeConiuge>
    <nomeConiuge>NOME</nomeConiuge>
    <comuneDiMatrimonio>DESCRIZIONE</comuneDiMatrimonio>
    <estremiAttoDiMatrimonio numero="NUMERO" parte="PARTE"
        serie="SERIE"/>
    <dataMorte>GG-MM-AAAA</dataMorte>
    <comuneMorte>DESCRIZIONE</comuneMorte>
    <estremiAttoMorte numero="NUMERO" parte="PARTE" serie="SERIE">
    <codiceFiscale>CODICE_FISCALE</codiceFiscale>
    <numeroFamiglia>NUMERO_FAMIGLIA</numeroFamiglia>
</matrimonio>
L'elemento <familiare> è  presente            solo   se   la   richiesta   è   del   tipo
'DATIANAGR_STATOCIV_FAM'.
<familiare>
    <cognome>COGNOME</cognome>
    <nome>NOME</nome>
    <dataDiNascita>GG-MM-AAAA</dataDiNascita>
    <sesso>M/F</sesso>
    <comuneDiNascita>DESCRIZIONE</comuneDiNascita>
    <parentela>PARENTELA</parentela>
    <statoCivile>STATO_CIVILE</statoCivile>
    <cognomeConiuge>COGNOME</cognomeConiuge>
    <nomeConiuge>NOME</nomeConiuge>
    <iscrizioneAnagrafe anno="ANNO" particella="PARTICELLA"
        serie="SERIE" numero="NUMERO"/>
</familiare>

5.   Esempi

     5.1. Comunicazione cambio di residenza
Di seguito è mostrato un esempio di richiesta di servizio di comunicazione di cambio
residenza:
<?xml version="1.0" encoding="UTF-8"?>
<servizio versione="1.1">
    <richiesta ripetizione="N" annullamento="N">
        <mittente>AT</mittente>
        <destinatario>INASAIA</destinatario>
        <riferimento>876/87</riferimento>
        <seriale>12345</seriale>

         <messaggioRichiesta>
             <riferimento>876/87-1</riferimento>
             <progressivo>1</progressivo>
             <comunicazioneNuovaResidenza versione="1.0">

                 <codiceFiscale>FRTHYG76Y76Y765V</codiceFiscale>
                 <cognome>Ferretti</cognome>
                 <nome>Giampaolo</nome>
                 <sesso>M </sesso>

                 <nascita>
                     <data>10-05-1973</data>
                     <codiceStato>ita</codiceStato>
                     <codiceIstatComune>001100</codiceIstatComune>
                 </nascita>

                 <provenienza>
                     <codiceIstatComune>001100</codiceIstatComune>
                 </provenienza>

                 <residenza>
                     <codiceIstatComune>001101</codiceIstatComune>
                     <prefissoToponomastico>Via</prefissoToponomastico>
                     <indirizzo>Antonio Moscatelli</indirizzo>
                     <numeroCivico>21</numeroCivico>
                     <cap>00100</cap>
                 </residenza>

                 <iscrizioneAnagrafe anno="1980"/>
                 <nazionalita>ita</nazionalita>

            </comunicazioneNuovaResidenza>
        </messaggioRichiesta>
    </richiesta>
</servizio>
La risposta (positiva) è:
<?xml version="1.0" encoding="UTF-8"?>
<servizio versione="1.2">
    <risposta>
        <mittente>INASAIA</mittente>
        <destinatario>AT</destinatario>
        <riferimento>1234/87</riferimento>
        <seriale>12345</seriale>
        <esito>
            <codice>Ok</codice>
        </esito>
        <messaggioRisposta>
            <riferimento>1234/87-1</riferimento>
            <progressivo>1</progressivo>
            <esito>
                <codice>Ok</codice>
            </esito>
        </messaggioRisposta>
    </risposta>
</servizio>

    5.2. Richiesta di dati anagrafici
Nel seguito è riportato un messaggio di richiesta di dati anagrafici:
<?xml version="1.0" encoding="UTF-8"?>
<servizio versione="1.1">
    <richiesta ripetizione="N" annullamento="N">
        <mittente>AT</mittente>
        <destinatario>INASAIA</destinatario>
        <riferimento>876/87</riferimento>
        <seriale>12345</seriale>

         <messaggioRichiesta>
             <riferimento>876/87-1</riferimento>
             <progressivo>1</progressivo>
             <richiestaDatiAnagrafici versione="1.0" tipo="DATI_ANAGRAF">

                   <codiceFiscale>FRTHYG76Y76Y765V</codiceFiscale>
                   <codiceOperatore>mrossi</codiceOperatore>
                   <codiceSede>001101</codiceSede>

              </richiestaDatiAnagrafici>
        </messaggioRichiesta>
    </richiesta>
</servizio>

La risposta (positiva) è:
<?xml version="1.0" encoding="UTF-8"?>
<servizio versione="1.2">
    <risposta>
        <mittente>INASAIA</mittente>
        <destinatario>AT</destinatario>
        <riferimento>1234/87</riferimento>
        <seriale>12345</seriale>
        <esito>
            <codice>Ok</codice>
        </esito>
        <messaggioRisposta>
            <riferimento>1234/87-1</riferimento>
            <progressivo>1</progressivo>
            <esito>
                <codice>Ok</codice>
            </esito>
            <rispostaDatiAnagrafici versione="1.0">

                  <individuo>
                      <codiceFiscale>FRTHYG76Y76Y765V</codiceFiscale>
                      <cognome>Ferretti</cognome>
                      <nome>Giampaolo</nome>
                      <sesso>M </sesso>

                       <nascita>
                           <data>10-05-1973</data>
                           <codiceStato>ita</codiceStato>
                           <codiceIstatComune>001100</codiceIstatComune>
                       </nascita>

                       <residenza>
                           <codiceIstatComune>001101</codiceIstatComune>
                       </residenza>

                </individuo>
            </rispostaDatiAnagrafici>
        </messaggioRisposta>
    </risposta>
</servizio>

In questo caso la risposta è stata positiva e sincrona, e ha causato il seguente scambio di
messaggi:
1.   il mittente inoltra la richiesta al Backbone INA/SAIA
2.   il Backbone INA/SAIA inoltra la richiesta al destinatario
3.   il Backbone INA/SAIA riceve la risposta al destinatario
4.   il Backbone INA/SAIA inoltra la risposta al mittente.
6.   Modalità sincrona ed asincrona
Vi sono altri casi possibili, in funzione della possibilità da parte del destinatario di rispondere
subito al messaggio, e da parte del mittente di ricevere la risposta in qualsiasi momento.
Negli esempi seguenti 'mittente' e destinatario' si riferiscono sempre al mittente e destinatario
del primo messaggio dello scambio.

     6.1. Il destinatario non risponde subito e il mittente può ricevere messaggi in qualsiasi
          momento
1.   il mittente inoltra la richiesta al Backbone INA/SAIA
2.   il Backbone INA/SAIA restituisce al mittente una risposta con esito 'inCarico'
3.   il Backbone INA/SAIA inoltra la richiesta al destinatario
4.   quando il destinatario ha completato la pratica, inoltra al Backbone INA/SAIA un
     messaggio con riferimento alla richiesta iniziale attributo 'risposta' uguale a 'S'
5.   il Backbone INA/SAIA inoltra la risposta al mittente.

     6.2. Il destinatario non risponde subito e il mittente non può ricevere messaggi in
          qualsiasi momento
1.   il mittente inoltra la richiesta al Backbone INA/SAIA
2.   il Backbone INA/SAIA restituisce al mittente una risposta con esito 'inCarico'
3.   il Backbone INA/SAIA inoltra la richiesta al destinatario
4.   quando il destinatario ha completato la pratica, inoltra al Backbone INA/SAIA un
     messaggio al mittente con riferimento alla richiesta iniziale e attributo 'risposta' uguale a
     'S'
5.   il Backbone INA/SAIA archivia temporaneamente la risposta
6.   il mittente inoltra un messaggio con riferimento alla richiesta iniziale e attributo
     'richiestaRisposta' uguale a 'S'
7.   il Backbone INA/SAIA inoltra la risposta al mittente.
Dal ricevimento della risposta con esito 'inCarico' fino al ricevimento della risposta effettiva il
mittente può richiedere lo stato della pratica inoltrando un messaggio al mittente con
riferimento alla richiesta iniziale e attributo 'richiestaRisposta' uguale a 'S'; se la risposta non è
disponibile la risposta avrà esito 'inCarico' e la diagnostica potrà eventualmente contenere
informazioni aggiuntive sullo stato della pratica.

						
Related docs