2015-12-17 45 views
0

我是elasticsearch的新手,實際上我剛開始學習它。我試圖現在實現的是對指數使用基本HttpWebRequest和流中的C# 文檔這是我的代碼使用JQuery和AJAX在ElasticSearch中創建文檔

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; 
    } 

但我得到的反應是錯誤的請求。

當我嘗試在RESTClient通過提供的URL和JSON的XML,它得到保存。

任何人都可以幫我嗎?

+0

這是我傳遞到的createRequest方法 2015年12月1日12中的數據:06 + 05:30

回答

0

我能夠解決這個問題,在轉換爲字節數組之前將xml轉換爲json。