Обнаружение пропущенных ответов на долго выполняющиеся запросы HTTP (SOAP) - PullRequest
0 голосов
/ 16 апреля 2009

Мне нужен способ обнаружить пропущенный ответ на длительный HTTP-запрос POST. Эта проблема возникает, когда сетевая инфраструктура (брандмауэры, прокси, отключенные кабели и т. Д.) Отбрасывает ответные пакеты. Сервер может обнаружить этот сбой, но клиент не может отправить дополнительные байты после POST для проверки состояния соединения TCP. Ошибка может быть ограничена одним TCP-соединением. Например, я могу впоследствии открыть новое TCP-соединение с сервером.

Я ищу решение, которое все еще использует HTTP POST и не меняет продолжительность обработки на стороне сервера.

Вот некоторые решения, о которых я могу подумать:

  1. Предоставляет интерфейс побочного канала для получения истории запросов и ответов. Если в истории указан ответ как отправленный (предположительно, приводящий к ошибке TCP), но я еще не получил его в течение разумного времени, я могу выдать локальную ошибку.

  2. Используйте заголовок X, чтобы запросить у сервера «поддельные» 100 Продолжать предварительные ответы через регулярные промежутки времени. Если я не вижу ожидаемого 100 Continue или нетрадиционного ответа, я могу выдать локальную ошибку.

Существует ли современное решение этой проблемы?

1 Ответ

0 голосов
/ 04 мая 2009

Мне кажется, что вы используете Soap для чего-то, что было бы намного лучше, используя соединение с отслеживанием состояния или технологию push на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...