11
我正在開發第三方Web服務的客戶端。目的是我將xml文件發送到服務器。 我應該如何將xml文件附加到httpwebrequest?需要什麼contentType?更多建議?C#HttpWebRequest與XML結構化數據
我不能使用mtom或dime.ie,因爲我使用的是httpwebrequest。我無法使用WCF。
我正在開發第三方Web服務的客戶端。目的是我將xml文件發送到服務器。 我應該如何將xml文件附加到httpwebrequest?需要什麼contentType?更多建議?C#HttpWebRequest與XML結構化數據
我不能使用mtom或dime.ie,因爲我使用的是httpwebrequest。我無法使用WCF。
這裏是(由需要使用request.ContentType =「應用/ xml」的方式)發送用的HttpWebRequest XML結構化數據的一個非常基本的方法:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(myUrl));
request.Method = "POST";
request.ContentType = "application/xml";
request.Accept = "application/xml";
XElement redmineRequestXML =
new XElement("issue",
new XElement("project_id", 17)
);
byte[] bytes = Encoding.UTF8.GetBytes(redmineRequestXML.ToString());
request.ContentLength = bytes.Length;
using (Stream putStream = request.GetRequestStream())
{
putStream.Write(bytes, 0, bytes.Length);
}
// Log the response from Redmine RESTful service
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
Logger.Info("Response from Redmine Issue Tracker: " + reader.ReadToEnd());
}
我用這在之一我的項目(NBug)向我的Redmine問題跟蹤器提交問題報告,該問題跟蹤器通過Web請求(通過POST)接受XML結構化數據。如果你需要更多的例子,你可以在這裏找到幾個全功能的例子:http://nbug.codeplex.com/SourceControl/list/changesets(點擊右側'Latest Verion'標籤下的'Browse',然後導航到'NBug \ Submit \ Tracker \ Redmine.cs')
HttpWebRequest是WebRequest的派生類。它是如何將WebRequest轉換爲HttpWebRequest的? – 2012-10-31 02:50:06
+1 ...幫我解決了我的XML難題! – 2013-07-14 18:57:23