• 【后端C#】后台通过http post 调用 webservice 的方法


    定义http post 调用webservice的某个方法

     1 /// <summary>    
     2     /// http Post调用  WebService  
     3     /// </summary>    
     4     public static XmlDocument Test1_QueryPostWebService(String URL,
     5         String MethodName, Hashtable Pars)
     6     {
     7         
     8  
     9  HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL + "/" + MethodName);
    10         request.Method = "POST";
    11         request.ContentType = "application/x-www-form-urlencoded";
    12         request.Credentials = CredentialCache.DefaultCredentials;
    13         request.Timeout = 10000;
    14  
    15         #region 参数拼接成字符串,最后编码
    16         StringBuilder sb = new StringBuilder();
    17         foreach (string k in Pars.Keys)
    18         {
    19             if (sb.Length > 0)
    20             {
    21                 sb.Append("&");
    22             }
    23             sb.Append(
    24                 HttpUtility.UrlEncode(k) + "="
    25                 + HttpUtility.UrlEncode(Pars[k].ToString())
    26                 );
    27  
    28         }
    29         byte[] data = Encoding.UTF8.GetBytes(sb.ToString());
    30         #endregion
    31  
    32         #region  把编码后的参数写入请求流中
    33         request.ContentLength = data.Length;
    34         Stream writer = request.GetRequestStream();
    35         writer.Write(data, 0, data.Length);
    36         writer.Close();
    37         #endregion
    38  
    39         #region 读取结果,创建XmlDocument对象,对象加载结果
    40         var response = request.GetResponse();
    41         StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
    42         String retXml = sr.ReadToEnd();
    43         sr.Close();
    44         XmlDocument doc = new XmlDocument();
    45         doc.LoadXml(retXml);
    46         #endregion 
    47  
    48   return doc;
    49  
    50  
    51  
    52     }
    53  

    调用实例:

     1 protected void Page_Load(object sender, EventArgs e)
     2         {
     3             Hashtable pars = new Hashtable();
     4             String Url = "http://localhost:63596/WebService1.asmx";
     5             pars["aa"] = "HelenZhou";
     6             XmlDocument doc = WebSvcCaller.
     7                 Test1_QueryPostWebService(Url,
     8                 "MyHelloWorld",
     9                 pars);
    10             Response.Write(doc.OuterXml); 
    11         }
  • 相关阅读:
    ubuntu 安装 Java 开发环境
    mtd-utils 的 使用
    容器技术与虚拟化技术
    Shell之作业控制
    Shell常用语句及结构
    Shell常用命令之read
    Shell之函数
    文件的copy
    类中调用初始化方法
    父类中的方法被覆盖以及子类调用父类覆盖的方法
  • 原文地址:https://www.cnblogs.com/-SSY-/p/12039919.html
Copyright © 2020-2023  润新知