Здравствуйте, Apolonov Mykhailo, Вы писали:
AM>Вопрос: как побороть?
На сколько я помню — никак. Стандартный сериализатор требует наличия public сеттера. Так что варианты:
1. Сделать public.
2. Сделать собственный сериализатор

3. Сделать отдельный класс для бизнес-логики со всеми необходимыми ограничениями, и упрощенный класс только для передачи данных через сервис.
Если вариант 1 не возможен, то обычно идут по пути 3. 2 — для особых извра... в смысле, гурманов, или очень специфических задач.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".