Delen via


Azure API retourneert een leeg antwoord

Dit is het eerste scenario van het lab in het artikel over het oplossen van problemen met Azure API Management. Zorg ervoor dat u de instructies voor het instellen van het lab hebt gevolgd om het probleem opnieuw te maken.

Oorspronkelijke productversie: API Management Service
Oorspronkelijk KB-nummer: 4464936

Symptomen

De LEGE API-API bestaat uit twee bewerkingen GetHeaders en GetMyIp. GetMyIp retourneert de waarde van X-FORWARDED-FOR-headerwaarde en GetHeaders retourneert alle aanvraagheaderwaarden. GetMyIp retourneert verwachte uitvoer, maar plotseling begint GetHeaders een leeg antwoord te retourneren (geen antwoordtekst).

Schermopname van een leeg antwoord.

De verwachte uitvoer van de GetHeaders-API moet er ongeveer als volgt uitzien:

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

Stappen voor probleemoplossing

Als u dit soort problemen wilt opsporen, kunt u het beste apiM-controletracering verzamelen om de verwerking van aanvragen in de APIM-pijplijn te inspecteren.

  • Als u de tracering bekijkt, ziet u dat beleid voor forward-request ontbreekt.
  • Het beleid voor forward-request stuurt de binnenkomende aanvraag door naar de back-endservice die is opgegeven in de aanvraagcontext.
  • Als u dit beleid verwijdert, wordt de aanvraag niet doorgestuurd naar de back-endservice en worden de beleidsregels in de sectie Uitgaand verkeer onmiddellijk geĆ«valueerd nadat het beleid is voltooid in de sectie Binnenkomend verkeer.
  • Als u daarom de <back-endsectie> van de GetHeaders-bewerking onder Blank-API controleert, ziet u dat beleid voor doorsturen wordt verwijderd.
  • Voeg het beleid voor forward-request toe in de back-endsectie of voeg basis-/>element toe<, zodat het beleid voor forward-request wordt overgenomen van het bovenliggende niveau (dat wil gezegd van het API-niveau), waarmee het probleem moet worden opgelost.

Lees meer over het beleid voor doorstuuraanvragen om er meer over te weten te komen.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.