L
Luis Esteban Valencia
Hello. I am making the practice of chapter 6. Biztalk Unleashed its about
sending an HTTP request with a c# webform.
I got this error
Unable to complete web request. Web Exception error: Error en el servidor
remoto: (401) No autorizado.
This is the code of the submit button.
private void btnsubmit_Click(object sender, System.EventArgs e)
{
string requestLocation =
"http://localhost:90/HTTPSender/BTSHTTPReceive.dll";
Status.Text = "";
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.PreserveWhitespace = true;
XmlNode tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Element,
"Activity", "http://que.activity");
xmlDocument.AppendChild(tempXmlNode);
tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Attribute, "type", "");
tempXmlNode.Value = TypeList.SelectedItem.Text;
xmlDocument.DocumentElement.Attributes.Append( (XmlAttribute)tempXmlNode);
tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Element, "Location", "");
tempXmlNode.InnerText = Location.Text;
xmlDocument.DocumentElement.AppendChild(tempXmlNode);
tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Element, "Timestamp", "");
DateTime now = DateTime.Now;
tempXmlNode.InnerText = now.ToString("s");
xmlDocument.DocumentElement.AppendChild(tempXmlNode);
tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Element, "Notes", "");
tempXmlNode.InnerText = Notes.Text;
xmlDocument.DocumentElement.AppendChild(tempXmlNode);
try
{
HttpWebRequest request = (HttpWebRequest)
HttpWebRequest.Create(requestLocation);
request.Method = "POST";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] requestData = encoding.GetBytes(xmlDocument.OuterXml);
request.ContentType="application/x-www-form-urlencoded";
request.ContentLength = xmlDocument.OuterXml.Length;
Status.Text += "Submitting activity message";
Stream requestStream = request.GetRequestStream(); ---------->ERROR HERE
requestStream.Write(requestData,0,requestData.Length);
requestStream.Flush();
requestStream.Close();
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader responseData = new StreamReader( response.GetResponseStream());
Status.Text = System.Web.HttpUtility.HtmlEncode( responseData.ReadToEnd()) +
"<br>";
}
catch (WebException wex)
{
Status.Text = "Unable to complete web request. Web Exception error: " +
wex.Message;
}
}
Thanks
sending an HTTP request with a c# webform.
I got this error
Unable to complete web request. Web Exception error: Error en el servidor
remoto: (401) No autorizado.
This is the code of the submit button.
private void btnsubmit_Click(object sender, System.EventArgs e)
{
string requestLocation =
"http://localhost:90/HTTPSender/BTSHTTPReceive.dll";
Status.Text = "";
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.PreserveWhitespace = true;
XmlNode tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Element,
"Activity", "http://que.activity");
xmlDocument.AppendChild(tempXmlNode);
tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Attribute, "type", "");
tempXmlNode.Value = TypeList.SelectedItem.Text;
xmlDocument.DocumentElement.Attributes.Append( (XmlAttribute)tempXmlNode);
tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Element, "Location", "");
tempXmlNode.InnerText = Location.Text;
xmlDocument.DocumentElement.AppendChild(tempXmlNode);
tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Element, "Timestamp", "");
DateTime now = DateTime.Now;
tempXmlNode.InnerText = now.ToString("s");
xmlDocument.DocumentElement.AppendChild(tempXmlNode);
tempXmlNode = xmlDocument.CreateNode(XmlNodeType.Element, "Notes", "");
tempXmlNode.InnerText = Notes.Text;
xmlDocument.DocumentElement.AppendChild(tempXmlNode);
try
{
HttpWebRequest request = (HttpWebRequest)
HttpWebRequest.Create(requestLocation);
request.Method = "POST";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] requestData = encoding.GetBytes(xmlDocument.OuterXml);
request.ContentType="application/x-www-form-urlencoded";
request.ContentLength = xmlDocument.OuterXml.Length;
Status.Text += "Submitting activity message";
Stream requestStream = request.GetRequestStream(); ---------->ERROR HERE
requestStream.Write(requestData,0,requestData.Length);
requestStream.Flush();
requestStream.Close();
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader responseData = new StreamReader( response.GetResponseStream());
Status.Text = System.Web.HttpUtility.HtmlEncode( responseData.ReadToEnd()) +
"<br>";
}
catch (WebException wex)
{
Status.Text = "Unable to complete web request. Web Exception error: " +
wex.Message;
}
}
Thanks