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; }