Risolvere i problemi relativi alle risposte vuote dell'API

Sommario

Questo articolo illustra come risolvere i problemi relativi a un'API che restituisce risposte vuote e come ripristinare l'inoltro delle richieste in Gestione API di Azure.

Questo è il primo scenario del laboratorio della serie sulla risoluzione dei problemi di Gestione API di Azure. Assicurati di seguire le istruzioni di configurazione del laboratorio come indicato nelle istruzioni del laboratorio della serie sulla risoluzione dei problemi di API Management.

Versione originale del prodotto: servizio Gestione API
Numero KB originale: 4464936

Sintomi

L'API vuota è costituita da due operazioni: GetHeaders e GetMyIp. GetMyIp restituisce il valore dell'intestazione X-FORWARDED-FOR e GetHeaders restituisce tutti i valori dell'intestazione della richiesta. GetMyIp restituisce l'output previsto, ma improvvisamente GetHeaders ha iniziato a restituire una risposta vuota (nessun corpo della risposta).

Screenshot dell'operazione API GetHeaders che restituisce un corpo della risposta vuoto.

L'output previsto dell'API GetHeaders dovrebbe essere simile all'esempio seguente:

{
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "en-US,en;q=0.5", 
    "Connection": "close", 
    "Cookie": "_gauges_unique_day=1; _gauges_unique_month=1; _gauges_unique_year=1; _gauges_unique=1", 
    "Host": "eu.httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
  }
}

Risoluzione dei problemi

Per risolvere questo problema, l'approccio migliore consiste nel raccogliere una traccia di Controllo Gestione API per esaminare l'elaborazione delle richieste all'interno della pipeline di Gestione API.

Si noti che il forward-request criterio non è presente. Il criterio forward-request inoltra la richiesta in ingresso al servizio back-end specificato nel contesto della richiesta. Se si rimuovono questi criteri, la richiesta non verrà inoltrata al servizio back-end. I criteri nella sezione in uscita vengono valutati immediatamente al completamento corretto dei criteri nella sezione in ingresso.

Controllare la sezione dell'operazione <backend> in Blank-API. Si noti che il forward-request criterio viene rimosso.

Aggiungere i forward-request criteri nella sezione back-end o aggiungere l'elemento <base /> in modo che erediti i forward-request criteri dal livello padre (livello API). Questa modifica dovrebbe risolvere il problema.

Per altre informazioni, consulta il criterio forward-request.