У меня большая среда балансировки нагрузки F5 LTM, которую я ищу, и которую мы настраиваем для ограничения скорости запросов на уровне URI. Для пользователей веб-сайтов мы выкладываем их на занятую страницу, но мы также запускаем веб-сервисы и должны вежливо сказать, чтобы мыльный клиент продолжал и продолжал производить потомство. Не зная целую кучу ответов SOAP/XML, мне не ясно, что мы должны сказать клиенту. Достаточно ли будет простого базового ответа 500 или нам нужно также выработать законный ответ SOAP?
1 ответ
3
Ответ SOAP определяется определением службы (т. Е. WSDL) за пределами того, что обычно используют соответствующие коды ответа HTTP для обстоятельств вне "контракта".
Вместо того, чтобы лениться и использовать 500, я бы выбрал из:
- 409 конфликт
- 410 ушел
- 417 Ожидание не удалось
- 429 Слишком много запросов
- 501 не реализовано
- сервис 503 недоступен
- 509 Превышен предел пропускной способности
- 507 Недостаточно памяти
Просмотрите полный список и выберите наиболее подходящий.
Если сервер способен вернуть XML-документ с подробным описанием ошибки, это нормально. Сервисы SOAP, которые я использую, учитывают это в определениях сервисов.
Клиент должен быть в состоянии справиться с неукрашенными ошибками HTTP, поскольку иногда происходит сбой сервера до того, как XML-запрос даже будет проанализирован.