How to post XML document to HTTP with VB.Net

doremi picture doremi · Feb 19, 2011 · Viewed 23.7k times · Source

I'm looking for help with posting my XML document to a url in VB.NET. Here's what I have so far ...

  Public Shared xml As New System.Xml.XmlDocument()

    Public Shared Sub Main()

        Dim root As XmlElement
        root = xml.CreateElement("root")
        xml.AppendChild(root)

        Dim username As XmlElement
        username = xml.CreateElement("username")
        username.InnerText = _username
        root.AppendChild(username)

        xml.Save(Console.Out)

        Dim url = "https://mydomain.com"
        Dim req As WebRequest = WebRequest.Create(url)
        req.Method = "POST"
        req.ContentType = "application/xml"
        req.Headers.Add("Custom: API_Method")

        Console.WriteLine(req.Headers.ToString())

This is where things go awry:

I want to post the xml, and then print the results to console.

        Dim newStream As Stream = req.GetRequestStream()
        xml.Save(newStream)

        Dim response As WebResponse = req.GetResponse()
        Console.WriteLine(response.ToString())
 End Sub

Answer

doremi picture doremi · Feb 19, 2011

This is essentially what I was after:

xml.Save(req.GetRequestStream())