zoukankan      html  css  js  c++  java
  • post xml using HttpWebRequest/Response dodo

    For those of you scouring the web looking for a simple routine that sends/receives an XML file using HttpWebRequest/Response here ya go:

        
    public static XmlDocument PostXMLTransaction(string v_strURL, XmlDocument v_objXMLDoc)
        {
            
    //Declare XMLResponse document
            XmlDocument XMLResponse = null;

            
    //Declare an HTTP-specific implementation of the WebRequest class.
            HttpWebRequest objHttpWebRequest;

            
    //Declare an HTTP-specific implementation of the WebResponse class
            HttpWebResponse objHttpWebResponse = null;

            
    //Declare a generic view of a sequence of bytes
            Stream objRequestStream = null;
            Stream objResponseStream 
    = null;

            
    //Declare XMLReader
            XmlTextReader objXMLReader;

            
    //Creates an HttpWebRequest for the specified URL.
            objHttpWebRequest = (HttpWebRequest)WebRequest.Create(v_strURL);

            
    try
            {
                
    //---------- Start HttpRequest 

                
    //Set HttpWebRequest properties
                byte[] bytes;
                bytes 
    = System.Text.Encoding.ASCII.GetBytes(v_objXMLDoc.In nerXml);
                objHttpWebRequest.Method 
    = "POST";
                objHttpWebRequest.ContentLength 
    = bytes.Length;
                objHttpWebRequest.ContentType 
    = "text/xml; encoding='utf-8'";

                
    //Get Stream object 
                objRequestStream = objHttpWebRequest.GetRequestStream();

                
    //Writes a sequence of bytes to the current stream 
                objRequestStream.Write(bytes, 0, bytes.Length);

                
    //Close stream
                objRequestStream.Close();

                
    //---------- End HttpRequest

                
    //Sends the HttpWebRequest, and waits for a response.
                objHttpWebResponse = (HttpWebResponse)objHttpWebRequest.GetResponse();

                
    //---------- Start HttpResponse
                if (objHttpWebResponse.StatusCode == HttpStatusCode.OK)
                {
                    
    //Get response stream 
                    objResponseStream = objHttpWebResponse.GetResponseStream();

                    
    //Load response stream into XMLReader
                    objXMLReader = new XmlTextReader(objResponseStream);

                    
    //Declare XMLDocument
                    XmlDocument xmldoc = new XmlDocument();
                    xmldoc.Load(objXMLReader);

                    
    //Set XMLResponse object returned from XMLReader
                    XMLResponse = xmldoc;

                    
    //Close XMLReader
                    objXMLReader.Close();
                }

                
    //Close HttpWebResponse
                objHttpWebResponse.Close();
            }
            
    catch (WebException we)
            {
                
    //TODO: Add custom exception handling
                throw new Exception(we.Message);
            }
            
    catch (Exception ex)
            {
                
    throw new Exception(ex.Message);
            }
            
    finally
            {
                
    //Close connections
                objRequestStream.Close();
                objResponseStream.Close();
                objHttpWebResponse.Close();

                
    //Release objects
                objXMLReader = null;
                objRequestStream 
    = null;
                objResponseStream 
    = null;
                objHttpWebResponse 
    = null;
                objHttpWebRequest 
    = null;
            }

            
    //Return
            return XMLResponse;
        }
  • 相关阅读:
    网络负载均衡LVS
    JS 模仿红绿灯(控制台)
    【转】wrk 压力测试的 lua脚本
    linux开机 自动挂载和启动jar包
    【转】jprofiler linux配置需要监听的程序的端口
    时间复杂度总结
    Windows Subsystem for Linux (WSL) 安装
    敬畏用户
    Golang语言HTTP客户端实践
    Groovy入门常用语法
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/1681200.html
Copyright © 2011-2022 走看看