Большинство сущностей Контроллера grails не доступны сервисам по какой-то причине: они не принадлежат им. По той же причине, почему вы не можете использовать message(code: ..)
в сервисе. Кроме того, файлы cookie существуют всякий раз, когда существует запрос, который нельзя использовать в службе. Например, некоторая фоновая работа может вызвать вашу службу. Ваш BootStrap может вызвать сервисный вызов при запуске приложения. Его просто нет на http-слое.
Вы можете передать свой request
(HttpServletRequest) своей службе в вызове метода, а затем в службе использовать getCookies()
или аналогичный метод, или вы можете делать все, что связано с http, в контроллере.
Текущий запрос Вы можете получить в сервисе: WebUtils.retrieveGrailsWebRequest().getCurrentRequest()
И будет поле cookies
как Массив
получить необходимые данные из файла cookie внутри вашего контроллера и передать это значение в качестве параметра вашему методу службы.