2013-03-27 22 views
9

WCFサービスを呼び出そうとしています。自己署名証明書を作成してlocalmachine \ personnal \ certificatesにインストールしました。また、私のセクションに追加しました。しかし、なぜこのエラーです。ここで WCFエラークライアント証明書が提供されていません。 ClientCredentialsでクライアント証明書を指定する

は私のweb.configファイル

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
     <bindings> 
      <wsHttpBinding> 
       <binding name="wsHttpEndpoint"> 
        <security mode="Transport"> 
         <transport clientCredentialType="Certificate" /> 
        </security> 
       </binding> 
      </wsHttpBinding> 
     </bindings> 
     <client> 
      <endpoint address="https://abcdxyz.abc.syntax.com/TestCCService.svc" 
       binding="wsHttpBinding" bindingConfiguration="wsHttpEndpoint" 
       contract="TestCCService.ITestCCService" name="wsHttpEndpoint" /> 
     </client> 

     <behaviors> 
      <endpointBehaviors> 
       <behavior name="CustomBehavior"> 
        <clientCredentials> 
         <clientCertificate findValue="abc.mymachine.name.com" x509FindType="FindBySubjectName" 
          storeLocation="LocalMachine" storeName="My" /> 
         </clientCredentials> 
       </behavior> 
      </endpointBehaviors> 
     </behaviors> 

    </system.serviceModel> 
</configuration> 

ですが、私は私のサービスメソッドの投げエラー 呼び出すしようとすると、「クライアント証明書が提供されていません。ClientCredentialsでクライアント証明書を指定します。」

このエラーを解決するには、ご意見をお待ちしておりますか?

+0

WCFは、 "abc.mymachine.name.com"と一致するクライアント証明書がないことを主張しています。あなたはそれを正しく作成しましたか? –

+0

はい "abc.mymachine.name.com"証明書がインストールされています。 – Steve

答えて

9

私はbehaviorConfiguration = "CustomBehavior" 今

<endpoint address="https://abcdxyz.abc.syntax.com/TestCCService.svc" 
       binding="wsHttpBinding" bindingConfiguration="wsHttpEndpoint" 
       contract="TestCCService.ITestCCService" name="wsHttpEndpoint" **behaviorConfiguration="CustomBehavior"** /> 

とその作業を含めることmiised。

ありがとうございました

関連する問題