【问题标题】:Web service calling problemWeb服务调用问题
【发布时间】:2011-08-30 04:44:57
【问题描述】:

我正在从 ASP.NET 网站调用 Web 服务(需要证书)。当我在 localhost(调试)上测试它时,它可以工作,但在 IIS 6(windows server 2003)上它不起作用并引发异常:

请求失败,HTTP 状态 403:禁止。

这是代码,我如何调用网络服务:

  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 服务调用,它在服务器上运行良好。所以我认为是IIS问题...

谢谢!

【问题讨论】:

    标签: c# asp.net web-services security


    【解决方案1】:

    要解决此问题,您应该查看link

    403 - 禁止。你可以收到这个 通用 403 状态代码,如果 Web 站点没有默认文档集,并且 该站点未设置为允许目录 浏览。有关更多信息 如何解决此问题,请单击 以下文章编号查看 Microsoft 知识中的文章 基地:
    320051 如何 配置默认文档 互联网信息服务


    403.7 - 需要客户端证书。您已将服务器配置为 需要客户端的证书 身份验证,但您没有 有效的客户证书 已安装。
    186812 PRB: 错误消息:403.7 禁止:客户端 需要证书

    【讨论】:

    • 已设置默认文档并允许目录浏览。但是问题没有解决。
    • @Vano Maisuradze" 试试这个link
    【解决方案2】:

    您应该在服务器端启用tracing,以便更好地理解这个问题。您将看到更好的异常消息或可以为您提供线索的内容。

    【讨论】:

      猜你喜欢
      • 2012-02-26
      • 1970-01-01
      • 2018-09-07
      • 2011-10-16
      • 2013-08-03
      • 2013-06-28
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      相关资源
      最近更新 更多