401 Error on RequestStream

  • Thread starter Luis Esteban Valencia
  • Start date
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
 
J

Joerg Jooss

Luis said:
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.
[...]

You're sending neither a NetworkCredential object nor any form data
that may authenticate you.

Cheers,
 
L

Luis Esteban Valencia

I already changed it
and added this line
request.Credentials = new NetworkCredential("btservices", "xxxxx", "se");



after it I got this message



Unable to complete web request. Web Exception error: Error en el servidor
remoto: (405) Método no permitido.

Joerg Jooss said:
Luis said:
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.
[...]

You're sending neither a NetworkCredential object nor any form data
that may authenticate you.

Cheers,
 
J

Joerg Jooss

Luis said:
I already changed it
and added this line
request.Credentials = new NetworkCredential("btservices", "xxxxx",
"se");



after it I got this message

Does the problem still exist? If it does, the web application uses
forms authentication, in which case you need to post your credentials
as form data.

Cheers,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top