如何调用Web服务中定义的GetAllData()方法并使用C#中的HttpWebRequest发送XML作为其参数?
答案 0 :(得分:0)
您可以将请求中的Method
属性设置为所需的HTTP谓词:
var request = (HttpWebRequest)WebRequest.Create("http://example.com/getalldata");
request.Method = "POST";
using (var stream = request.GetRequestStream())
using (var writer = new StreamWriter(stream))
{
writer.Write("<foo>Bar</foo>");
}
using (var response = request.GetResponse())
using (var stream = response.GetResponseStream())
using (var reader = new StreamReader(stream))
{
string result = reader.ReadToEnd();
// do something with the result
}
根据类型,可能还有更简单的方法来使用Web服务。如果它们是SOAP服务,您可以向项目添加服务引用,该服务引用将读取服务的元数据并生成强类型代理,这将允许您直接使用这些方法。
如果它是RESTful服务,您可以利用框架中内置的新HttpClient
,这将允许您直接序列化DTO对象。