2012-04-16 4 views
0

Я пытаюсь вызвать управляемый компонент внутри метода webservice. Он выбрасывает NullPointerException, потому что FacesContext.getCurrentInstance() возвращает null.WebService не найден facescontext в jsf

Как это вызвано и как я могу это решить?

ответ

1

JSF - это основанная на компонентах структура MVC, которая выполняется FacesServlet. Этот сервлет также является ответственным за создание FacesContext. Если ваш HTTP-запрос не обслуживается FacesServlet, как при использовании полностью отдельной и автономной структуры веб-сервиса, которая контролируется совершенно другим сервлетом, то FacesContext просто недоступен. Затем FacesContext#getCurrentInstance() вернет null.

Попытка вызова управляемого компонента JSF внутри метода webservice не имеет смысла. Это похоже на использование неправильного инструмента для работы. Просто переформатируйте код, который нужно выполнить, в новый и отдельный класс, который вы, наконец, просто импортируете/вставляете как в управляемый компонент JSF, так и в класс webservice.

+0

Невозможно реорганизовать код. Можно ли вызвать FacesServlet и инициализировать facescontext? – Rekha

Смежные вопросы