API Azure возвращает пустой ответ

Это первый сценарий лаборатории, приведенный в статье Об устранении неполадок azure Управление API. Убедитесь, что вы выполнили инструкции по настройке лаборатории , чтобы воссоздать проблему.

Исходная версия продукта: служба Управление API
Исходный номер базы знаний: 4464936

Симптомы

Api Blank API состоит из двух операций GetHeaders и GetMyIp. GetMyIp возвращает значение заголовка X-FORWARDED-FOR, а GetHeaders — все значения заголовка запроса. GetMyIp возвращает ожидаемые выходные данные, но getHeaders внезапно начал возвращать пустой ответ (без текста ответа).

Снимок экрана: пустой ответ.

Ожидаемые выходные данные API GetHeaders должны выглядеть примерно так:

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

Действия по устранению неполадок

Для отладки таких проблем лучше всего собрать трассировку инспектора APIM для проверки обработки запросов внутри конвейера APIM.

  • Если вы посмотрите на трассировку, вы заметите, что политика пересылки запросов отсутствует.
  • Политика пересылки запросов перенаправляет входящий запрос в серверную службу, указанную в контексте запроса.
  • Удаление этой политики приводит к тому, что запрос не перенаправляется в серверную службу, а политики в разделе исходящего трафика оцениваются сразу после успешного завершения политик в разделе inbound.
  • Таким образом, если проверка <серверный> раздел операции GetHeaders в разделе Blank-API, вы заметите, что политика пересылки запросов удалена.
  • Добавьте политику пересылки запросов в раздел серверной части или добавьте <элемент base /> , чтобы она наследовала политику пересылки запросов от родительского уровня (т. е. от уровня API), что должно устранить проблему.

Дополнительные сведения о политике пересылки запросов см. в этой статье.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.