4

私の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>

このサービスはIIS7でホストされています。私が見逃している明らかなものはありますか?可能な限り多くの構成の組み合わせを試しました。WebInvokeリンクの1つに投稿しようとすると、404エラーが発生します。

別の会社がこのサービスに投稿するため、RESTfullである必要があります

編集

私はバインディングノードでこれを試しました:

  <webHttpBinding>
    <binding name="SslBinding" transferMode="Streamed">
      <security mode="None">
        <transport clientCredentialType="None" />
      </security>
    </binding>
  </webHttpBinding>

そして、エンドポイントにBindingConfigurationを設定します。同じ問題:(

4

1 に答える 1

3

セキュリティ モードをトランスポートに設定してみてください。

<bindings>
  <webHttpBinding>
    <binding name="SslBinding" transferMode="Streamed">
      <security mode="Transport">  
        <transport clientCredentialType="None" />     
    </security>     
  </binding>   
</webHttpBinding>
于 2011-10-25T20:29:42.653 に答える