私はiis 7.5を実行しているWindowsサーバー2008 r2で作業しています。私の WCF サービスはフレームワーク 4.0 で実行されています。統合パイプラインを実行する 32 ビット アプリ。
サービスは、匿名および Windows 認証が有効になっている仮想ディレクトリにあります。私の構成は次のようになります。
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="MyBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="MyWebservice.MyService" behaviorConfiguration="MyWebservice.MyServiceBehavior">
<!-- Service Endpoints -->
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="MyBinding" contract="MyWebservice.IMyService" />
<endpoint address="mex" binding="basicHttpBinding" bindingConfiguration="MyBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="MyWebservice.MyServiceBehavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
ドメイン上のアカウントから WCF テスト クライアントに接続すると、次の例外が発生します。
HTTP 要求は、クライアント認証スキーム「ネゴシエート」では許可されていません。サーバーから受信した認証ヘッダーは「Negotiate」でした。
このエラーは非常に役に立ちません。誰かが私のやり方の誤りを指摘できますか?