title: Send XML document over soap
body: <p>Following is my code:
  Method(SendXmlDocument) will take in as parameter an XML document, URL, and the SOAP action and make a request to a web service. I have to use HttpClient class to make the request to the web service.</p>
  
  <pre><code>using System;
  using System.Net;
  using System.Threading.Tasks;
  using System.Xml;
  using System.IO;
  
  namespace HttpClientStatus
  {
  
  
  class WebServiceClient
  {
      public void SendXmlDocument(XmlDocument fi , string URL , string action)
      {
          XmlDocument soapEnvelopeXml = fi;
          HttpWebRequest webRequest = CreateWebRequest(URL, action);
          InsertSoapEnvelopeIntoWebRequest(soapEnvelopeXml, webRequest);
  
          IAsyncResult asyncResult = webRequest.BeginGetResponse(null, null);
  
          asyncResult.AsyncWaitHandle.WaitOne();
  
          // get the response from the completed web request.
          string soapResult;
          using (WebResponse webResponse = webRequest.EndGetResponse(asyncResult))
          {
              using (StreamReader rd = new StreamReader(webResponse.GetResponseStream()))
              {
                  soapResult = rd.ReadToEnd();
              }
              Console.Write(soapResult);
          }
      }
  
      private static HttpWebRequest CreateWebRequest(string url, string action)
      {
          HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
          webRequest.Headers.Add("SOAPAction", action);
          webRequest.ContentType = "text/xml;charset=\"utf-8\"";
          webRequest.Accept = "text/xml";
          webRequest.Method = "POST";
          return webRequest;
      }
  
      private static void InsertSoapEnvelopeIntoWebRequest(XmlDocument soapEnvelopeXml, HttpWebRequest webRequest)
      {
          using (Stream stream = webRequest.GetRequestStream())
          {
              soapEnvelopeXml.Save(stream);
          }
      }
  
      }
  
  
     class Program
  {
  
      static void Main(string[] args)
      {
          var _u = "http://xxxxxxxxx/Service1.asmx";
          var _a = "http://xxxxxxxxx/Service1.asmx/action";
          XmlDocument d = new XmlDocument();
          d.Load("C://Users//gmzmdz//Desktop//course.xml");
          WebServiceClient ob = new WebServiceClient();
          ob.SendXmlDocument(d, _u, _a);
  
  
      }
  }
  }
  </code></pre>
  
  <p>My Question is that following pure xml document will be sent or not.  That this method make a request to web service or not. How do I will know about it that request has been made successful? Then, I have to print the response on the console that comes back from the web service.</p>