求救,调用WebService又出问题了!

jzpone 2004-08-13 08:00:42
有一Web Service ,名为RightControl,在项目根目录下的WebService目录中,提供一方法 WriteLastCallTime,客户端通过javascript调用,代码如下:
var sURL = "../WebService/RightControl.asmx/WriteLastCallTime";
var sRequest= "dbName="+prjNo+"&tableName=T_Project&whereSql="+whereSql+"&loginID="+strLoginID+"&firstTime=false";
objhttp.open("GET",sURL,false);
objhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
objhttp.send(sRequest);
以上代码服务器,客户端在同一台机子上时可以运行通过,但如果分开就不行了,返回错误代号是500,我是新手,对web service不熟,还请各位多多关照!
...全文
142 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fun1984 2004-08-15
  • 打赏
  • 举报
回复
学习!
eagle_hb 2004-08-15
  • 打赏
  • 举报
回复
MARK
qiri07 2004-08-14
  • 打赏
  • 举报
回复
佛法无边
darren_zhu_NZ 2004-08-14
  • 打赏
  • 举报
回复
长见识了,谢谢:)
jzpone 2004-08-13
  • 打赏
  • 举报
回复
我知道了,原来是因为.net版本的问题。web service有三种访问方式GET,POST,SOAP,在.net1.0中,默认情况下这三种都支持,但出于安全考虑,微软在.net1.1中默认情况下只支持SOAP,所以会出现这种情况。
解决方法:
在web.config配置文件中添加如下信息:
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices>
</system.web>
</configuration>
哈哈,好happy啊!
jzpone 2004-08-13
  • 打赏
  • 举报
回复
现在更郁闷了,如果在客户端只调用服务器上的Web Service方法,会出现"The test form is only available for requests from the local machine."的错误,怎么回事呢?!莫非...
jzpone 2004-08-13
  • 打赏
  • 举报
回复
web servcie本身应该是好的,因为在本地可以调用,我怀疑是客户端调用时路径有问题。顺便问一下在创建一个web service时除了建立一个web service类外还要其他什么东西吗?我看教材上说要添加web 应用什么的,不大明白。
web service代码如下:
[WebMethod]
public bool WriteLastCallTime ( string dbName , string tableName , string whereSql , string loginID , bool firstTime )
{
return flag;

}
darren_zhu_NZ 2004-08-13
  • 打赏
  • 举报
回复
500是指Server错误.

原因可能有很多种. 能否把你Web Service的东西贴出来看看?

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧