这与我在SO上发现的有关此问题的其他问题有点不同......
我们正在运行2个网站,一个是WCF服务,另一个是服务的客户端。每当我们尝试访问该服务时,都会收到消息“由于身份验证失败,无法满足安全令牌请求。”
这两个网站都托管在同一台计算机上并位于同一个应用程序池中。这两个网站都托管在端口80上,并且具有不同的主机标头...示例:client.website.com和服务.website.com
我们在服务端使用wsHttpBinding:
<endpoint address="http://service.website.com/MessagingService.svc/wshttp"
binding="wsHttpBinding"
contract="WebServices.IMessagingService"
bindingNamespace="CNI/CNIMessenger"
bindingConfiguration="wsHttpBindingConfig"
name="wsHttpBinding">
</endpoint>
当我们尝试运行该服务时,我们得到上述错误。经过几个小时的调试后,我发现如果我使用服务配置地址而没有任何网址只有 wshttp 并将我的客户端指向IP地址/端口,一切正常。例如:
<endpoint address="wshttp"
... And client address points to: http://127.0.0.1:8888/MessagingService.svc/wshttp
当我更改地址和网站以使用service.website.com并保留端口8888时,我仍然会收到同样的错误。
有没有人对此有任何见解?非常感谢!
答案 0 :(得分:0)
尝试在配置中添加以下内容:
<host>
<baseAddresses>
<add baseAddress="http://service.website.com"/>
</baseAddresses>
</host>
将地址保留为wshttp