Altri header di Integrazione
Per attivare ulteriori header di integrazione è richiesto l’accesso alla govwayConsole in modalità avanzata (Sezione Modalità Avanzata).
Nota
Gli header di trasporto relativi alle funzionalità di Rate-Limiting e Service-Unavailable, descritti nella sezione Informazioni restituite dal gateway nella risposta all’applicativo client, vengono generati solamente nella modalità Header HTTP.
A partire dall’erogazione o fruizione di una API, accedendo alla sezione Configurazione dell’API 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 :
Nota
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 Tabella 31. - Tabella 31 Informazioni generate dal gateway nella url della richiesta inoltrata al server - 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: - <gw:integration ... transactionId="a2c6fd66-ec0b-407c-8a21-25b4920e7c73" SOAP_ENV:actor="http://govway.org/integration" SOAP_ENV:mustUnderstand="0" xmlns:SOAP_ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gw="http://govway.org/integration"/> - Nella tabella Tabella 32 vengono descritti i nome degli attributi. - Tabella 32 Informazioni generate dal gateway nell’header soap proprietario di GovWay - 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 - Nota - 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://<providerType>_<provider>.govway.org/services/<serviceType>_<service>/<serviceVersion> 
- From - http://[<application>.]<senderType>_<sender>.govway.org 
- Action - http://<providerType>_<provider>.govway.org/services/<serviceType>_<service>/<serviceVersion>/<action> 
- MessageID di Protocollo, ritornato in una risposta di una fruizione o inserito nella consegna della richiesta di una erogazione - uuid:<messageId> 
- 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:<applicationMessageId> 
- RelatesTo - uuid:<relatesTo> 
 - Nota - 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.<pd/pa>.<request/response>.tipo” e “org.openspcoop2.pdd.integrazione.template.<pd/pa>.<request/response>.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.<NOME_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.<pd/pa>.request.headers” e “org.openspcoop2.pdd.integrazione.autenticazione.<pd/pa>.request.header.<NOME_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 Plugins).