У меня есть веб-сервис, написанный много лет назад, который отлично работает через http.Он работает через веб-браузер, чтобы увидеть описание сервиса, и корректно реагирует на мыльные вызовы.Теперь мы хотим переместить его на https.
Я внес некоторые изменения в файл web.config, чтобы попытаться включить его для работы через https.Теперь я могу позвонить через https в браузере и посмотреть описание службы, но не могу вызвать веб-службу с помощью мыльного вызова через https - я получаю сообщение об ошибке 404.
Я проверяю мыльные вызовы с помощью Почтальонатак что, похоже, это указывает на то, что проблема связана либо с web.config, либо с IIS.
Я нашел много сообщений с проблемами, связанными с WCF через https, но пока не удалось решить эту проблему.Любая помощь будет принята с благодарностью.
Код службы из web.config показан ниже.
<system.serviceModel>
<services>
<service name="EComAPI" behaviorConfiguration="WCFAuthBehavior">
<endpoint address="soap" binding="wsHttpBinding" contract="IEComAPI" bindingConfiguration="httpbinding1"></endpoint>
<endpoint address="soap" binding="wsHttpBinding" contract="IEComAPI" bindingConfiguration="httpsbinding1"></endpoint>
<endpoint address="rest" binding="webHttpBinding" contract="IEComAPI" behaviorConfiguration="rest" bindingConfiguration="httpbinding2"></endpoint>
<endpoint address="rest" binding="webHttpBinding" contract="IEComAPI" behaviorConfiguration="rest" bindingConfiguration="httpsbinding2"></endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="httpbinding1">
<security mode="None"></security>
</binding>
<binding name="httpsbinding1">
<security mode="Transport">
<transport clientCredentialType="None"></transport>
</security>
</binding>
</wsHttpBinding>
<webHttpBinding>
<binding name="httpbinding2">
<security mode="None">
</security>
</binding>
<binding name="httpsbinding2">
<security mode="Transport">
<transport clientCredentialType="None"></transport>
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="WCFAuthBehavior">
<serviceMetadata httpsGetEnabled="false" httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
<behavior name="">
<serviceMetadata httpsGetEnabled="true" httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="rest">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
В итоге: