我遇到了通过证书进行身份验证的 WCF 服务的问题。我得到的错误是外发消息的身份检查失败。远程端点的预期 DNS 身份是 xxx....
我看过很多关于这个的帖子,他们都说将 dns 设置为证书的名称/主题。
<identity>
<dns value="WcfServer" />
</identity>
我已经尝试过了,但它不起作用,我还能做什么?
卢克
我遇到了通过证书进行身份验证的 WCF 服务的问题。我得到的错误是外发消息的身份检查失败。远程端点的预期 DNS 身份是 xxx....
我看过很多关于这个的帖子,他们都说将 dns 设置为证书的名称/主题。
<identity>
<dns value="WcfServer" />
</identity>
我已经尝试过了,但它不起作用,我还能做什么?
卢克
DNS 名称应与证书的通用名称 (CN) 匹配。
请参阅其他类似的线程。 为什么 WCF 会抱怨身份检查失败?
您可以检查服务的 WSDL 文件。它会在元素下向您显示服务所期望的身份。例如,像这样,
<wsdl:service name="CalculatorService">
<wsdl:port name="WSHttpBinding_ICalculator_Windows"
binding="tns:WSHttpBinding_ICalculator_Windows">
<soap12:address
location=
"http://localhost:8003/servicemodelsamples/service/upnidentity" />
<wsa10:EndpointReference>
<wsa10:Address>
http://localhost:8003/servicemodelsamples/service/upnidentity
</wsa10:Address>
<Identity
xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
<Upn>username@contoso.com</Upn>
</Identity>
</wsa10:EndpointReference>
</wsdl:port>
</wsdl:service>
根据服务选择的身份,您可以在客户端端点中设置它。
HTH,阿米特