[jboss-user] [JBoss Seam] - Re: NPE in SeamSecurity (getCookieValue(Selector.java:59))

amerk do-not-reply at jboss.com
Tue Sep 25 07:37:24 EDT 2007


We are using Seam 1.2.1 GA and we can't switch to Seam 2.0 in our project and we have a similar problem. 
The stacktrace of an "normal" (none JSF-Request) request with the Seam Context Filter:

2007-09-24 08:05:26,776 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/locmgmt]] Session event listener threw exception
java.lang.NullPointerException
	at org.jboss.seam.mock.MockExternalContext.getRequestCookieMap(MockExternalContext.java:184)
	at org.jboss.seam.core.Selector.getCookie(Selector.java:61)
	at org.jboss.seam.core.Selector.getCookieValue(Selector.java:72)
	at org.jboss.seam.security.Identity.initCredentialsFromCookie(Identity.java:88)
	at org.jboss.seam.security.Identity.create(Identity.java:83)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:123)
	at org.jboss.seam.Component.callComponentMethod(Component.java:1834)
	at org.jboss.seam.Component.callCreateMethod(Component.java:1757)
	at org.jboss.seam.Component.newInstance(Component.java:1746)
	at org.jboss.seam.contexts.Lifecycle.startup(Lifecycle.java:175)
	at org.jboss.seam.contexts.Lifecycle.beginSession(Lifecycle.java:235)
	at org.jboss.seam.servlet.SeamListener.sessionCreated(SeamListener.java:41)
	at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:384)
	at org.apache.catalina.session.StandardSession.setId(StandardSession.java:356)
	at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:824)
	at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:290)
	at org.apache.catalina.connector.Request.doGetSession(Request.java:2225)
	at org.apache.catalina.connector.Request.getSession(Request.java:2024)
	at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:831)
	at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
	at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
	at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:47)
	at com.agcs.locmgmt.web.seam.TransactionalSeamServletFilter.doFilter(TransactionalSeamServletFilter.java:70)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:217)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at com.agcs.locmgmt.web.seam.CookieMapServletFilter.doFilter(CookieMapServletFilter.java:55)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)

I don't understand why the selector using the MockupExternalContext. The Mockup Object is only created on the ExceptionFilter in the "endWebRequestAfterException" method.



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4088365#4088365

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4088365



More information about the jboss-user mailing list