怎样在asp下使用WebService?

[WebMethod]
public string MobilePhone(string mobile,string mobilePwd)
{
if (mobile == null || mobilePwd.Length != 11)
return "你输入的有误!!";
string st = mobile.Substring(0, 2);
if (st != "13" || st != "15" || st != "18" || st != "19")
return "手机号的长度不够!!";
if (mobilePwd != "123456")
return "NO";
return "YES";
}
// 在ASP下我是这么写的啊!!我在index.aspx页上有两个文本控件。
localhost.WebService5 lw = new localhost.WebService5();
string strMobilePhone = TextBox7.Text.Trim().ToString();
string strPwd = TextBox8.Text.Trim().ToString();
lw.MobilePhone(strMobilePhone, strPwd);-----》 怎么不好用呢 ??

慕姐4208626
浏览 720回答 2
2回答

蝴蝶刀刀

 方法如下:  1、在项目中新建 Web 服务;  2、WebService的后台cs文件中,修改代码如下;  3、到Login.aspx的后台cs代码中,添加如下代码;  4、使用Web服务的命名空间来调用其类和方法;  5、随意输入用户名和密码,已经实现了验证功能;  6;输入正确的用户和密码,系统可以正常登录。

慕容3067478

如果要用ASP来调用WevService,就一定要使用SOAP Toolkit或者XMLHTTP, 使用SOAP Client需要专门安装SOAP Toolkit,这对客户端来说不具有通用性,因此我们就学习使用XML来进行对WebService的调用。<%Set objHTTP = Server.CreateObject( "MSXML2.XMLHTTP ")Set xmlDOC =Server.CreateObject( "MSXML.DOMDocument ")strWebserviceURL = "http://localhost/WebService1/Service1.asmx/Add&nbsp;"'设置参数和值strRequest = "a=5&b=6 "objHTTP.Open "POST ", strWebserviceURL, False'设置Content-Type很重要objHTTP.SetRequestHeader "Content-Type ", "application/x-www-form-urlencoded "objHTTP.Send(strRequest)bOK = xmlDOC.load(objHTTP.responseXML)'查看状态值if objHTTP.Status=200 thenxmlStr = xmlDOC.xmlxmlStr = Replace(xmlStr, "< ", " < ",1,-1,1)xmlStr = Replace(xmlStr, "> ", "> ",1,-1,1)Response.Write xmlStrelseResponse.Write objHTTP.Statu& " <br> "Response.Write objHTTP.StatusTextend if%>以上代码在本地测试都没有问题(在部署webservice的本地机器上测试的),然而把strWebserviceURL = "http://localhost/WebService1/Service1.asmx/Add&nbsp;"改为部署在其他机器上的WebService时,却出了问题,结果一直是返回500错误,即objHTTP.Status一直都为500。  原因在于.Net Framework1.1默认不支持HttpGet和HttpPost。如果修改webservice里的web.config增加上代码5后,上代码就可以调用远程机器上的WebService了。<webServices>   <protocols>     <add name= "HttpPost "/>     <add name= "HttpGet "/>   </protocols></webServices>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

WebApp