send an xml file over Https using httpwebrequest

  • Thread starter Thread starter Marwan Abi Khalil via DotNetMonster.com
  • Start date Start date
M

Marwan Abi Khalil via DotNetMonster.com

hello,

i want to send an XML file over https using POST method (httpwebrequest)

if anyone can provide me with some code would be gr8 coz i tried so
manything and everytime i get the 500 error code reffering to Server Error
:: Protocol ERROR

please notify me @ (e-mail address removed)

Thank you
 
Marwan said:
hello,

i want to send an XML file over https using POST method
(httpwebrequest)

if anyone can provide me with some code would be gr8 coz i tried so
manything and everytime i get the 500 error code reffering to Server
Error :: Protocol ERROR

Post your code.
please notify me @ (e-mail address removed)

<rant>
This is a newsgroup, not a personal support forum...
</rant>


Cheers,
 
Hello Joerg, sorry for any inconvenience


this is the code
-----------------------------------------------------------------------
public static void PostMessage()


try
{
clsConfig conf = new clsConfig();
ProdHttps = conf.ProdHttps;
UserID = conf.userID;
Pwd = conf.password;
string xmlFile ="C:\\Sample.xml";

string sUri = ProdHttps;

System.Uri myUri = new System.Uri(sUri);



// Create a new HttpWebRequest object.
HttpWebRequest myHttpWebRequest =(HttpWebRequest)WebRequest.Create(myUri);


// Set credentials.
NetworkCredential myCred = new NetworkCredential(@UserID,Pwd);
CredentialCache myCredentialCache = new CredentialCache();
myCredentialCache.Add(myUri, "Basic", myCred);
myHttpWebRequest.Credentials = myCredentialCache;


//myHttpWebRequest.KeepAlive = false;
myHttpWebRequest.Method = "POST";
myHttpWebRequest.Timeout = 600000;
myHttpWebRequest.ContentType = "text/xml"; // "application/x-www-form-
urlencoded";
myHttpWebRequest.AllowWriteStreamBuffering = true;

int iTimeout = (int)myHttpWebRequest.Timeout;
Console.WriteLine("Time Out : " + iTimeout.ToString());

string iMethod = myHttpWebRequest.Method;
Console.WriteLine("Method :" + iMethod);

string iContentType = myHttpWebRequest.ContentType;
Console.WriteLine("Content Type :" + iContentType);


XmlDocument xdoc=new XmlDocument();
xdoc.Load(xmlFile);

string dtcrequest=xdoc.InnerXml.ToString();
string postdata="xmldata="+dtcrequest;


byte[] postbuffer = Encoding.UTF8.GetBytes(postdata);



//Get request stream
Stream requestStream = myHttpWebRequest.GetRequestStream();

//Write a post values
requestStream.Write(Encoding.ASCII.GetBytes(postdata), 0, postdata.Length)
;
requestStream.Close();





///////////////////////////////////////////////////////////////////////////////////
//
//// Read XML file and write contents to request stream
//StreamReader inFileReader = new StreamReader("C:\\Sample.xml");
//StreamWriter reqWriter = new StreamWriter(
myHttpWebRequest.GetRequestStream(),Encoding.ASCII );
//string sLine = null;
//reqWriter.Write("xmldata=");
//while ( ( sLine = inFileReader.ReadLine() ) != null )
//{
// reqWriter.Write( sLine );
//}
//inFileReader.Close();
//reqWriter.Close();
//
///////////////////////////////////////////////////////////////////////////////////

// Assign the response object of HttpWebRequest to a HttpWebResponse
variable.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)
myHttpWebRequest.GetResponse();

Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse,Encoding.UTF8 )
;
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}

Console.WriteLine();
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the resources held by response object.
myHttpWebResponse.Close();

// Get the status code.
int iStatCode = (int)myHttpWebResponse.StatusCode;
string sStatus = iStatCode.ToString();
Console.WriteLine("Status Code: {0}", sStatus);


}
catch(WebException e)
{
Console.WriteLine("WebException raised!");
Console.WriteLine("\n{0}",e.Message);
Console.WriteLine("\n{0}",e.Status);

}
catch(Exception e)
{
Console.WriteLine("Exception raised!");
Console.WriteLine("Source :{0} " , e.Source);
Console.WriteLine("Message :{0} " , e.Message);
}

}//end post message
 
Hello Joerg, sorry for any inconvenience


this is the code
-----------------------------------------------------------------------
public static void PostMessage()


try
{
clsConfig conf = new clsConfig();
ProdHttps = conf.ProdHttps;
UserID = conf.userID;
Pwd = conf.password;
string xmlFile ="C:\\Sample.xml";

string sUri = ProdHttps;

System.Uri myUri = new System.Uri(sUri);



// Create a new HttpWebRequest object.
HttpWebRequest myHttpWebRequest =(HttpWebRequest)WebRequest.Create(myUri);


// Set credentials.
NetworkCredential myCred = new NetworkCredential(@UserID,Pwd);
CredentialCache myCredentialCache = new CredentialCache();
myCredentialCache.Add(myUri, "Basic", myCred);
myHttpWebRequest.Credentials = myCredentialCache;


//myHttpWebRequest.KeepAlive = false;
myHttpWebRequest.Method = "POST";
myHttpWebRequest.Timeout = 600000;
myHttpWebRequest.ContentType = "text/xml"; // "application/x-www-form-
urlencoded";
myHttpWebRequest.AllowWriteStreamBuffering = true;

int iTimeout = (int)myHttpWebRequest.Timeout;
Console.WriteLine("Time Out : " + iTimeout.ToString());

string iMethod = myHttpWebRequest.Method;
Console.WriteLine("Method :" + iMethod);

string iContentType = myHttpWebRequest.ContentType;
Console.WriteLine("Content Type :" + iContentType);


XmlDocument xdoc=new XmlDocument();
xdoc.Load(xmlFile);

string dtcrequest=xdoc.InnerXml.ToString();
string postdata="xmldata="+dtcrequest;


byte[] postbuffer = Encoding.UTF8.GetBytes(postdata);



//Get request stream
Stream requestStream = myHttpWebRequest.GetRequestStream();

//Write a post values
requestStream.Write(Encoding.ASCII.GetBytes(postdata), 0, postdata.Length)
;
requestStream.Close();





///////////////////////////////////////////////////////////////////////////////////
//
//// Read XML file and write contents to request stream
//StreamReader inFileReader = new StreamReader("C:\\Sample.xml");
//StreamWriter reqWriter = new StreamWriter(
myHttpWebRequest.GetRequestStream(),Encoding.ASCII );
//string sLine = null;
//reqWriter.Write("xmldata=");
//while ( ( sLine = inFileReader.ReadLine() ) != null )
//{
// reqWriter.Write( sLine );
//}
//inFileReader.Close();
//reqWriter.Close();
//
///////////////////////////////////////////////////////////////////////////////////

// Assign the response object of HttpWebRequest to a HttpWebResponse
variable.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)
myHttpWebRequest.GetResponse();

Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse,Encoding.UTF8 )
;
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}

Console.WriteLine();
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the resources held by response object.
myHttpWebResponse.Close();

// Get the status code.
int iStatCode = (int)myHttpWebResponse.StatusCode;
string sStatus = iStatCode.ToString();
Console.WriteLine("Status Code: {0}", sStatus);


}
catch(WebException e)
{
Console.WriteLine("WebException raised!");
Console.WriteLine("\n{0}",e.Message);
Console.WriteLine("\n{0}",e.Status);

}
catch(Exception e)
{
Console.WriteLine("Exception raised!");
Console.WriteLine("Source :{0} " , e.Source);
Console.WriteLine("Message :{0} " , e.Message);
}

}//end post message
 
Hello Joerg, sorry for any inconvenience


this is the code
-----------------------------------------------------------------------
public static void PostMessage()


try
{
clsConfig conf = new clsConfig();
ProdHttps = conf.ProdHttps;
UserID = conf.userID;
Pwd = conf.password;
string xmlFile ="C:\\Sample.xml";

string sUri = ProdHttps;

System.Uri myUri = new System.Uri(sUri);



// Create a new HttpWebRequest object.
HttpWebRequest myHttpWebRequest =(HttpWebRequest)WebRequest.Create(myUri);


// Set credentials.
NetworkCredential myCred = new NetworkCredential(@UserID,Pwd);
CredentialCache myCredentialCache = new CredentialCache();
myCredentialCache.Add(myUri, "Basic", myCred);
myHttpWebRequest.Credentials = myCredentialCache;


//myHttpWebRequest.KeepAlive = false;
myHttpWebRequest.Method = "POST";
myHttpWebRequest.Timeout = 600000;
myHttpWebRequest.ContentType = "text/xml"; // "application/x-www-form-
urlencoded";
myHttpWebRequest.AllowWriteStreamBuffering = true;

int iTimeout = (int)myHttpWebRequest.Timeout;
Console.WriteLine("Time Out : " + iTimeout.ToString());

string iMethod = myHttpWebRequest.Method;
Console.WriteLine("Method :" + iMethod);

string iContentType = myHttpWebRequest.ContentType;
Console.WriteLine("Content Type :" + iContentType);


XmlDocument xdoc=new XmlDocument();
xdoc.Load(xmlFile);

string dtcrequest=xdoc.InnerXml.ToString();
string postdata="xmldata="+dtcrequest;


byte[] postbuffer = Encoding.UTF8.GetBytes(postdata);



//Get request stream
Stream requestStream = myHttpWebRequest.GetRequestStream();

//Write a post values
requestStream.Write(Encoding.ASCII.GetBytes(postdata), 0, postdata.Length)
;
requestStream.Close();





///////////////////////////////////////////////////////////////////////////////////
//
//// Read XML file and write contents to request stream
//StreamReader inFileReader = new StreamReader("C:\\Sample.xml");
//StreamWriter reqWriter = new StreamWriter(
myHttpWebRequest.GetRequestStream(),Encoding.ASCII );
//string sLine = null;
//reqWriter.Write("xmldata=");
//while ( ( sLine = inFileReader.ReadLine() ) != null )
//{
// reqWriter.Write( sLine );
//}
//inFileReader.Close();
//reqWriter.Close();
//
///////////////////////////////////////////////////////////////////////////////////

// Assign the response object of HttpWebRequest to a HttpWebResponse
variable.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)
myHttpWebRequest.GetResponse();

Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse,Encoding.UTF8 )
;
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}

Console.WriteLine();
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the resources held by response object.
myHttpWebResponse.Close();

// Get the status code.
int iStatCode = (int)myHttpWebResponse.StatusCode;
string sStatus = iStatCode.ToString();
Console.WriteLine("Status Code: {0}", sStatus);


}
catch(WebException e)
{
Console.WriteLine("WebException raised!");
Console.WriteLine("\n{0}",e.Message);
Console.WriteLine("\n{0}",e.Status);

}
catch(Exception e)
{
Console.WriteLine("Exception raised!");
Console.WriteLine("Source :{0} " , e.Source);
Console.WriteLine("Message :{0} " , e.Message);
}

}//end post message
 
Hello Joerg, sorry for any inconvenience


this is the code
-----------------------------------------------------------------------
public static void PostMessage()


try
{
clsConfig conf = new clsConfig();
ProdHttps = conf.ProdHttps;
UserID = conf.userID;
Pwd = conf.password;
string xmlFile ="C:\\Sample.xml";

string sUri = ProdHttps;

System.Uri myUri = new System.Uri(sUri);



// Create a new HttpWebRequest object.
HttpWebRequest myHttpWebRequest =(HttpWebRequest)WebRequest.Create(myUri);


// Set credentials.
NetworkCredential myCred = new NetworkCredential(@UserID,Pwd);
CredentialCache myCredentialCache = new CredentialCache();
myCredentialCache.Add(myUri, "Basic", myCred);
myHttpWebRequest.Credentials = myCredentialCache;


//myHttpWebRequest.KeepAlive = false;
myHttpWebRequest.Method = "POST";
myHttpWebRequest.Timeout = 600000;
myHttpWebRequest.ContentType = "text/xml"; // "application/x-www-form-
urlencoded";
myHttpWebRequest.AllowWriteStreamBuffering = true;

int iTimeout = (int)myHttpWebRequest.Timeout;
Console.WriteLine("Time Out : " + iTimeout.ToString());

string iMethod = myHttpWebRequest.Method;
Console.WriteLine("Method :" + iMethod);

string iContentType = myHttpWebRequest.ContentType;
Console.WriteLine("Content Type :" + iContentType);


XmlDocument xdoc=new XmlDocument();
xdoc.Load(xmlFile);

string dtcrequest=xdoc.InnerXml.ToString();
string postdata="xmldata="+dtcrequest;


byte[] postbuffer = Encoding.UTF8.GetBytes(postdata);



//Get request stream
Stream requestStream = myHttpWebRequest.GetRequestStream();

//Write a post values
requestStream.Write(Encoding.ASCII.GetBytes(postdata), 0, postdata.Length)
;
requestStream.Close();





///////////////////////////////////////////////////////////////////////////////////
//
//// Read XML file and write contents to request stream
//StreamReader inFileReader = new StreamReader("C:\\Sample.xml");
//StreamWriter reqWriter = new StreamWriter(
myHttpWebRequest.GetRequestStream(),Encoding.ASCII );
//string sLine = null;
//reqWriter.Write("xmldata=");
//while ( ( sLine = inFileReader.ReadLine() ) != null )
//{
// reqWriter.Write( sLine );
//}
//inFileReader.Close();
//reqWriter.Close();
//
///////////////////////////////////////////////////////////////////////////////////

// Assign the response object of HttpWebRequest to a HttpWebResponse
variable.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)
myHttpWebRequest.GetResponse();

Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse,Encoding.UTF8 )
;
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}

Console.WriteLine();
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the resources held by response object.
myHttpWebResponse.Close();

// Get the status code.
int iStatCode = (int)myHttpWebResponse.StatusCode;
string sStatus = iStatCode.ToString();
Console.WriteLine("Status Code: {0}", sStatus);


}
catch(WebException e)
{
Console.WriteLine("WebException raised!");
Console.WriteLine("\n{0}",e.Message);
Console.WriteLine("\n{0}",e.Status);

}
catch(Exception e)
{
Console.WriteLine("Exception raised!");
Console.WriteLine("Source :{0} " , e.Source);
Console.WriteLine("Message :{0} " , e.Message);
}

}//end post message
 
Hello Joerg, sorry for any inconvenience


this is the code
-----------------------------------------------------------------------
public static void PostMessage()


try
{
clsConfig conf = new clsConfig();
ProdHttps = conf.ProdHttps;
UserID = conf.userID;
Pwd = conf.password;
string xmlFile ="C:\\Sample.xml";

string sUri = ProdHttps;

System.Uri myUri = new System.Uri(sUri);



// Create a new HttpWebRequest object.
HttpWebRequest myHttpWebRequest =(HttpWebRequest)WebRequest.Create(myUri);


// Set credentials.
NetworkCredential myCred = new NetworkCredential(@UserID,Pwd);
CredentialCache myCredentialCache = new CredentialCache();
myCredentialCache.Add(myUri, "Basic", myCred);
myHttpWebRequest.Credentials = myCredentialCache;


//myHttpWebRequest.KeepAlive = false;
myHttpWebRequest.Method = "POST";
myHttpWebRequest.Timeout = 600000;
myHttpWebRequest.ContentType = "text/xml"; // "application/x-www-form-
urlencoded";
myHttpWebRequest.AllowWriteStreamBuffering = true;

int iTimeout = (int)myHttpWebRequest.Timeout;
Console.WriteLine("Time Out : " + iTimeout.ToString());

string iMethod = myHttpWebRequest.Method;
Console.WriteLine("Method :" + iMethod);

string iContentType = myHttpWebRequest.ContentType;
Console.WriteLine("Content Type :" + iContentType);


XmlDocument xdoc=new XmlDocument();
xdoc.Load(xmlFile);

string dtcrequest=xdoc.InnerXml.ToString();
string postdata="xmldata="+dtcrequest;


byte[] postbuffer = Encoding.UTF8.GetBytes(postdata);



//Get request stream
Stream requestStream = myHttpWebRequest.GetRequestStream();

//Write a post values
requestStream.Write(Encoding.ASCII.GetBytes(postdata), 0, postdata.Length)
;
requestStream.Close();





///////////////////////////////////////////////////////////////////////////////////
//
//// Read XML file and write contents to request stream
//StreamReader inFileReader = new StreamReader("C:\\Sample.xml");
//StreamWriter reqWriter = new StreamWriter(
myHttpWebRequest.GetRequestStream(),Encoding.ASCII );
//string sLine = null;
//reqWriter.Write("xmldata=");
//while ( ( sLine = inFileReader.ReadLine() ) != null )
//{
// reqWriter.Write( sLine );
//}
//inFileReader.Close();
//reqWriter.Close();
//
///////////////////////////////////////////////////////////////////////////////////

// Assign the response object of HttpWebRequest to a HttpWebResponse
variable.
HttpWebResponse myHttpWebResponse = (HttpWebResponse)
myHttpWebRequest.GetResponse();

Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse,Encoding.UTF8 )
;
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}

Console.WriteLine();
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the resources held by response object.
myHttpWebResponse.Close();

// Get the status code.
int iStatCode = (int)myHttpWebResponse.StatusCode;
string sStatus = iStatCode.ToString();
Console.WriteLine("Status Code: {0}", sStatus);


}
catch(WebException e)
{
Console.WriteLine("WebException raised!");
Console.WriteLine("\n{0}",e.Message);
Console.WriteLine("\n{0}",e.Status);

}
catch(Exception e)
{
Console.WriteLine("Exception raised!");
Console.WriteLine("Source :{0} " , e.Source);
Console.WriteLine("Message :{0} " , e.Message);
}

}//end post message
 
Back
Top