Для мене це була проблема з круговим посиланням.
Прийнята відповідь не спрацювала для мене, оскільки вона лише змінює поведінку форматора JSON, але я отримував XML, коли зателефонував до служби з браузера.
Щоб виправити це, я вимкнув XML і змусив повернути лише JSON.
У файлі Global.asax поставте такі рядки у верхній частині методу Application_Start:
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
Тепер будуть повернуті лише результати JSON. Якщо вам потрібні результати XML, вам потрібно буде знайти інше рішення.
InnerExceptionвластивість виключення серіалізації, щоб з’ясувати, що саме спричинило помилку серіалізації.