1、使用JavaScript(JS)调用WebService(asmx)
<!DOCTYPE html>
http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
$(function () {
$("#getdata").click(function () {
$.ajax({
type: 'POST',
url: 'TestServer.asmx/GetAge',
data: '{ id:"bb101"}',
dataType: 'json',
contentType: "application/json",
success: function (data) {
$("#data").append(data.d);
}
});
});
});
</script>
</head>
<body>
<a id="getdata" href="javascript:void(0);">获取webservice数据</a>
<div id="data"></div>
</body>
</html>
2、添加引用方式调用WebService(asmx)
项目中找到 "引用"
,然后点鼠标右键选择添加 “添加服务引用”
,输入WebService(asmx)地址,点 “转到”
,加载完直接点 “确定”
,之后直接通过Client对象,直接调用方法,具体如下,
ServiceReference1.TestServerSoapClient testServer = new ServiceReference1.TestServerSoapClient();
string str1= testServer.HelloWorld();
string str2 = testServer.GetAge("b101");
参考文档:https://www.cnblogs.com/coder-axin/p/5320117.html
3、使用HttpWebRequest调用WebService(asmx)
/// <summary>
/// Execute a Soap WebService call
/// </summary>
public void CallWebService(url="“http://url”")
{
HttpWebRequest request = CreateWebRequest(url,”SOAP:Action”);
XmlDocument soapEnvelopeXml = new XmlDocument();
soapEnvelopeXml.LoadXml(@"<?xml version=""1.0"" encoding=""utf-8""?>
http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
<soap:Body>
http://tempuri.org/"">
<parameter1>test</parameter1>
<parameter2>23</parameter2>
<parameter3>test</parameter3>
</HelloWorld3>
</soap:Body>
</soap:Envelope>");
using (Stream stream = request.GetRequestStream())
{
soapEnvelopeXml.Save(stream);
}
using (WebResponse response = request.GetResponse())
{
using (StreamReader rd = new StreamReader(response.GetResponseStream()))
{
string soapResult = rd.ReadToEnd();
Console.WriteLine(soapResult);
}
}
}
public HttpWebRequest CreateWebRequest(string url, string soapAction)
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.ContentType = “application/soap+xml;charset=UTF-8;action=\””+ soapAction + “\””;
webRequest.Method = “POST”;
return webRequest;
}