怎样在asp下使用WebService
[WebMethod]publicstringMobilePhone(stringmobile,stringmobilePwd){if(mobile==null||mob...
[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);-----》 怎么不好用呢 ?? 展开
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);-----》 怎么不好用呢 ?? 展开
展开全部
如果要用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 "
'设置参数和值
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 then
xmlStr = xmlDOC.xml
xmlStr = Replace(xmlStr, "< ", " < ",1,-1,1)
xmlStr = Replace(xmlStr, "> ", "> ",1,-1,1)
Response.Write xmlStr
else
Response.Write objHTTP.Statu& " <br> "
Response.Write objHTTP.StatusText
end if
%>
以上代码在本地测试都没有问题(在部署webservice的本地机器上测试的),然而把strWebserviceURL = "http://localhost/WebService1/Service1.asmx/Add "改为部署在其他机器上的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>
<%
Set objHTTP = Server.CreateObject( "MSXML2.XMLHTTP ")
Set xmlDOC =Server.CreateObject( "MSXML.DOMDocument ")
strWebserviceURL = "http://localhost/WebService1/Service1.asmx/Add "
'设置参数和值
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 then
xmlStr = xmlDOC.xml
xmlStr = Replace(xmlStr, "< ", " < ",1,-1,1)
xmlStr = Replace(xmlStr, "> ", "> ",1,-1,1)
Response.Write xmlStr
else
Response.Write objHTTP.Statu& " <br> "
Response.Write objHTTP.StatusText
end if
%>
以上代码在本地测试都没有问题(在部署webservice的本地机器上测试的),然而把strWebserviceURL = "http://localhost/WebService1/Service1.asmx/Add "改为部署在其他机器上的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>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询