我一直在努力让WCF客户端通过Web代理工作。如果我手动指定代理如下,我可以让http请求工作。
WebProxy proxy = new WebProxy("http://x.x.x.x:3128", false);
proxy.Credentials = new NetworkCredential("user", "pass");
WebRequest.DefaultWebProxy = proxy;
但是,我将客户端服务代理设置为使用ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.ChainTrust;
检查发送的数据包,客户端成功连接到服务器,然后尝试验证服务提供的证书。此验证尝试失败,因为对链的请求没有代理授权标头(它们因407错误而失败)。如何才能获得这些请求以正确使用指定的DefaultWebProxy?
如果我将验证模式设置为None,那么它当然都有效,但我真的不想这样做。
答案 0 :(得分:1)
此设置仅影响邮件级别证书。对于传输级别尝试这样的http://webservices20.blogspot.co.il/2008/12/wcf-gotcha-disabling-ssl-validation.html