Я работаю над сжатием gzip в моем WCF. Часть ответов довольно проста с IIS, но я не могу обработать запрос с помощью SoapUI. Причина, по которой я использую SoapUI, заключается в том, что клиентское приложение, которое будет подключаться, не будет использовать стек Microsoft на их конце.Как обрабатывать gzip из SoapUI в WCF?
Я создал образец раствора здесь, чтобы продемонстрировать promlem https://github.com/janmchan/WCFCompression
В решении у меня есть (клиент WCF) WCFServiceDemo (WCF Server) и WCFClient. Используя привязку ниже для клиента и сервера, у меня нет проблем с запросом/ответом.
<bindings>
<customBinding>
<binding name="myBinding">
<binaryMessageEncoding compressionFormat="GZip"/>
<httpTransport decompressionEnabled="True" />
</binding>
</customBinding>
</bindings>
я получаю следующий заголовок с этим запросом
2016-05-23 11:37;14 : Connection: Keep-Alive
Content-Length: 298
Content-Type: application/soap+msbin1+gzip
Accept-Encoding: gzip, deflate
Expect: 100-continue
Host: localhost:19860
Однако, используя SoapUI с этими настройками
и это сообщение образца
Получаю следующий ответ, который указывает, что тип содержимого неверен. Я попытался добавить заголовки, но это не похоже на решение. Я также попытался добавить модуль для добавления фильтра для сжатия Gzip, но он по-прежнему вызывает ошибку после выхода из всех модулей.
Как я могу убедиться, что и конечный клиент может подключиться к WCF, подобно тому, как SoapUI подключается?
HTTP/1.1 415 Cannot process the message because the content type 'application/soap+xml;charset=UTF-8;action="http://tempuri.org/IService1/GetData"' was not the expected type 'application/soap+msbin1+gzip' Cache-Control: private
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?YzpcdXNlcnNcamNoYW5cZG9jdW1lbnRzXHZpc3VhbCBzdHVkaW8gMjAxNVxQcm9qZWN0c1xXY2ZTZXJ2aWNlRGVtb1xXY2ZTZXJ2aWNlRGVtb1xTZXJ2aWNlMS5zdmM=?=
X-Powered-By: ASP.NET
Date: Tue, 24 May 2016 00:04:19 GMT
Connection: close
Content-Length: 0