У меня есть сервис WCF SOAP. Одна из операций, возвращающих динамический ответ ContentType. Я пытался изменить запрос ContentType, добавить заголовки, но безуспешно, закончился той же ошибкой.
См. Ниже:
WebOperationContext.Current.OutgoingResponse.ContentType = MimeType(document.Front.FileName);
e.g. MimeType
{".PDF", "application/pdf" },
{".JPG", "image/jpeg"},
{".PNG", "image/png"},
Конфигурация сервера:
<!-- language: lang-xml -->
<basicHttpBinding>
<binding name="BasicSecureBinding_IManager" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</binding>
Конфигурация клиента:
<!-- language: lang-xml -->
<binding name="BasicHttpBinding_DataService.IDataService"
allowCookies="false"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
messageEncoding="Text"
textEncoding="utf-8"
transferMode="Buffered"
useDefaultWebProxy="true">
<security mode="Transport">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
Поскольку конфигурации сервера и клиента очень похожи и работают для других SOAP API. Но для вышеупомянутого фрагмента кода это дает мне ошибку.
Ошибка:
Тип содержимого application / pdf ответного сообщения не соответствует типу содержимого привязки (text / xml; charset = utf-8). При использовании пользовательского кодировщика убедитесь, что метод IsContentTypeSupported реализован правильно. Первые 1024 байта ответа были: '00000000-0000-0000-0000-000000000000JVBERi0x ...
Как я могу вызвать эту операцию для поддержки динамического типа контента?
Примечание:
Я не могу изменить код на стороне сервера.