我正在开发第三方Web服务的客户端.目的是我将xml文件发送到服务器.我应该如何将xml文件附加到httpwebrequest?需要什么contentType?更多建议?
我不能使用mtom或dime.ie,因为我使用的是httpwebrequest.我也无法使用WCF.
Teo*_*gul 31
这是使用HttpWebRequest发送XML结构化数据的一种非常基本的方法(通过您需要使用request.ContentType ="application/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());
}
Run Code Online (Sandbox Code Playgroud)
我在我的一个项目(NBug)中使用它来向我的Redmine问题跟踪器提交问题报告,该跟踪器通过Web请求接受XML结构化数据(通过POST).如果您需要更多示例,可以在此处获得几个功能齐全的示例:http://nbug.codeplex.com/SourceControl/list/changesets(单击右侧"最新版本"标签下的"浏览",然后导航到" NBug \提交\跟踪\ Redmine.cs")