Nuova funzionalità di Trasformazione dei Messaggi

Aggiunta la funzionalità di trasformazione dei messaggi in transito. È possibile intervenire sugli header http, sui parametri della url, sui contenuti scambiati e sul codice di risposta, tramite varie modalità di trasformazione:

  • Header HTTP: è possibile aggiungere nuovi header oppure modificare o eliminare quelli esistenti sia sulla richiesta che sulla risposta. I valori forniti possono essere statici o possono contenere parti dinamiche risolte a runtime dal Gateway.

  • Parametri della URL: è possibile aggiungere nuovi parametri oppure modificare o eliminare quelli esistenti. I valori forniti possono essere statici o possono contenere parti dinamiche risolte a runtime.

  • Payload HTTP: la funzionalità consente di modificare il payload della richiesta e/o della risposta. È possibile indicare la generazione di un payload vuoto o fornire un nuovo payload definito tramite una delle seguenti modalità:

    • GovWay Template: file contenente parti dinamiche risolte a runtime in maniera analoga agli header http e ai parametri della url.

    • Freemarker Template: template dinamico che può utilizzare i costrutti supportati da “Freemarker” ( https://freemarker.apache.org/ ).

    • Velocity Template: template dinamico che può utilizzare i costrutti supportati da “Velocity” ( http://velocity.apache.org/ ).

    • XSLT: fogli di stile XSLT utilizzabili su messaggi di tipo XML o SOAP.

  • Trasformazione di Protocollo: è possibile effettuare trasformazioni di protocollo da SOAP a REST o viceversa, permettendo anche di fruire o erogare lo stesso servizio in entrambe le modalità.

Le regole di trasformazione sono soggette ai seguenti criteri di applicabilità:

  • Elenco Risorse: indicazione puntuale di una o più risorse a cui la trasformazione deve essere applicata.

  • Elenco Soggetti e/o Applicativi: indicazione puntuale di uno o più soggetti e/o applicativi mittenti.

  • Content-Type: indicazione del Content-Type della richiesta.

  • Espressione XPath o JsonPath: espressione applicata sul messaggio di richiesta. La trasformazione viene applicata in caso di match.

All’interno di una regola di trasformazione, è possibile poi applicare trasformazioni diverse della risposta ottenuta in funzione di:

  • Codice Risposta: codice di risposta http.

  • Content-Type: indicazione sul Content-Type della risposta.

  • Espressione XPath o JsonPath: espressione applicata sul messaggio di risposta. La trasformazione viene applicata in caso di match.