2011-05-21 94 views
1

从ASP.NET网站我打电话给Web服务(它需要证书)。当我在本地主机上测试它(调试)它的工作原理,但在IIS 6(Windows Server 2003中)不工作,并抛出一个异常:Web服务调用问题

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

下面是代码,我如何调用Web服务:

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问题...

谢谢!

+0

查看我的更新回答。 – jams 2011-05-21 12:10:46

回答

0

要解决这个你应该看看这个link

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


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

+0

设置默认文档并允许目录浏览。但问题没有解决。 – 2011-05-21 11:49:14

+0

@Vano Maisuradze“试试这个[link](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/thread/3d3357fd-bcf2-4b1c-a3f6-c338a04daffa/) – jams 2011-05-21 11:58:24

0

你应该能够在服务器端tracing以便更好地理解OS这个问题。你会看到一个更好的异常信息或者会给你提供线索的东西。