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).
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.