Веб-сервис asp.net, обрабатывающий сжатый запрос gzip

У меня есть веб-сервис asp.net .asmx, написанный для обработки запросов от стороннего инструмента. Сторонний инструмент отправляет HTTP-запрос POST к веб-сервису для получения информации о пользователе. Я использую IIS7

. Запуск Fiddler с установленным флажком «Удалить все кодировки», я вижу вызов веб-службы, и все работает правильно. Если я сниму флажок «Удалить все кодировки», вызов веб-службы завершится ошибкой с ошибкой 400. Разница, которую я вижу, заключается в том, что заголовок Content-Encoding: gzip удаляется Fiddler, а содержимое распаковывается.

Итак, когда заголовок Content-Encoding удаляется и содержимое распаковывается, мой веб-сервис работает отлично . Когда присутствует заголовок и содержимое сжато, веб-сервис не работает.

Как я могу:

  1. Сконфигурируйте мой веб-сервис, чтобы сообщить клиенту, что он не будет принимать сжатые запросы (и надеюсь, что сторонний инструмент уважает это).
  2. Распакуйте контент на ранней стадии обработки asp.net
  3. Измените мой веб-сервис для работы со сжатыми данными

Обновление : Чтобы было ясно, мне не нужно настраивать кодировку gzip в ответе, мне нужно иметь дело с запросом к моему веб-сервису, который закодирован с помощью gzip.

Обновление 2 : Сторонним инструментом является плагин Salesforce.com для Outlook. Итак, у меня нет доступа к его изменению, и он без проблем используется многими другими компаниями. Это должно быть то, что я делаю (или не делаю)

Обновление 3 : Я нашел одно сообщение здесь , в котором говорится, что IIS не поддерживает входящие запросы POST со сжатыми данными, а только поддерживает сжатые ответы. Может ли это все еще быть правдой?

9
задан Geoff 8 December 2010 в 19:25
поделиться