Network C# Tutorial

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Xml;
using System.Xml.XPath;
public class CallSoap {
  private const string soapNS = "http://schemas.xmlsoap.org/soap/envelope/";
  private const string yourNS = "http://yourName.com";
  private static readonly Encoding encoding = Encoding.UTF8;
  public static void Main(string [] args) {
    MemoryStream stream = new MemoryStream( );
    XmlTextWriter writer = new XmlTextWriter(stream,encoding);
    writer.WriteStartDocument( );
    writer.WriteStartElement("soap","Envelope",soapNS);
    writer.WriteStartElement("Body",soapNS);
    writer.WriteStartElement("GetNumberInStock",yourNS);
    writer.WriteElementString("productCode","1111");
    writer.WriteEndElement( ); 
    writer.WriteEndDocument( );
    writer.Flush( );
    stream.Seek(0,SeekOrigin.Begin);
    StreamReader reader = new StreamReader(stream);
    string soap = reader.ReadToEnd( );
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1/myQuery.asmx");
    request.Method = "POST";
    request.ContentType = "text/xml; charset=" + encoding.HeaderName;
    request.ContentLength = soap.Length;
    request.Headers["SOAPAction"] = "http://Product.com/GetNumberInStock";
    StreamWriter streamWriter = new StreamWriter(request.GetRequestStream( ));
    streamWriter.Write(soap);
    streamWriter.Flush( );
    WebResponse response = request.GetResponse( );
    Stream responseStream = response.GetResponseStream( );
    XPathDocument document = new XPathDocument(responseStream);
    XPathNavigator nav = document.CreateNavigator( );
    XPathNodeIterator nodes = nav.Select("//Envelope/Body/GetNumberIn/GetNumberInResult");
    Console.WriteLine(nodes.Current);
  }
}