2011-05-21 158 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這個問題。你會看到一個更好的異常信息或者會給你提供線索的東西。