Estou me aventurando pelo WW2. Estou seguindo os passos do tutorial aqui do GUJ feito pelo smota…
Depois de fazer tudo… qualquer requisição que eu faça levanta um RuntimeExecption:
java.lang.RuntimeException: Fallback must be an instance of DefaultConfigurationManager
com.opensymphony.xwork.interceptor.component.DefaultComponentManager.setFallback(DefaultComponentManager.java:50)
com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:55)
Opa … costuma acontecer quando você habilita os filtros de lifecycle mas não cria o arquivo components.xml (nesse caso geralmente tem um Caused by depois desse erro, essa é toda a sua stack?)
RodrigoSol
smota,
criei o components.xml no diretório web-inf/classes assim:
java.lang.RuntimeException: Fallback must be an instance of DefaultConfiguration
Manager
at com.opensymphony.xwork.interceptor.component.DefaultComponentManager.
setFallback(DefaultComponentManager.java:50)
at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(Re
questLifecycleFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
yAssociationValve.java:72)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecur
ityMgrRealm.java:275)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
RodrigoSol
Outra coisa… não ficou muito claro pra mim se devo criar o metodo getUserSession() na interface UserSessionAware…
Hummmm … eu tive uns problemas xaropes de descobrir com o Webwork usando o Tomcat 5.0.16 … no mais era sempre algum erro na configuração.
RodrigoSol
O que você sugere que eu faça?
smota
Debug :shock:
Coloque um breakpoint na classe com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter e na linha 55 dê uma olhada no estado do objeto quando chamar a com.opensymphony.xwork.interceptor.component.DefaultComponentManager.
setFallback e continue debugando.
Com isso vc vai saber o que está acontecendo … e entender o que era esparado.
(sorry nao ajudar mais, mas eu to sem tempo senao eu ajuda a debugar, mas vai tentando e postando aqui que uma hora sai uma ideia descente).