首页 > Web开发 > 详细

调用webserver时出现:请求因 HTTP 状态 401 失败: Unauthorized。

时间:2014-02-18 21:24:39      阅读:614      评论:0      收藏:0      [点我收藏+]

请求因 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

调用webserver时出现:请求因 HTTP 状态 401 失败: Unauthorized。

原文:http://www.cnblogs.com/mq0036/p/3554204.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!