GovWay
  • Console di Gestione
    • Introduzione
    • Profilo “API Gateway”
      • Definizione delle API
      • Registrazione dell’erogazione
      • Registrazione della fruizione
      • Versionamento delle API
      • Configurazione dell’API
      • Sospensione API
      • Connettore
        • Verifica Connettività Connettore
        • Applicativi Server
        • Load Balancer
        • Consegna Condizionale
        • ProxyPassReverse per Header HTTP Location e Set-Cookie
        • Content-Length nella risposta
        • Decompressione automatica del body (Content-Encoding)
        • Content-Type “multipart/related” privo del parametro “type”
      • Gestione CORS
      • Differenziare le configurazioni specifiche per risorsa/azione
      • Controllo degli Accessi
      • Rate Limiting
      • Validazione dei messaggi
      • Caching Risposta
      • Sicurezza a livello del messaggio
      • Trasformazioni
      • Tracciamento
      • Correlazione Applicativa
      • MTOM
      • Registrazione Messaggi
      • Proprietà
    • Profilo “ModI”
    • Profilo “eDelivery”
    • Profilo “SPCoop”
    • Profilo “Fatturazione Elettronica”
    • Strumenti
    • Configurazione
    • Errori generati da GovWay
    • Funzionalità Avanzate
  • Console di Monitoraggio
  • Guida di Installazione
  • Scenari Applicativi
  • How-To
  • API
  • Processo di Validazione
  • Gestione delle Vulnerabilità
  • Versioni di GovWay
  • Release Notes
  • Migrazione da OpenSPCoop


  • Home
  • Download
  • Funzionalità principali
  • Specifiche di riferimento
  • Documentazione
GovWay
  • Guida alla Console di Gestione
  • Profilo “API Gateway”
  • Connettore
  • Content-Type “multipart/related” privo del parametro “type”
  • Visualizza sorgente pagina

Content-Type “multipart/related” privo del parametro “type”

La RFC 2387, Section 3.1 impone che il parametro type sia sempre presente in un Content-Type “multipart/related”, in modo che il consumer possa determinare il media type della root part del multipart senza dover ispezionare il payload. Per i messaggi SOAP-with-Attachments la W3C Note «SOAP Messages with Attachments», Section 3 e il WS-I Attachments Profile 1.0, R2904 richiedono inoltre type=»text/xml» per SOAP 1.1 (e analogamente «application/soap+xml» per SOAP 1.2).

In presenza di un backend o di un client che non rispetta tale obbligo, GovWay può applicare una compensazione tampone che consente comunque il processamento del messaggio, registrando contestualmente un diagnostico dedicato che evidenzia l’anomalia rilevata.

È possibile personalizzare il comportamento di GovWay registrando le seguenti Proprietà sulla singola erogazione o fruizione. La strategia di compensazione è configurabile separatamente per richiesta e risposta:

  • connettori.multipart.related.missingType.request.behavior: strategia applicata alla richiesta ricevuta dal client;

  • connettori.multipart.related.missingType.response.behavior: strategia applicata alla risposta ricevuta dal backend;

  • connettori.multipart.related.missingType.behavior: ombrello che imposta la stessa strategia sia per richiesta sia per risposta (valido in mancanza di un’impostazione specifica con le proprietà precedenti).

I valori ammessi per le proprietà di tipo behavior sono i seguenti:

  • none: GovWay non applica alcuna compensazione e lascia che il classificatore standard del Content-Type processi il messaggio. È il valore di default lato richiesta.

  • inferFromRequest: GovWay deriva il parametro type mancante dalla versione SOAP della richiesta associata (text/xml per SOAP 1.1, application/soap+xml per SOAP 1.2). È il valore di default lato risposta.

  • inferFromBody: GovWay ispeziona i primi byte del payload alla ricerca del Content-Type della root part del multipart e ne deriva il parametro type mancante. Il numero massimo di byte ispezionati è configurabile (vedi sotto).

  • forceSoap11: GovWay forza il parametro type al valore «text/xml».

  • forceSoap12: GovWay forza il parametro type al valore «application/soap+xml».

Nota

La strategia inferFromRequest è applicabile esclusivamente lato risposta, poiché la richiesta è il messaggio in ingresso al gateway e non esiste alcun messaggio precedente da cui dedurre la versione SOAP. Pertanto, se impostata sulla proprietà connettori.multipart.related.missingType.request.behavior o sull’ombrello connettori.multipart.related.missingType.behavior, la configurazione è considerata non applicabile e viene degradata silenziosamente alla strategia none (per le proprietà globali in govway.properties la stessa anomalia viene segnalata nei log di boot).

Per la strategia inferFromBody è possibile configurare il numero massimo di byte ispezionati con le seguenti proprietà (il valore rappresenta un upper bound; il peek si interrompe non appena il Content-Type della root part viene determinato):

  • connettori.multipart.related.missingType.request.peekBytes: numero massimo di byte ispezionati sulla richiesta;

  • connettori.multipart.related.missingType.response.peekBytes: numero massimo di byte ispezionati sulla risposta;

  • connettori.multipart.related.missingType.peekBytes: ombrello per richiesta e risposta.

Il valore di default è 4096 byte, sufficiente a coprire i casi in cui la root part presenta header MIME particolarmente articolati.

Nota

Quando la compensazione viene effettivamente applicata viene emesso il diagnostico contentType.multipart.related.missingType.compensated, classificato come “warning” (vedi Dettaglio dell’errore). L’esito della transazione viene marcato come “Ok (Presenza Anomalie)” per consentire all’amministratore di filtrare facilmente le transazioni che hanno richiesto la compensazione.

Precedente Prossimo

Link.it SRL, partita IVA 01313050500

Via San Martino 51, 56125 Pisa