用Soap调用WebService
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace
Weather
{
classProgram
{
staticvoid Main(string[] args)
{
StringBuilder soap = newStringBuilder();
soap.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
soap.Append("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\http://www.w3.org/2001/XMLSchema\ xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">");
soap.Append("<soap:Body>");
soap.Append("<getWeatherbyCityName xmlns=\"http://WebXml.com.cn/\">");
soap.Append("<theCityName>北京</theCityName>");
soap.Append("</getWeatherbyCityName >");
soap.Append("</soap:Body>");
soap.Append("</soap:Envelope>");
string url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";
Console.WriteLine(GetSOAPReSource(url, soap.ToString()));
Console.ReadKey();
}
publicstaticstring GetSOAPReSource(string url, string datastr)
{
//发起请求
Uri uri = newUri(url);
WebRequest webRequest = WebRequest.Create(uri);
webRequest.ContentType ="text/xml; charset=utf-8";
webRequest.Method ="POST";
using (Stream requestStream = webRequest.GetRequestStream())
{
byte[] paramBytes = Encoding.UTF8.GetBytes(datastr.ToString());
requestStream.Write(paramBytes, 0, paramBytes.Length);
}
//响应
WebResponse webResponse = webRequest.GetResponse();
using (StreamReader myStreamReader = newStreamReader(webResponse.GetResponseStream(), Encoding.UTF8))
{
string result = "";
return result = myStreamReader.ReadToEnd();
}
}
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步