C#调用WebService的简单方式
2024-10-13 08:35:57
WebServiceCallpublic class WebServiceCall
{
public void Call()
{
string url = "http://localhost:1117/WebSite/WebService.asmx";
string data = GetSOAPReuquestBody("");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.ContentType = "text/xml; charset=utf-8";
req.Method = "POST";
using (Stream reqStream = req.GetRequestStream())
{
byte[] reqData = Encoding.UTF8.GetBytes(data);
reqStream.Write(reqData, , reqData.Length);
} HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Console.WriteLine(resp.StatusCode);
foreach (var item in resp.Headers.AllKeys)
{
Console.WriteLine(item + " : " + resp.Headers[item]);
}
using (StreamReader reader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8))
{
Console.WriteLine(reader.ReadToEnd());
} }
public void Call2()
{
string url = "http://localhost:1117/WebSite/WebService.asmx/GetNumber";
string data = "id=3";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
using (Stream reqStream = req.GetRequestStream())
{
byte[] reqData = Encoding.UTF8.GetBytes(data);
reqStream.Write(reqData, , reqData.Length);
} HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Console.WriteLine(resp.StatusCode);
foreach (var item in resp.Headers.AllKeys)
{
Console.WriteLine(item + " : " + resp.Headers[item]);
}
using (StreamReader reader = new StreamReader(resp.GetResponseStream(), Encoding.UTF8))
{
Console.WriteLine(reader.ReadToEnd());
} } public string GetSOAPReuquestBody(string param)
{
StringBuilder soap = new StringBuilder();
soap.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
soap.Append("<soap12:Envelope xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");
soap.Append("<soap12:Body>");
soap.Append("<GetNumber xmlns=\"http://tempuri.org/\">");
soap.Append("<id>");
soap.Append(param);
soap.Append("</id>");
soap.Append("</GetNumber>");
soap.Append("</soap12:Body>");
soap.Append("</soap12:Envelope>");
return soap.ToString();
}
}
http://www.cnblogs.com/disappearwind/articles/2633760.html
最新文章
- AndroidStudio 1.4配置NDK
- C++学习笔记13:运算符重载(赋值操作符2)
- 【JAVA】数字相加
- (转)浅谈HTML5与css3画饼图!
- Android使用MVP时应该注意的问题
- 微软企业库5.0学习-Security.Cryptography模块
- mysql性能优化学习笔记(5)数据库结构优化
- C#学习日志 day 6 ------ 常用正则表达式例举
- 为WebBrowser的WEB页的Document注册事件的问题
- Linux soft lockup分析
- c语言,以单词为单位逆序字符串
- flutter 自定义输入框组件
- python3 + selenium 使用 JS操作页面滚动条
- 将sqllite3数据库迁移到mysql
- 第8月第12天 python json.dumps danmu
- sdi 采集卡---环视频拼接直播方案
- 浅谈Vue中的Prop
- 【并查集】POJ2236-Wireless Network
- elasticsearch plugin
- request threaded-only IRQs with IRQF_ONESHOT【转】
热门文章
- Json数据和对象互转
- 1706: 神奇的编码(zzuli)
- 部署描述符 web.xml
- eclipse java ee ide 配置
- Synchronized和java.util.concurrent.locks.Lockde区别联系
- bzoj 3129
- 论文阅读笔记三十三:Feature Pyramid Networks for Object Detection(FPN CVPR 2017)
- C#学习-索引器
- canvas 画线
- Flink--Table和DataStream和DataSet的集成