C# Web服务调用问题
我从ASP.NET网站调用web服务(需要证书)。当我在localhost(调试)上测试它时,它可以工作,但在IIS 6(windows server 2003)上不工作,并引发异常: 请求失败,状态为HTTP 403:禁止 下面是我如何调用web服务的代码:C# Web服务调用问题,c#,asp.net,web-services,security,C#,Asp.net,Web Services,Security,我从ASP.NET网站调用web服务(需要证书)。当我在localhost(调试)上测试它时,它可以工作,但在IIS 6(windows server 2003)上不工作,并引发异常: 请求失败,状态为HTTP 403:禁止 下面是我如何调用web服务的代码: Service service = new Service(); service.ClientCertificates.Add(new X509Certificate("certificate path", "password")
Service service = new Service();
service.ClientCertificates.Add(new X509Certificate("certificate path", "password"));
service.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(ValidationCallBack);
Result res = service.GetResult();
private static bool ValidationCallBack(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
return true;
}
此错误的原因是什么?如何避免此错误
我用winForms尝试了web服务调用,它在服务器上运行良好。所以我认为这是个问题
谢谢 要解决这个问题,你应该看看这个 403-禁止。你可以收到这个 通用403状态代码,如果Web 站点没有默认文档集,并且 该站点未设置为允许目录 浏览。有关 如何解决此问题,请单击 以下文章编号可查看 Microsoft知识库中的文章 基础:
如何 在中配置默认文档 互联网信息服务
403.7-需要客户证书。您已将服务器配置为 需要客户端的证书 身份验证,但您没有 有效的客户端证书 已安装。
PRB: 错误消息:403.7禁止:客户端 所需证书
为了更好地理解这个问题,您应该在服务器端启用操作系统。您将看到一条更好的异常消息或一些可以为您提供线索的信息。设置了默认文档,允许浏览目录。但问题并没有解决。@Vano Maisuradze“试试这个。”