13

我正在尝试调用 WCF 服务。我创建了一个自签名证书并安装在我的 localmachine \personnal \certificates 中,并且我在我的部分中添加了它。但我不明白为什么会出现这个错误。

这是我的 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 中指定客户端证书。”

感谢您解决此错误的建议?

4

1 回答 1

14

我忘了包括 behaviorConfiguration="CustomBehavior"

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

及其现在的工作。

谢谢你的帮助

于 2013-03-27T16:31:22.270 回答