JBossSeam + WebServices + No application context active

Tenho um sistema pronto com JBossSeam que está funcionando perfeitamente.
Só que precisei implementar um webservice dentro do mesmo ear desse sistema para suprir um novo requisito que apareceu. Até aí tudo bem.
O problema é que estou recebendo esta exception quando executo testes com o webservice num metodo do Dao. Depurando, eu descobri que quando eu instâncio qualquer factory que não seja do seam ele da nullpointer e diz que não reconhece, como se não estivesse no mesmo contexto da aplicação.
quais são as possíveis causas destes problemas? Será que o webservice e a aplicação estão em contextos diferentes que não se enxergam? o que devo fazer se for esse o problema? qualquer resposta é muito bem vinda…

java.lang.IllegalStateException: No application context active at org.jboss.seam.Component.forName(Component.java:1945) at org.jboss.seam.Component.getInstance(Component.java:2005) at org.jboss.seam.Component.getInstance(Component.java:1983) at org.jboss.seam.Component.getInstance(Component.java:1977) at org.jboss.seam.Component.getInstance(Component.java:1957) at .....instance(AplicationFactory.java:27) at .....core.dao.factory.FactoryDAO.instance(FactoryDAO.java:21) at .....framework.factory.ProntuarioFactoryDAO.getPacienteDAO(AplicationFactoryDAO.java:183) at .....webservice.factory.businessrule.impl.RNServicosIntegracao.obterResultado(RNServicosIntegracao.java:94) at br.teste.testemain.main(testemain.java:32)

Alguem sabe ajudar? :!:

Qual o processo que devo realizar para injetar uma factory no contexto seam? :?: :?: :?:

Conseguiste resolver essa, amigão?

Tô enroladaço nisso também, em um caso muito semelhante ao teu.

Abraço

Fala galera beleza? Ressuscitando um tópico de anos atras, eu consegui chegar na seguinte solução, mas primeiro uma pequena descrição de como e meu ambiente.

Tive o problema de contexto quando utilizava uma aplicaçao que rodava o JSF 1.2 + Seam + Jersey 1.8, e sempre que tentava chamar o org.jboss.seam.Component e pegar uma instancia de um objeto. Enfim, a solução que eu consegui para funcionar e:

import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.contexts.Lifecycle;

boolean createContexts = !Contexts.isEventContextActive() && !Contexts.isApplicationContextActive();
if(createContexts)
	Lifecycle.beginCall();

E com isto, o seam conseguia encontrar o contexto e pegar meu component

1 curtida

Coisa linda! Salvou minha vida.