Моя служба WCF работает с атрибутами WebInvoke и использует httpGetEnabled.
[OperationContract]
[WebInvoke(Method="POST", UriTemplate = "/Function1")]
void Function1(Stream input);
[OperationContract]
[WebInvoke(Method="POST", UriTemplate = "/Function2")]
void Function2( Stream input );
Когда я пытаюсь заставить его работать с https, я не могу получить доступ к UriTemplates.Однако я могу получить доступ к svc и wsdl.
<services>
<service behaviorConfiguration="SslBehavior" name="MyService">
<endpoint address="" binding="webHttpBinding" contract="IMyService" behaviorConfiguration="WebBehavior" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="SslBehavior">
<serviceMetadata httpsGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="True"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="WebBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
Эта служба размещена в IIS 7. Есть ли что-то очевидное, что я пропускаю?Я пробовал как можно больше комбинаций конфигурации.Когда я пытаюсь опубликовать одну из ссылок WebInvoke, я получаю сообщение об ошибке 404.
Другая компания будет публиковать эту услугу, поэтому она должна быть RESTfull
Редактировать
Я попробовал это в узле привязок:
<webHttpBinding>
<binding name="SslBinding" transferMode="Streamed">
<security mode="None">
<transport clientCredentialType="None" />
</security>
</binding>
</webHttpBinding>
И установил BindingConfiguration на конечной точке.Та же проблема: (