我已经编写了一种方法来将消息发布到 uri。
public string RestClientPost(string uri, string message = null)
{
var client = new RestClient(uri);
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "text/xml");
if (!string.IsNullOrEmpty(message))
request.AddParameter(message, ParameterType.RequestBody);
var result = "";
var response = client.Execute(request);
if (response.StatusCode == HttpStatusCode.OK)
{
result = response.Content;
Console.WriteLine(result);
}
else
{
result = response.StatusCode.ToString();
}
return result;
}
下面的代码是用上面的方法发帖。
public void test123()
{
string uri = "myuri"; //private uri, cannot expose.
var file= System.IO.File.ReadAllText(Path.Combine(Settings.EnvValPath, "RestClientXML", "test.XML"));
var content = new RestClientServices().RestClientPost(uri, file);
}
但是,它返回“不支持的媒体类型”。
我的test.XML的内容是
<customer>
<customerName>test</customerName >
<customerStatus>OK</customerStatus >
</customer>
并且使用适用于 Google Chrome 的 Advanced Rest Client 插件,我能够发布它并返回我想要的字符串。有什么不对??我在 Advanced Rest Client 中将“content-type”设置为“text/xml”。
- 返回信息是客户的id。例如:2132
最佳答案
关于C# 使用 RestSharp 发布 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17690621/