Как обрабатывать искаженный HTTP POST в сотовых сетях

У меня есть веб-сайт, который в основном используется мобильными клиентами. С сайта поступает множество постов форм и запросов ajax POST, и в 95% случаев они работают нормально, но остальные запросы не выполняются с ошибкой, поскольку отсутствует ожидаемый параметр тела POST. Я вижу людей, пытающихся многократно представлять некоторые данные в журналах снова и снова, но безуспешно, потому что (и я здесь использую Spring MVC) фреймворк создает исключение MissingServletRequestParameterException.

Это всегда для одинаковых имен параметров тоже. Я не смог воссоздать эту проблему на любом устройстве в любой сети (здесь, в Канаде), но это явно происходит в других сетях по всему миру.

Кто-нибудь еще испытывал эту проблему? Я чувствую, что могу быть единственным, потому что независимо от того, что я ищу в Google или ТАК, я не могу найти ничего, даже отдаленно похожего.

В почтовых данных нет ничего сложного - может быть не более 3 значений; никаких странных соглашений об именах.

Например

POST /handleruri HTTP/1.1
Host: somehost.com

id=H4543&date=20-08-2012

ОБНОВИТЬ:

Просто посмотрев еще несколько записей в журнале, я не думаю, что ЛЮБЫЕ данные постов поступают для этих неудачных запросов, так как я не только не вижу имя параметра в соответствии с исключением, выданным Spring MVC, но я не вижу ни одного из других имен параметров (я регистрирую весь запрос по ошибке, но, к сожалению, к тому времени, когда необработанный HTTP-запрос делает его сервлетом {DispatchServlet в этом случае}, он обработан, и исходное тело необработанного запроса InputStream имеет был потреблен).

Я скоро напишу ServletFilter, чтобы попытаться получить необработанное тело запроса, а также записать это.

Если это специфическая для перевозчика проблема, я не знаю, что я собираюсь сделать, чтобы решить ее - не кажется, что я МОГУТ многое сделать.

Цените помощь от любого, кто прошел через это раньше.

Спасибо

0 ответов

Другие вопросы по тегам