zoukankan      html  css  js  c++  java
  • C#调用WebService的简单方式

    WebServiceCallpublic class WebServiceCall
        {
            public void Call()
            {
                string url = "http://localhost:1117/WebSite/WebService.asmx";
                string data = GetSOAPReuquestBody("100");
               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, 0, 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, 0, 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

  • 相关阅读:
    函数---迭代器&生成器&列表解析&三元表达式
    python函数模拟mysql增删改查功能
    装饰器
    函数----模块化的程序设计
    文件操作
    字符编码
    python的对象类型-----列表&元组&字典
    Mac上vmware虚拟机Windows10安装JDK8及配置环境
    Windows10显示桌面我的电脑等图标
    HTTP状态码:300400500 错误代码
  • 原文地址:https://www.cnblogs.com/ilookbo/p/5481780.html
Copyright © 2011-2022 走看看