Condividi tramite


L'API di Azure restituisce una risposta vuota

Facendo riferimento all'articolo su Azure Gestione API Troubleshooting Series, questo è il primo scenario del lab. Assicurarsi di aver seguito le istruzioni di configurazione del lab in base a questo, per ricreare il problema.

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

Sintomi

L'API Vuota API è 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 di una risposta vuota.

L'output previsto dell'API GetHeaders dovrebbe essere simile al 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"
  }
}

Procedura di risoluzione dei problemi

Per eseguire il debug di questo tipo di problemi, l'approccio migliore consiste nel raccogliere la traccia del controllo gestione API per esaminare l'elaborazione delle richieste all'interno della pipeline di Gestione API.

  • Se si esamina la traccia, si noterà che mancano i criteri di inoltro della richiesta.
  • Il criterio di inoltro della richiesta inoltra la richiesta in ingresso al servizio back-end specificato nel contesto della richiesta.
  • Se si rimuove questo criterio, la richiesta non viene inoltrata al servizio back-end e i criteri nella sezione in uscita vengono valutati immediatamente al completamento dei criteri nella sezione in ingresso.
  • Di conseguenza, se si controlla la <sezione back-end> dell'operazione GetHeaders in Blank-API , si noterà che i criteri di richiesta inoltrata vengono rimossi.
  • Aggiungere i criteri di richiesta forward nella sezione back-end o aggiungere <base/> elemento in modo che erediti i criteri di richiesta forward dal livello padre (ad esempio dal livello API), che dovrebbe risolvere il problema.

Per altre informazioni, vedere i criteri di inoltro delle richieste .

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.