Я пытаюсь добавить комментарий к проблеме внутри Fortify.Когда я отправляю сообщение, которое я считаю правильным JSON, я получаю ответ "{" message ":" Содержимое было неправильно отформатировано (ожидаемое приложение / json; charset = utf-8). "," ResponseCode ": 400," errorCode ": -20209} "
Однако, если я использую Fiddler для проверки сообщения, которое я отправляю, и получения соответствующих заголовков, похоже, на месте.Какая вторичная проблема может вызывать появление этого исключения?
Fortify v18.10.0187.NET v4.6.2Newtonsoft.Json v9.0.0
public static string PostCommentIssue(FortifyComment fc)
{
var content = JsonConvert.SerializeObject(fc);
var postUri = String.Format(Configuration.FortifyCommentsUri, fc.data.issueId);
return WebServiceHelper.PostMessage(postUri, content);
}
public static string PostMessage(string url, string content)
{
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, url);
requestMessage.Headers.Add("Authorization", Configuration.FortifyAuthorization.ToHeader());
requestMessage.Content = new StringContent(content, Encoding.UTF8, JsonMediaTypeFormatter.DefaultMediaType.MediaType);
HttpResponseMessage hrm = HttpClient.SendAsync(requestMessage).Result;
hrm.EnsureSuccessStatusCode();
HttpContent hc = hrm.Content;
return hc.ReadAsStringAsync().Result;
}
FortifyComment - это просто объект с основными элементами комментария.Он основан на ответе Fortify, полученном на запрос (таким образом, внутренний элемент данных).
Использование
FortifyComment fc = new FortifyComment();
fc.data.issueId = defect.id;
fc.data.comment = String.Format("TFS #{0}.", tfsNumber);
FortifyHelper.PostCommentIssue(fc);
Я получаю ошибку 400.Скриншот перехвата Fiddler: