Partager via


L’API Azure retourne une réponse vide

En se référant à l’article sur la série de résolution des problèmes Azure Gestion des API, il s’agit du premier scénario du labo. Vérifiez que vous avez suivi les instructions de configuration du labo pour recréer le problème.

Version du produit d’origine : Gestion des API Service
Numéro de la base de connaissances d’origine : 4464936

Symptômes

L’API Vide d’API se compose de deux opérations GetHeaders et GetMyIp. GetMyIp retourne la valeur de l’en-tête X-FORWARDED-FOR et GetHeaders renvoie toutes les valeurs d’en-tête de requête. GetMyIp retourne la sortie attendue, mais tout à coup , GetHeaders a commencé à renvoyer une réponse vide (aucun corps de réponse).

Capture d’écran d’une réponse vide.

La sortie attendue de l’API GetHeaders doit ressembler à ce qui suit :

{
  "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"
  }
}

Étapes de résolution des problèmes

Pour déboguer ce type de problèmes, la meilleure approche consiste à collecter la trace de l’inspecteur APIM pour inspecter le traitement des demandes dans le pipeline APIM.

  • Si vous examinez la trace, vous remarquerez que la stratégie de demande de transfert est manquante.
  • La stratégie de demande de transfert transfère la demande entrante au service principal spécifié dans le contexte de la demande.
  • Si vous supprimez cette stratégie, la requête n’est pas transférée au service principal et les stratégies de la section sortante sont évaluées immédiatement après l’exécution réussie des stratégies dans la section entrante.
  • Par conséquent, si vous case activée la <section back-end> de l’opération GetHeaders sous l’API vide, vous remarquerez que la stratégie de demande de transfert est supprimée.
  • Ajoutez la stratégie de demande de transfert dans la section back-end ou ajoutez <la base /> l’élément afin qu’elle hérite de la stratégie de demande de transfert du niveau parent (c’est-à-dire du niveau API), ce qui doit résoudre le problème.

Pour en savoir plus à ce sujet, consultez la stratégie de demande de transfert.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.