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

請求因 HTTP 狀態 401 失敗: Unauthorized

    今天在調用webserver時出現了上述標題的錯誤,開始認爲是因爲端口的問題,我把端口恢復80默認端口後,可是問題並無解決!後來我本身又試了不少方法,都沒解決如今解決了,就是權限問題!!web

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

開始學習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=....這行代碼了。dom

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

相關文章
相關標籤/搜索