Problema no IoC do WW usando o artigo do Guj =(

a propósito, tentei no Tomcat e da o mesmo NPE :frowning:

Menos mal … vc nao vai precisar inventar uma desculpa esfarrapada sem pé nem cabeça pra explicar o problema, é só achar o problema :shock:

EDITADO: E os logs?

[quote=smota]
EDITADO: E os logs?[/quote]

não tive tempo de brincar nele ainda hj, to atolado aqui no trampo :x

Bem, essa é a saída toda… Notem q o NPE ocorre bem na linha em q eu chamo setUser() no userSession q devia ser instanciado pelo WW:

this.userSession.setUser( model ); // LoginAction.java:26
Jun 3, 2005 9:17:10 AM com.opensymphony.xwork.interceptor.LoggingInterceptor logMessage
INFO: Starting execution stack for action login
Jun 3, 2005 9:17:10 AM com.opensymphony.webwork.dispatcher.ServletDispatcher serviceAction
SEVERE: Could not execute action
java.lang.NullPointerException
	at com.foo.action.LoginAction.execute(LoginAction.java:26)
	at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:283)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:166)
	at com.opensymphony.xwork.interceptor.TimerInterceptor.intercept(TimerInterceptor.java:63)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.intercept(DefaultWorkflowInterceptor.java:55)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.foo.interceptor.ApplicationSecurityInterceptor.intercept(ApplicationSecurityInterceptor.java:21)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:272)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:237)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:316)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6452)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java)
	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
&lt;Jun 3, 2005 9:17:10 AM BRT&gt; &lt;Error&gt; &lt;HTTP&gt; &lt;BEA-101020&gt; <[ServletContext(id=3270,name=ww,context-path=/ww)] Servlet failed with Exception
java.lang.NullPointerException
	at weblogic.servlet.internal.ServletResponseImpl.sendError(ServletResponseImpl.java:422)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.sendError(ServletDispatcher.java:396)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:282)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:237)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:316)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6452)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java)
	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
>

Nao era esse log :?

ehehe … coloque em modo DEBUG (log4.properties) e execute a ação, o log vai ter um monte de mensagens de inicializacao do Webwork (ele carrega o xwork só na primeira requisicao a uma action, nao na inicializacao do container) e depois os interceptors vao dizendo “passei/fiz isso/nao fiz aquilo” … esse log é que pode ajudar.

sim sim, eu coloquei pra debug o log4j mas ele não ta logando em debug, continua mostrando só info, não to entendendo, é como se tivesse arquivos em /WEB-INF/classes q ele lê (xwork.xml, validators.xml…) e outros não (components.xml, log4j.properties …) :?

/WEB-INF
    |---- /classes
              |---- xwork.xml
              |---- webwork-default.xml
              |---- webwork.properties
              |---- validators.xml
              |---- components.xml
              |---- log4j.xml

Vai ver esse é seu problema :-o

Tem certeza que o deploy está certo?!? (abre ele lá mesmo, depois de explodido e confere)

Vai ver esse é seu problema :-o

Tem certeza que o deploy está certo?!? (abre ele lá mesmo, depois de explodido e confere)[/quote]

já o fiz, esta tudo lá lá certinho no war :expressionless:

[quote=matheus][quote=fabgp2001] Ja conseguiu?

Se nao foi ainda. Qual a ordem que ta o teu web.xml?

]['s[/quote]

Ainda não foi, não tive tempo de mecher mais, mas… essa é a ordem:

[code]

<?xml version="1.0" ?> com.foo.arch.Initializer com.opensymphony.webwork.lifecycle.SessionLifecycleListener com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener webwork com.opensymphony.webwork.dispatcher.ServletDispatcher 1 webwork *.action webwork /WEB-INF/lib/webwork-2.1.7.jar [/code][/quote]

Cara desculpa, nao tinha visto aqui tua resp.

Coloca isso aqui e faz um teste.

[code]
container
com.opensymphony.webwork.lifecycle.RequestLifecycleFilter

container *.action [/code]

Adiciona antes dos listeners.

]['s

coloquei o filter, e agora antes de estourar a NPE estoura isso… :roll:

java.lang.IllegalArgumentException: wrong number of arguments
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java)
	at com.opensymphony.xwork.interceptor.component.DefaultComponentManager.setupResource(DefaultComponentManager.java:246)
	at com.opensymphony.xwork.interceptor.component.DefaultComponentManager.loadResource(DefaultComponentManager.java:197)
	at com.opensymphony.xwork.interceptor.component.DefaultComponentManager.initializeObject(DefaultComponentManager.java:104)
	at com.opensymphony.xwork.interceptor.component.ComponentInterceptor.before(ComponentInterceptor.java:33)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:164)
	at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:272)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:237)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:996)
	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:419)
	at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:28)
	at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:67)
	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:28)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6458)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java)
	at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3661)
	at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2630)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)

um colega meu aqui conseguiu fazer funcionar o IoC sem problemas, vou pedir pra conferir oq ele fez qnd der um tempo… ai posto aqui oq era.

Ressussitando essa thread!

Estou com o mesmo problema do NPE. Na mesma linha
Fiz todos os passos que estao descritos nessa thread. A unica diferenca é que a minha linha [quote]com.opensymphony.webwork.lifecycle.RequestLifecycleFilter[/quote]
no web.xml dá erro pq pelo que vi nessa versao do WW 2.2.2 não tem mais essa classe…

Alguma dica? Conseguiu resolver o problema do ano passado? hehe
2 dias quebrando a cabeca…
valeu