Ошибка: Вы должны написать байты ContentLength в поток запросов перед вызовом [Begin] GetResponse.Вы должны написать байты ContentLength в поток запросов перед вызовом [Begin] GetResponse
Может кто-нибудь посоветовать, почему я получаю вышеуказанную ошибку при выполнении следующего кода
Dim xml As New System.Xml.XmlDocument()
Dim root As XmlElement
root = xml.CreateElement("root")
xml.AppendChild(root)
Dim username As XmlElement
username = xml.CreateElement("UserName")
username.InnerText = "xxxxx"
root.AppendChild(username)
Dim password As XmlElement
password = xml.CreateElement("Password")
password.InnerText = "xxxx"
root.AppendChild(password)
Dim shipmenttype As XmlElement
shipmenttype = xml.CreateElement("ShipmentType")
shipmenttype.InnerText = "DELIVERY"
root.AppendChild(shipmenttype)
Dim url = "xxxxxx"
Dim req As WebRequest = WebRequest.Create(url)
req.Method = "POST"
req.ContentType = "application/xml"
req.Headers.Add("Custom: API_Method")
req.ContentLength = xml.InnerXml.Length
Dim newStream As Stream = req.GetRequestStream()
xml.Save(newStream)
Dim response As WebResponse = req.GetResponse()
Console.Write(response.ToString())
Возможно, это помогает: http://forums.asp.net/t/1956377.aspx?How+to+fix+this+error+You+must+write+ContentLength+bytes+to+the+request+stream + before + call + Begin + GetResponse – xameeramir