C# 远程服务器返回错误:(500)内部服务器错误
我试图从JIRA cloud获得如下问题:C# 远程服务器返回错误:(500)内部服务器错误,c#,.net,rest,jira,C#,.net,Rest,Jira,我试图从JIRA cloud获得如下问题: public List<Issue> GetIssues( string jql, List<string> fields = null, int startAt = 0, int maxResult = 50) { fields = fields ?? new List<string> { "summary", "status
public List<Issue> GetIssues(
string jql,
List<string> fields = null,
int startAt = 0,
int maxResult = 50)
{
fields = fields ?? new List<string> { "summary", "status", "assignee" };
SearchRequest request = new SearchRequest();
request.Fields = fields;
request.JQL = jql;
request.MaxResults = maxResult;
request.StartAt = startAt;
string data = JsonConvert.SerializeObject(request);
string result = runQuery(JiraResource.search, data, "POST");
//运行查询定义:
public string runQuery(
JiraResource resource,
string argument = null,
string data = null,
string method = "GET")
{
string url = string.Format("{0}{1}",str_baseURL,resource.ToString()); //This is my URL : https://clientname.atlassian.net/rest/api/2/search
// string url = string.Format("{0}{1}/", str_baseURL);
if(argument != null) // as my argument is not null here , so my url is now below
{
url = string.Format("{0}{1}/",url,argument); //https://clientname.atlassian.net/rest/api/2/search{"jql":"project = CI","startAt":0,"maxResults":50,"fields":["summary","status","assignee"]}/
}
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.ContentType = "application/json";
request.Method = method;
/*if (data != null) //for time being commented it, becoz of error
{
using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(data);
}
}*/
string base64Credentials = GetEncodedCredentials();
request.Headers.Add("Authorization", "Basic " + base64Credentials);
HttpWebResponse response = request.GetResponse() as HttpWebResponse; //Here Im getting "Remote server returned an error(500) Internal server error"
string result = string.Empty;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{ result = reader.ReadToEnd(); }
return result;
}
我做错了什么?请注意,我的另一个方法,如“GetProjects”,运行良好,我得到了JSON。请告诉我。如果您向Atlassian托管的服务器发出请求(看起来您是),则500内部服务器错误响应表明Atlassian端有问题,而不是您的问题。我建议您联系Atlassian寻求支持。如果您向Atlassian托管的服务器发出请求(看起来您是),则500内部服务器错误响应表明Atlassian端有问题,而不是您的问题。我建议联系Atlassian寻求支持。问题已解决:我这样做:
string url = string.Format("{0}{1}", str_baseURL, resource.ToString());
if (argument != null)
{
method = "POST";
//url = string.Format("{0}{1}/", url, argument);
}
else
{
method = "GET";
}
data = argument;
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.ContentType = "application/json";
request.Method = method;
这是“何时使用POST和何时获取”的问题。问题已解决:我这样做:
string url = string.Format("{0}{1}", str_baseURL, resource.ToString());
if (argument != null)
{
method = "POST";
//url = string.Format("{0}{1}/", url, argument);
}
else
{
method = "GET";
}
data = argument;
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.ContentType = "application/json";
request.Method = method;
这是“何时使用POST和何时使用GET”的问题。我有一个这样的方法,它可以正常工作:public List GetProjects(){List projects=new List();string strAutho=runQuery(JiraResource.project);return JsonConvert.DeserializeObject(strAutho);}@TryingBest:您是否有另一种工作良好的方法可能与Atlassian支持有关,但不在此。500错误是Atlassian端的一个问题,StackOverflow上没有人能够帮助解决这个问题,除非他们碰巧为Atlassian工作。您的代码中有哪些错误?很可能什么都没有。正如我之前所说的,请联系Atlassian支持部门以解决此问题。感谢您的回复。我已经给他们发了邮件。希望很快能得到答案。我有一个这样的方法,它可以正常工作:public List GetProjects(){List projects=new List();string strAutho=runQuery(JiraResource.project);return JsonConvert.DeserializeObject(strAutho);}@TryingBest:您是否有另一种工作良好的方法可能与Atlassian支持有关,但不在此。500错误是Atlassian端的一个问题,StackOverflow上没有人能够帮助解决这个问题,除非他们碰巧为Atlassian工作。您的代码中有哪些错误?很可能什么都没有。正如我之前所说的,请联系Atlassian支持部门以解决此问题。感谢您的回复。我已经给他们发了邮件。希望尽快得到答复。