How can I write an XML on my hard drive to GetRequestStream

Posted by swolff1978 on Stack Overflow See other posts from Stack Overflow or by swolff1978
Published on 2009-10-07T15:38:27Z Indexed on 2010/05/28 20:22 UTC
Read the original article Hit count: 237

Filed under:
|
|
|

I need to post raw xml to a site and read the response. With the following code I keep getting an "Unknown File Format" error and I'm not sure why.

            XmlDocument sampleRequest = new XmlDocument();
            sampleRequest.Load(@"C:\SampleRequest.xml");
            byte[] bytes = Encoding.UTF8.GetBytes(sampleRequest.ToString());

            string uri = "https://www.sample-gateway.com/gw.aspx";
            req = WebRequest.Create(uri);
            req.Method = "POST";
            req.ContentLength = bytes.Length;
            req.ContentType = "text/xml";

            using (var requestStream = req.GetRequestStream())
            {
                requestStream.Write(bytes, 0, bytes.Length);
            }

            // Send the data to the webserver
            rsp = req.GetResponse();

            XmlDocument responseXML = new XmlDocument();
            using (var responseStream = rsp.GetResponseStream())
            {
                responseXML.Load(responseStream);
            }

I am fairly certain my issue is what/how I am writing to the requestStream so..

How can I modify that code so that I may write an xml located on the hard drive to the request stream?

© Stack Overflow or respective owner

Related posts about c#

Related posts about .NET