É possível Servlet acessar o contexto JSF ou instanciar um managed bean?

Olá a todos.

Talvez alguem já tenha passado por isso.

Preciso que atravez de uma chamada http://localhost/web/gerarArquivoXML.servlet?par1=123&par2=3435 retorne um arquivo XML que será utilizado para montar um gráfico, mas gostaria que o servlet acessasse um bean do JSF para recuperar o valor de alguns atributos.

A chamada FacesContext context = FacesContext.getCurrentInstance(); retorna null para o context quando executo

Grato pela ajuda.

Consegui acessar o bean desta forma request.getSession().getAttribute(bean); mas funciona somente para beans que o JSF já acessou e guardou na sessão.

Vai conseguir acessar dessa forma ou se o ManagedBean estiver com escopo de application.

Se estiver com escopo de request, a requisição não foi direcionada para o Faces e o ManagedBean realmente não vai existir.

[quote=Rafael Nunes]Vai conseguir acessar dessa forma ou se o ManagedBean estiver com escopo de application.

Se estiver com escopo de request, a requisição não foi direcionada para o Faces e o ManagedBean realmente não vai existir.[/quote]

Na verdade vc pode usar o escopo de sessão mesmo. O lance é que se a classe não estava na sessão ainda, obviamente você não terá acesso a ela.

FacesContext só vai funcionar dentro do ManagedBean. De um servelet use o HttpServletRequest do jeito que vc fez.

Ok, valeu pela ajuda.

Isso deve ajudar,

Abraços e boa sorte.