我对WCF很新,我希望有人能指出我正确的方向。 基本上,我试图从现有的WCF中提取信息,这不是我开发的。
因此,出于测试目的,我创建了一个控制台应用程序并添加了svc作为服务引用。 我创建了一个新的客户端实例,每当我尝试执行任何方法时,都会出现以下错误:
The HTTP request was forbidden with client authentication scheme 'Anonymous'.
这是否意味着WCF需要签名证书来验证客户端? 如果是这种情况,我是否需要向WCF提供商请求/提供任何内容?
我查看了几个与此问题相关的帖子,但所有这些方案都基于您可以访问服务器的假设。
修改
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="..." />
<binding name="SecureByTransport">
<security mode="Transport" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/Web/ConnectWcf.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ConnectBasic"
contract="ConnectBasic.IConnectBasic" name="BasicHttpBinding_IConnectBasic" />
<endpoint address="https://localhost/Web/ConnectBasicWcf.svc"
binding="basicHttpBinding" bindingConfiguration="SecureByTransport"
contract="ConnectBasic.IConnectBasic" name="SecureByTransport" />
</client>
</system.serviceModel>
</configuration>