一直用得好好的WebService 突然就不能用了,请问原因?
异常详细信息: System.Net.WebException: 请求因 HTTP 状态 401 失败:Unauthorized。
源错误:
行 35: [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/HelloWorld", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
行 36: public string HelloWorld() {
行 37: object[] results = this.Invoke("HelloWorld", new object[0]);
行 38: return ((string)(results[0]));
行 39: }
问题点数:20、回复次数:24Top
1 楼jamzh(Show me the money!!!)回复于 2004-09-03 11:22:22 得分 3
楼主的系统是否换了2003,或者FRAMEWORK是1.1
Top
2 楼jamzh(Show me the money!!!)回复于 2004-09-03 11:23:13 得分 0
或者你没有权限去访问WSTop
3 楼jietuan(伪君子)回复于 2004-09-03 14:17:44 得分 3
你看看iis有没有出现异常。Top
4 楼DataBind(大肩)回复于 2004-09-03 14:18:59 得分 3
是不是认证方式变了?
是Windows 还是 None?Top
5 楼lzyang(梁祝)回复于 2004-09-07 14:00:02 得分 0
1、用的是windows2003,.net framework1.1,.net2003
2、应该有权限访问,因为原来用程序是可以的,现在用IE 去访问还是可以的,但程序不行;
3、iis 没有什么异常,从iis 里面直接浏览调用web 方法没有问题;
4、认证方式没有改变一直用的都是windows,现在改成none 也不行;
搞不懂是什么地方出问题了,不过有个地方值得注意的是:
一开始就安装了WSE1.1,是可以的,后来升级到WSE2.0,就不行了,然后卸载了WSE2.0,装上WSE2.0 SP1 还是不行,后来又卸载掉WSE2.0 SP1 还是不行,再重装WSE2.0 SP1 还是不行,不得其解,现在试试卸载掉WSE2.0 SP1 重新用WSE1.1 看行不行,请各位多多帮忙啊。Top
6 楼lzyang(梁祝)回复于 2004-09-07 14:21:12 得分 0
请有经验的朋友帮忙顶一下,谢了Top
7 楼lzyang(梁祝)回复于 2004-09-07 14:30:37 得分 0
再up一下,看有没有好心人帮忙Top
8 楼doublewood001(双木)回复于 2004-09-07 15:07:54 得分 3
我自己也曾碰到过好好的,但在使用时就出错了,原来是WEBSERVICE 里的WEB.config的数据库连接中的数据库名字改了,不知为何数据库会改名字。我也是在浏览器里调用没问题Top
9 楼lzyang(梁祝)回复于 2004-09-07 15:48:23 得分 0
谢谢楼上的,但是我连最简单的HelloWorld 都不行了。Top
10 楼stlwj(保持健康,渴望金钱。)回复于 2004-09-07 15:57:00 得分 3
是IIS的匿名访问的勾打上就可以Top
11 楼lzyang(梁祝)回复于 2004-09-07 16:08:12 得分 0
楼上的请描述清楚,iis里面的匿名访问是不是指属性-目录安全性-身份验证和访问控制-匿名访问?如果是的话,早已是允许的。请继续帮忙,谢谢。Top
12 楼doublewood001(双木)回复于 2004-09-07 16:14:47 得分 0
既然能通过浏览器访问WEBSERVICE,程序一定没问题,IIS设置也不会有问题,你有没有在你的项目中重新更新WEB引用?Top
13 楼lzyang(梁祝)回复于 2004-09-07 16:27:25 得分 0
呵呵,谢谢楼上的提醒,不过没有犯这样的低级错误。
请问这里
行 37: object[] results = this.Invoke("HelloWorld", new object[0]);
出错大概会是什么原因呢?报的又是:
异常详细信息: System.Net.WebException: 请求因 HTTP 状态 401 失败:Unauthorized。
大家帮帮忙啊。Top
14 楼doublewood001(双木)回复于 2004-09-07 17:06:19 得分 0
你试一下新开一个工程文件,引用WEBservice看看,假如还不行,可能与你装的WSE2.1有关,
一般很少遇见过没权限的错误的Top
15 楼lzyang(梁祝)回复于 2004-09-07 19:32:32 得分 0
楼上的还是不行啊,有没有法子?Top
16 楼doublewood001(双木)回复于 2004-09-07 19:34:23 得分 2
我试一下调用的你WEBSERVICE 你说你的WEBSERVICE地址给我听听Top
17 楼lzyang(梁祝)回复于 2004-09-08 09:02:41 得分 0
先谢谢楼上的,那我先在别的机器上试一下吧。Top
18 楼flower_open(宫爆鸡丁)回复于 2004-09-08 11:07:53 得分 3
C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe /iTop
19 楼lzyang(梁祝)回复于 2004-09-09 08:41:11 得分 0
楼上的我也做了,但是还是不行啊,在被的机器上调用也不行,请有WSE 经验的高手帮帮忙!Top
20 楼lzyang(梁祝)回复于 2004-09-09 10:03:14 得分 0
upTop
21 楼lzyang(梁祝)回复于 2004-09-09 16:18:04 得分 0
惨了,没有人回了。Top
22 楼doublewood001(双木)回复于 2004-09-10 14:40:10 得分 0
你可以给你的WEBSERVICE的源代码给我们看看吗?仅凭你所说的,我们真的很难给你答案啊。
是否在Function前漏了<WebMethod()>标记啊Top
23 楼lzyang(梁祝)回复于 2004-09-10 14:42:12 得分 0
谢谢doublewood001(双木) ,问题已经解决,不知道为什么,要在调用时加上,
service.Credential = System.Net.CredentialCache.DefaultCredential
就好了。Top
24 楼doublewood001(双木)回复于 2004-09-11 10:05:07 得分 0
真难过,你所说的调用语句,我看了自己的Webservice都有,而且你所遇到的问题,我同事以前都遇到过,自己竟然没有留意!要是早点意思到,你的问题就用拖那么久了。多简单的一句话,尽管不明所以,你说是吗?在CSDN论坛真高兴,在解决别人的问题时又可以学到新知识,更可以认识一帮同方向的高手!Top




