Servicenow скриптовый REST API возвращает 301/перенаправление

Вопрос или проблема

Я создал скриптованный REST API, и сейчас к нему получают доступ другие приложения. Когда я обращаюсь к этому же URL через Postman с той же информацией аутентификации, заголовками и телом, он возвращает 200 (нормальный ответ).

Однако, когда к нему обращается другое приложение:

сервер: snow_adc
Дата:—
Тип контента:text/html
Длина содержимого:1XX
Соединение:keep-alive
Расположение:https://www.servicenow.com
тело ответа:

301 Место нахождения навсегда

301 Место нахождения
навсегда


snow_adc

Я уже проверил настройки контроля доступа по IP-адресам, но это, похоже, не причина. Мог бы кто-нибудь сказать, что вызывает этот 301 ответ?

Ответ или решение

Существует несколько причин, по которым ваш Scripted REST API на ServiceNow может возвращать ответ с кодом 301 (Moved Permanently) при доступе из другого приложения, в то время как запросы из Postman, выполняемые с теми же параметрами, проходят успешно. Вот несколько шагов по диагностике и решению данной проблемы:

  1. Проверка URL: Убедитесь, что URL, который используется другим приложением, точно совпадает с тем, который вы используете в Postman. Проверьте наличие опечаток, лишних символов или неверных параметров. Иногда проблема может заключаться в том, что используется старый или неправильный URL.

  2. Проверка Протокола: Убедитесь, что приложение, которое вызывает API, использует правильный протокол (HTTP или HTTPS). Если ваш сервер настроен на перенаправление с HTTP на HTTPS, это может быть причиной 301. В таком случае убедитесь, что ваш код обращается к API с правильным протоколом.

  3. Параметры Запроса: Проверьте, какие параметры передаются в запросе от другого приложения. Возможно, некоторые параметры обязательны для правильной обработки на сервере, и их отсутствие может вызывать перенаправление.

  4. Заголовки Запроса: Убедитесь, что все необходимые заголовки (например, Authorization, Content-Type, и прочие) правильно передаются в запросе. Даже если в постман они совпадают, убедитесь, что в другом приложении их отправляют идентично.

  5. Настройки Firewall и Proxy: Проверьте настройки межсетевого экрана (firewall) и прокси-серверов. Возможно, они перенаправляют запрос просто потому, что источник запроса находится вне доверенной сети.

  6. Логи серверов: Посмотрите логи вашего ServiceNow для более детальной информации о том, что происходит при получении запроса. Это может дать подсказки о причинах перенаправления.

  7. Проверка Доступа: Убедитесь, что у приложений есть доступ к API на уровне платформы. Используйте контролы доступа (ACLs) для проверки, может ли внешний источник получать доступ к вызываемым ресурсам.

  8. Процесс перенаправления: Иногда перенаправление может быть связано и с настройками самого сервера ServiceNow. Проверьте в настройках, настроены ли какие-либо автоматические перенаправления на уровень приложений.

Если после проверки всех этих моментов проблема остается нерешенной, рекомендуется обратиться в техническую поддержку ServiceNow с полным описанием проблемы и примерами запросов, чтобы они могли помочь в диагностике проблемы более детально.

Оцените материал
Добавить комментарий

Капча загружается...