我是elasticsearch的新手,事实上我今天才开始学习它。我现在想要实现的是使用基本的HttpWebRequest和C#中的Stream索引文档 这是我的代码
public static void Invoke<O>(string uri, string Method, O data)
{
HttpWebRequest request = CreateRequest<O>(uri, Method, data);
request.GetResponse();
}
private static HttpWebRequest CreateRequest<O>(string uri, string Method, O data)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = Method;
request.ContentType = "application/json; charset=UTF-8";
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
if (data != null)
{
byte[] bytes = encoding.GetBytes(data.XmlSerializeToString());
request.ContentLength = bytes.Length;
using (Stream requestStream = request.GetRequestStream())
{
// Send the data.
requestStream.Write(bytes, 0, bytes.Length);
}
}
else
{
request.ContentLength = 0;
}
return request;
}
但我得到的回应是错误的请求。
当我通过提供xml的URL和JSON来尝试RESTClient时,它就会被保存。
有人可以帮助我吗?
答案 0 :(得分:0)
我能够通过在转换为字节数组之前将xml转换为json来解决问题。