Я разрабатываю веб-сервис, который назовут клиенты, которые записаны мной. В веб-сервисе я должен использовать объекты всего приложения, который упрощает загрузку приложения в системе. Я реализовал свои объекты всего приложения как показано в этом вопросе.
Я могу использовать свой объект на jsf странице без проблемы следующим образом.
MyObject mo = (MyObject) FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get("MyObjectsName");
Но когда дело доходит до использования это в Запросе к веб-сервису FacesContext.getCurrentInstance () возвращает пустой указатель. Есть ли любой способ использовать FacesContext в веб-сервисе.
Это значение равно null, потому что веб-службы не проходят через сервлет Faces. Так и должно быть, потому что веб-сервисы не имеют ничего общего с JSF.
В случае, если вы используете реализацию jax-ws, вы можете использовать:
@Resource
WebServiceContext context;
Это внедрит WebServiceContext
, с помощью которого вы можете:
ServletContext servletContext = (ServletContext)
context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
И имея ServletContext
], вы можете получить доступ к объектам области приложения.