調用webserver時出現:請求因 HTTP 狀態 401 失敗: Unauthorized。


請求因 HTTP 狀態 401 失敗: Unauthorized

    今天在調用webserver時出現了上述標題的錯誤,開始認為是由於端口的問題,我把端口恢復80默認端口后,但是問題並沒有解決!后來我自己又試了很多方法,都沒解決現在解決了,就是權限問題!!

我把心得分給大家看看哦!對了,我用的是server2003,xp就更好搞定了!!

開始學習WebServer,客戶端調用時,提示 "請求因 HTTP 狀態 401 失敗: Unauthorized。"
查看相關文檔,找到兩種解決方法
1.右擊 - 虛擬目錄 - 屬性 - 目錄安全性 - 編輯 打開對話框后,勾選"啟用匿名訪問"
2.在WebServer實例化調用前加 "字段名..Credentials = System.Net.CredentialCache.DefaultCredentials;"
例如:
WEB1.Service ws1 = new WebServer_Test.WEB1.Service();
ws1.Credentials = System.Net.CredentialCache.DefaultCredentials;
textBox1.Text = ws1.HelloWorld();

另,以下引用 Mood 朋友的一段話
調用WS的時候,在IIS上有驗證設置的,一般設置的是basic驗證或者Windows集成驗證,這就是說,你要訪問這個WS,必須提供一個有權限調用的windows身份,這個時候,如果你的當前調用WS的運行帳號存在於對方系統中,並且密碼一樣,那么,你的那句ws.Credentials=CredentialCache.DefaultCredentials;就有用,否則,你應該如此寫:ws.Credentials = new NetworkCredential(userid,password,domainname),當然如果對方的WS使用了匿名驗證,你當前就可以不用寫ws.Credentials=....這行代碼了。

出處:http://hi.baidu.com/ligang1017/item/4ed5b5e0ef1923246dabb8bd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM