zoukankan      html  css  js  c++  java
  • 理解 Soap

    http://www.cnblogs.com/yhuang/archive/2012/04/04/share_storm.html

    自己也写了下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using MyCmn;
    using System.Web;
    using System.Net;
    using System.IO;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                var str = @"<?xml version=""1.0"" encoding=""utf-8""?>
    <soap:Envelope xmlns:soap=""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>
        <Login xmlns=""MyServer"">
          <RequestJson>{WebName:""iudi"",Password:""iudi""}</RequestJson>
        </Login>
      </soap:Body>
    </soap:Envelope>";
    
    
                HttpWebRequest request = HttpWebRequest.Create("http://udi-pc/WcfService/AndroidApp.svc") as HttpWebRequest;
                request.Method = "POST";
                request.Headers["SoapAction"] = "MyServer/AndroidApp/Login";
                request.ContentType = "text/xml; charset=utf-8";
                request.Pipelined = true;
                request.AllowAutoRedirect = true;
                request.KeepAlive = true;
                request.Headers["UseCookieContaner"] = "True";
    
                var rs = request.GetRequestStream();
    
                var ary1 = System.Text.Encoding.UTF8.GetBytes(str);
                rs.Write(ary1, 0, ary1.Length);
    
                var resp = request.GetResponse() as HttpWebResponse;
    
                using (var respStream = resp.GetResponseStream())
                {
                    System.IO.BinaryReader reader = new BinaryReader(respStream);
                    byte[] ary = null;
                    if (resp.ContentLength <= 0)
                    {
                        var listAry = new List<byte>();
    
                        while (true)
                        {
                            var tempAry = reader.ReadBytes(10240);
                            if (tempAry.Length == 0) break;
                            listAry.AddRange(tempAry);
                        }
    
                        ary = listAry.ToArray();
                    }
                    else
                    {
                        ary = reader.ReadBytes(resp.ContentLength.AsInt());
                    }
    
                    var html = "";
                    if (resp.CharacterSet.HasValue())
                    {
                        html = System.Text.Encoding.GetEncoding(resp.CharacterSet).GetString(ary);
                    }
                    else
                    {
                        html = System.Text.Encoding.Default.GetString(ary);
                    }
    
    
                    Console.WriteLine(html);
                }
    
            }
        }
    }
  • 相关阅读:
    PyCharm 安装package matplotlib为例
    Julia 下载 安装 juno 开发环境搭建
    进程 线程 协程
    Eclipse Golang 开发环境搭建 GoClipse 插件
    TaxonKit
    tar: Removing leading `/' from member names
    Linux 只列出目录的方法
    unbuntu 安装 teamviewer
    ubuntu 设置静态IP
    Spring 配置文件中 元素 属性 说明
  • 原文地址:https://www.cnblogs.com/newsea/p/4086866.html
Copyright © 2011-2022 走看看