Я пытался создать простую службу, позволяющую регистрировать сообщения на удаленном сервере через WCF, и все работало нормально, пока я не опубликовал службу в реальной среде, использующей HTTPS.
После некоторого поиска я обнаружил, что мне нужно изменить свой ServiceConfig для учета другого протокола. Я использовал комбинацию этих двух статей:
- Как настроить службы WCF для работы через HTTPS без привязки HTTP?
- Привязки WCF, необходимые для HTTPS< /а>
Внеся рекомендуемые изменения в мою конфигурацию, я, кажется, нахожусь в состоянии, когда я могу добавить действующую службу в качестве ссылки WCF в VS2010, но когда я использую IE для перехода к службе или адресу mex, я постоянно получаю ошибка «HTTP 400 Bad Request».
Что касается использования сервиса, я могу его успешно запустить, но мекс просто не хочет работать через IE.
Сама служба размещается на Windows Server 2003 R2 Standard Edition SP2 с IIS 6.0 без балансировки нагрузки.
На данный момент я действительно в растерянности, я потратил 3-4 дня на то, чтобы возиться с этим, но, похоже, я не могу добиться никакого прогресса. Поэтому любая помощь будет принята с благодарностью.
См. ниже соответствующую конфигурацию службы сервера:
<system.serviceModel>
<services>
<service name="mycorp.Callback.SecPayService" behaviorConfiguration="mycorp.Callback.SecPayServiceBehavior">
<endpoint address="https://myserver.co.uk/SecPay/SecPayService.svc"
binding="wsHttpBinding" bindingConfiguration="TransportBinding"
contract="mycorp.Callback.ISecPayService"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="mycorp.Callback.SecPayServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="TransportBinding">
<security mode="Transport">
<transport clientCredentialType="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>