12

I am looking for an example of how, in C#, to put a xml document in the message body of a http request and then parse the response. I've read the documentation but I would just like to see an example if there's one available. Does anyone have a example?

thanks

jumbojs
  • 4,768
  • 9
  • 38
  • 50

2 Answers2

31
private static string WebRequestPostData(string url, string postData)
{
    System.Net.WebRequest req = System.Net.WebRequest.Create(url);

    req.ContentType = "text/xml";
    req.Method = "POST";

    byte[] bytes = System.Text.Encoding.ASCII.GetBytes(postData);
    req.ContentLength = bytes.Length;

    using (Stream os = req.GetRequestStream())
    {
        os.Write(bytes, 0, bytes.Length);
    }

    using (System.Net.WebResponse resp = req.GetResponse())
    {
        if (resp == null) return null;

        using (System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream()))
        {
            return sr.ReadToEnd().Trim();
        }
    }
}
David Božjak
  • 16,887
  • 18
  • 67
  • 98
Gratzy
  • 9,164
  • 4
  • 30
  • 45
5

You should use the WebRequest class.

There is an annotated sample available here to send data:

http://msdn.microsoft.com/en-us/library/debx8sh9.aspx

Mehrdad Afshari
  • 414,610
  • 91
  • 852
  • 789