添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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)

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