• 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;
        }
  • 相关阅读:
    hadoop分布式搭建
    朴素贝叶斯算法
    python数组并集交集补集
    VMware Workstation下安装Linux
    决策树ID3算法
    微信小程序开发测试
    筛法求素数质数
    STL——heap结构及算法
    STL——序列式容器
    使用位图字体工具BMFont从图片生成自定义字体
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/1681200.html
Copyright © 2020-2023  润新知