WCF SOAP динамическая обработка ContentType от клиента - PullRequest
0 голосов
/ 04 июля 2018

У меня есть сервис 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 ...

Как я могу вызвать эту операцию для поддержки динамического типа контента?

Примечание: Я не могу изменить код на стороне сервера.

...