.. _headerIntegrazione_other:
Altri header di Integrazione
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Per attivare ulteriori header di integrazione è richiesto l'accesso
alla govwayConsole in modalità *avanzata* (Sezione :ref:`modalitaAvanzata`).
.. note::
Gli header di trasporto relativi alle funzionalità di Rate-Limiting e Service-Unavailable, descritti nella sezione :ref:`headerRisposta`, vengono generati solamente nella modalità *Header HTTP*.
A partire dall'erogazione o fruizione di una API, accedendo alla sezione :ref:`configSpecifica` in modalità avanzata compare
una sezione precedentemente non documentata denominata *Opzioni Avanzate*. All'interno di tale sezione è possibile agire sulla
configurazione della voce *Metadati* nella sezione *Integrazione* per attivare gli header di integrazione desiderati :
.. note::
Per ogni tipo di header di integrazione descritto di seguito è possibile indicare, tramite una voce di configurazione dedicata, se deve essere generato solamente nei messaggi inoltrati al dominio interno (richiesta inoltrata al server nelle erogazioni o risposta restituita al client nelle fruizioni) o anche verso il dominio esterno.
- *Header HTTP*: vengono generati gli header di trasporto descritti nelle precedenti sezioni.
- *Parametri della Url*: le informazioni precedentemente descritte
vengono aggiunte alla url tramite i parametri descritti nella :numref:`headerGw2SrvUrlTab`.
.. table:: Informazioni generate dal gateway nella url della richiesta inoltrata al server
:widths: auto
:name: headerGw2SrvUrlTab
================================== ==============================================================================================================
Nome Query URL Parameter Descrizione
================================== ==============================================================================================================
govway_message_id Identificativo del messaggio assegnato da GovWay
govway_relates_to Identificativo del messaggio riferito
govway_conversation_id Identificativo della conversazione
govway_transaction_id Identificativo della transazione assegnato da GovWay
govway_sender_type Codice che identifica il tipo del mittente
govway_sender Identificativo del mittente
govway_provider_type Codice che identifica il tipo del destinatario
govway_provider Identificativo del destinatario
govway_service_type Codice che identifica il tipo del servizio
govway_service Identificativo del servizio
govway_service_version Progressivo di versione del servizio
govway_action Identificativo dell'azione
govway_application_message_id Identificativo del messaggio assegnato dall'applicativo
govway_application Identificativo dell'applicativo identificato tramite autenticazione trasporto
govway_token_sender_type Codice che identifica il tipo del dominio mittente dell'applicativo identificato tramite autenticazione token
govway_token_sender Identificativo del dominio mittente dell'applicativo identificato tramite autenticazione token
govway_token_application Identificativo dell'applicativo identificato tramite autenticazione token
================================== ==============================================================================================================
- *Header SOAP GovWay*: le informazioni precedentemente descritte vengono
incluse come attributi in uno specifico header SOAP proprietario di
GovWay che possiede il nome *integration* associato al namespace
*http://govway.org/integration*. Di seguito un esempio di tale
header:
::
Nella tabella :numref:`headerGwSoapTab` vengono descritti i nome degli attributi.
.. table:: Informazioni generate dal gateway nell'header soap proprietario di GovWay
:widths: auto
:name: headerGwSoapTab
======================== ===============================================================================================================
Nome Attributo Descrizione
======================== ===============================================================================================================
messageId Identificativo del messaggio assegnato da GovWay
relatesTo Identificativo del messaggio riferito
conversationId Identificativo della conversazione
transactionId Identificativo della transazione assegnato da GovWay
senderType Codice che identifica il tipo del mittente
sender Identificativo del mittente
providerType Codice che identifica il tipo del destinatario
provider Identificativo del destinatario
serviceType Codice che identifica il tipo del servizio
service Identificativo del servizio
serviceVersion Progressivo di versione del servizio
action Identificativo dell'azione
applicationMessageId Identificativo del messaggio assegnato dall'applicativo
application Identificativo dell'applicativo
tokenSenderType Codice che identifica il tipo del dominio mittente dell'applicativo identificato tramite autenticazione token
tokenSender Identificativo del dominio mittente dell'applicativo identificato tramite autenticazione token
tokenApplication Identificativo dell'applicativo identificato tramite autenticazione token
======================== ===============================================================================================================
.. note::
Utilizzabile solamente con API di tipologia SOAP
- *WS-Addressing*: all'interno del messaggio Soap vengono generati gli
header *To*, *From*, *Action*, *MessageID* e *RelatesTo* associati al
namespace *http://www.w3.org/2005/08/addressing*. I valori utilizzati
per i vari header sono i seguenti:
- *To*
::
http://_.govway.org/services/_/
- *From*
::
http://[.]_.govway.org
- *Action*
::
http://_.govway.org/services/_//
- *MessageID* di Protocollo, ritornato in una risposta di una fruizione o inserito nella consegna della richiesta di una erogazione
::
uuid:
- *MessageID* di Integrazione, atteso nella richiesta inviata dal client in una fruizione o nella risposta ritornata dal backend in una erogazione. Viene utilizzato ad es. per la funzionalità di correlazione applicativa
::
uuid:
- *RelatesTo*
::
uuid:
.. note::
Utilizzabile solamente con API di tipologia SOAP
- *Template*: consente di definire tramite un template freemaker o velocity come le informazioni siano inserite nel messaggio di richiesta, di risposta o in entrambi.
Il tipo di template (freemarker/velocity) e il path del file template possono essere specifici per singole API indicandoli nelle proprietà 'integrazione.template.richiesta/risposta.tipo' e 'integrazione.template.richiesta/risposta.file'.
In alternativa è possibile definire il tipo e il file template a livello globale agendo sul file locale di configurazione *govway_local.properties* tramite la definizione delle proprietà 'org.openspcoop2.pdd.integrazione.template...tipo' e 'org.openspcoop2.pdd.integrazione.template...file'.
- *Header HTTP di Autenticazione*: consente di generare Header HTTP utilizzabili dal backend per autenticare l'API Gateway. I nomi degli header generati ed i loro valori possono essere specifici per singole API indicandoli nelle proprietà 'integrazione.autenticazione.headers' e 'integrazione.autenticazione.header.'.
In alternativa è possibile definire gli header a livello globale agendo sul file locale di configurazione *govway_local.properties* tramite la definizione delle proprietà 'org.openspcoop2.pdd.integrazione.autenticazione..request.headers' e 'org.openspcoop2.pdd.integrazione.autenticazione..request.header.'.
- *OpenSPCoop 2.x* o *OpenSPCoop2 1.x*: sono disponibili header di integrazione compatibili con le versioni di OpenSPCoop 2.x e 1.x:
- Header HTTP: le informazioni sono veicolate all'interno di header HTTP. È possibile indicare se i nomi degli header debbano possere o meno il prefisso 'X-';
- Parametri Url: le informazioni sono veicolate come parametri della url
- Header SOAP: le informazioni sono incluse in uno specifico header SOAP proprietario di OpenSPCoop 2.x o 1.x
- *Plugin*: consente di personalizzare i metadati scambiati attraverso l'implementazione di un plugin di GovWay (per dettagli si rimanda alla sezione :ref:`configAvanzataPlugins`).