Требуется ли тег protocolMapping в WCF на ASP.Net 4.6.1 для служб https SOAP? - PullRequest
0 голосов
/ 20 сентября 2018

Недавно мы обновили приложение с .Net 4.5 до 4.6.1.В 4.5 у нас не было тега protocolMapping в нашем web.config.Обновленный сервис, как отметили разработчики, имел этот тег, и поэтому мы развернули его как часть обновления.

Если мы удалим этот тег (по сути, используйте ту же систему .ServiceModel, которую мы использовали в 4.5)мы получаем 404 за все HTTPS-запросы к сервису.Хорошо, так что я оставлю это на месте.

Однако запутанная часть заключается в том, что по умолчанию тег говорит:

<protocolMapping>
    <add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>

Это заставило все запросы https использовать basicHttpsBinding, но нашслужба использует customBinding.

Вот наше определение конечной точки со ссылкой на пользовательскую привязку:

<endpoint address="" binding="customBinding" 
    bindingConfiguration="Soap12SecureBinding"
      name="NotificationService" contract="NOTSvc">

Поэтому я изменил значение привязки в protocolMapping на «customBinding», но это не такt забрать ЛЮБОЕ из значений в моей определенной привязке.В нем по-прежнему использовался Soap 1.1, но в моей пользовательской привязке указано Soap 1.2

. Поэтому я добавил привязкуConfiguration в тег add, и теперь мое сопоставление протокола выглядит следующим образом:

<protocolMapping>
  <add binding="customBinding" scheme="https" 
      bindingConfiguration="Soap12SecureBinding" />
</protocolMapping>

ЭТО заставляет его работать, но это не может быть правдой.Во-первых, я теперь использую только одну привязку конфигурации для всех сервисов на моем сайте.С другой стороны, моя конечная точка службы абсолютно ссылается на мою пользовательскую привязку «Soap12SecureBinding», но если я не использую ее явно в своем протоколе протокола, она не будет соблюдена.

Чего мне не хватает?что-то должно быть настроено неправильно, но я потратил почти неделю на эту проблему и выхожу пустым.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...