Я пытаюсь обновить мое старое приложение v2 до v4.В настоящее время я сталкиваюсь с проблемой, когда я получаю сообщение «Внутренняя ошибка сервера», когда я пытаюсь создать связь с использованием C #, реализующего RestSharp.Моя схема выглядит следующим образом:
public class CommunicationList
{
public List<MakeCommunication> data { get; set; }
}
public class MakeCommunication
{
public string body { get; set; }
public DateTime date { get; set; }
public NestedMatter matter { get; set; }
public string subject { get; set; }
public string type { get; set; }
}
public class NestedMatter
{
public int id { get; set; }
}
Я заполняю объекты соответствующими данными.Моя настройка RestSharp POST выглядит следующим образом:
var request = new RestRequest("api/v4/communications.json", Method.POST);
request.AddHeader("Authorization", "Bearer " + ConfigIt.readConfiguration("token"));
request.AddParameter("fields", "body, date, matter{id}, subject, type");
Я сериализую объект без метода AddJsonBody, потому что мои исследования привели меня к убеждению, что метод AddJsonBody производил искаженный json, поэтому я использую следующий код длясериализовать объекты:
request.RequestFormat = DataFormat.Json;
request.AddBody(commWrapper);
comWrapper - это объект типа CommunicationList снизу.
Получение общей внутренней ошибки сервера действительно не указывает мне ни в каком направлении для отладки этой вещи.Кто-нибудь видел подобную проблему?Любые предложения?
Спасибо за любую помощь, которую вы можете оказать, мои глаза в этот момент скрещиваются.
ОБНОВЛЕНИЕ - суббота, 15 декабря
Я сделал несколькобольше копаться в этом.Используя Fiddler, я смог убедиться, что это то, что отправляется на сервер:
POST https://app.goclio.com/api/v4/communications.json HTTP/1.1
Authorization: Bearer ******************************
Accept: application/json, text/json, text/x-json, text/javascript,
application/xml, text/xml
User-Agent: RestSharp/106.5.4.0
Content-Type: application/json
Host: app.goclio.com
Content-Length: 151
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
{"data":[{"body":"test email for debug","date":"2018-12-15T14:23:23Z","matter:{"id":1035117666},"subject":"test","type":"EmailCommunication"}]}
Я вернулся к документации API на https://app.clio.com/api/v4/documentation#operation/Communication#create, чтобы проверить, правильно ли я отправляюзапрос.Я считаю, что это выглядит правильно, но явно я что-то упускаю.
Это ответ, который я получаю от сервера.
HTTP/1.1 500 Internal Server Error
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Status: 500 Internal Server Error
X-RateLimit-Limit: 600
X-RateLimit-Reset: 1544883900
X-RateLimit-Remaining: 599
X-Request-Id: 41199f9a-f569-4688-97a7-04b309cf85ed
X-Frame-Options: SAMEORIGIN
Cache-Control: private, no-cache, no-store, must-revalidate
X-XSS-Protection: 1; mode=block
X-API-VERSION: 4.0.5
X-Content-Type-Options: nosniff
Date: Sat, 15 Dec 2018 14:24:09 GMT
Server: nginx
Content-Length: 75
{"error":{"type":"InternalServiceError","message":"Something went wrong."}}
Я надеюсь, что кто-то, возможно, сталкивался с этим раньше.Любая помощь с благодарностью.