Hello,
This is my main class
string Baseurl = "
xxxx.limesurvey.net/index.php/admin/remotecontrol
";
JsonRPCclient client = new JsonRPCclient(Baseurl);
client.Method = "get_session_key";
client.Parameters.Add("username", "username");
client.Parameters.Add("password", "PW");
client.Post();
string SessionKey = client.Response.result.ToString();
I'm using RPCclient.cs
using System;
using System.IO;
using System.Net;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace limesurvey
{
public class JsonRPCclient
{
private int id = 0;
/// <summary>
/// Set JSON-RPC webservice URL
/// </summary>
public string URL { set; get; }
/// <summary>
/// Set JSON-RPC method
/// </summary>
public string Method { set; get; }
/// <summary>
/// Add JSON-RPC params
/// </summary>
public JObject Parameters { set; get; }
/// <summary>
/// Results of the request
/// </summary>
public JsonRPCresponse Response { set; get; }
/// <summary>
/// Create a new object of RPCclient
/// </summary>
public JsonRPCclient()
{
Parameters = new JObject();
Response = null;
}
/// <summary>
/// Create a new object of RPCclient
/// </summary>
/// <param name="URL"></param>
public JsonRPCclient(string URL)
{
this.URL = URL;
Parameters = new JObject();
Response = null;
}
/// <summary>
/// POST the request and returns server response
/// </summary>
/// <returns></returns>
public string Post()
{
try
{
JObject jobject = new JObject();
jobject.Add(new JProperty("jsonrpc", "2.0"));
jobject.Add(new JProperty("id", ++id));
jobject.Add(new JProperty("method", Method));
jobject.Add(new JProperty("params", Parameters));
string PostData = JsonConvert.SerializeObject(jobject);
UTF8Encoding encoding = new UTF8Encoding();
byte[] bytes = encoding.GetBytes(PostData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/json";
request.KeepAlive = true;
request.ContentLength = bytes.Length;
Stream writeStream = request.GetRequestStream();
writeStream.Write(bytes, 0, bytes.Length);
writeStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8);
JsonRPCresponse Response = new JsonRPCresponse();
Response = JsonConvert.DeserializeObject<JsonRPCresponse>(readStream.ReadToEnd());
Response.StatusCode = response.StatusCode;
return Response.ToString();
}
catch (Exception e)
{
return e.ToString();
}
}
public void ClearParameters()
{
this.Parameters = new JObject();
}
}
public class JsonRPCresponse
{
public int id { set; get; }
public object result { set; get; }
public string error { set; get; }
public HttpStatusCode StatusCode { set; get; }
public JsonRPCresponse() { }
public override string ToString()
{
return "{\"id\":" + id.ToString() + ",\"result\"

"" + result.ToString() + "\",\"error\":" + error + ((String.IsNullOrEmpty(error)) ? "null" : "\"" + error + "\"") + "}";
}
}
}
Please tell me why i get always null error in
RPCclient.cs at line
Response = JsonConvert.DeserializeObject<JsonRPCresponse>(readStream.ReadToEnd()); ????!!!
Thanks vey much!