[prev in list] [next in list] [prev in thread] [next in thread] 

List:       tapestry-user
Subject:    Re: T5 Complex NPE in org.apache.tapestry.internal.util.Base64InputStream
From:       "Josh Canfield" <josh () thedailytube ! com>
Date:       2007-11-29 22:37:32
Message-ID: f2a580750711291437r185eec7cqc14ff3f458b10a63 () mail ! gmail ! com
[Download RAW message or body]


I recall seeing something about this on the list before. I believe the
problem is that ACEGI isn't posting the form data on the redirect.

This sounds like your problem:
https://issues.apache.org/jira/browse/TAPESTRY-1780

Josh

On Nov 29, 2007 1:49 PM, Daniel Jue <teamphy6@gmail.com> wrote:

> I'm still having an issue with this.   Is there a quick fix or
> workaround?  Or any idea where I should insert a hack?
> Summary:
> You log into your app and an ASO is created for you
> You land on a page that has a form
> You wait until your session times out (automatically)
> You click the form submit.
> Your app redirects you to a login page, to get your ASO
> On success the app redirects you to your form submit request, which is
> a form.OnAction
> Tapestry gives you a NPE when trying to decode a null gzip'd stream
>
> I am using T5.0.5
>
> On Aug 23, 2007 1:56 AM, Daniel Jue <teamphy6@gmail.com> wrote:
> > I'll try my best to explain the situation, but please ask if you think
> > other details would help determine the problem.
> >
> > I am using Acegi--with great success so far.
> > When a user logs in and gets authenticated via Acegi, an ASO is
> > created for the user, holding the user details, etc.
> >
> > I have a form in a component.  For simplicity, this form has only one
> > item-a select/dropdown.
> > The submit is handled through an onChange event that gets coded into the
> select.
> >
> > Here is the case:
> > A logged in user can change the select box selection, and the method
> > for the OnChange will
> > 1st. Check to make sure the user's aso exists
> > 2nd. Save the selection to the ASO if the ASO exists
> >
> > Let's say a user somehow gets logged out, either by timing out or
> > opening another window and logging out.
> >
> > Now on the page that still displays the form, the user makes a
> selection.
> >
> > The application immediately takes me to my login form page, as defined
> in Acegi.
> > The user enters their information and then it's suppose to redirect
> > them back to the "refering url" as far as I understand.  But instead
> > after logging in, applications gives me a NPE in a section of Tapestry
> > Internal that I don't understand.
> >
> > Interestingly, if I manage to put in a url, say, back to the start
> > page, I see that the user is logged in.  So the login/creation of the
> > ASO _did_ happen.  Something else was going on here....
> >
> > Here is the stack trace:
> >
> > An unexpected application exception has occurred.
> >
> >     * org.apache.tapestry.ioc.internal.util.TapestryException
> >     * java.lang.NullPointerException
> >
> >       Stack trace
> >               o
> > org.apache.tapestry.internal.util.Base64InputStream.decode(
> Base64InputStream.java:34)
> >               o
> > org.apache.tapestry.internal.util.Base64InputStream.<init>(
> Base64InputStream.java:29)
> >               o
> > org.apache.tapestry.internal.util.Base64ObjectInputStream.<init>(
> Base64ObjectInputStream.java:30)
> >               o
> > org.apache.tapestry.corelib.components.Form.onAction(Form.java:355)
> >               o
> > org.apache.tapestry.corelib.components.Form.handleComponentEvent(
> Form.java)
> >               o
> >
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.handleEvent
> (ComponentPageElementImpl.java:893)
> >               o
> >
> org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerEvent
> (ComponentPageElementImpl.java:998)
> >               o
> >
> org.apache.tapestry.internal.services.ComponentActionRequestHandlerImpl.handle
> (ComponentActionRequestHandlerImpl.java:81)
> >               o
> > org.apache.tapestry.internal.services.InternalModule$11.handle(
> InternalModule.java:541)
> >               o
> > org.apache.tapestry.internal.services.ComponentActionDispatcher.dispatch
> (ComponentActionDispatcher.java:116)
> >               o
> > org.apache.tapestry.services.TapestryModule$12.service(
> TapestryModule.java:1066)
> >               o
> > myapp.wui.tapestry.services.AppModule$1.service(AppModule.java:71)
> >               o
> > org.apache.tapestry.internal.services.LocalizationFilter.service(
> LocalizationFilter.java:43)
> >               o
> > org.apache.tapestry.services.TapestryModule$2.service(
> TapestryModule.java:657)
> >               o
> > org.apache.tapestry.internal.services.StaticFilesFilter.service(
> StaticFilesFilter.java:63)
> >               o
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
> CheckForUpdatesFilter.java:97)
> >               o
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(
> CheckForUpdatesFilter.java:88)
> >               o
> > org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(
> ConcurrentBarrier.java:77)
> >               o
> > org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(
> CheckForUpdatesFilter.java:110)
> >               o
> > org.apache.tapestry.services.TapestryModule$11.service(
> TapestryModule.java:1044)
> >               o
> >
> org.apache.tapestry.upload.services.MultipartServletRequestFilter.service(
> MultipartServletRequestFilter.java:42)
> >               o
> > org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> >               o
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:215)
> >               o
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
> >               o
> > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:265)
> >               o
> > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(
> FilterSecurityInterceptor.java:107)
> >               o
> > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(
> FilterSecurityInterceptor.java:72)
> >               o
> > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
> >               o
> > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(
> ExceptionTranslationFilter.java:110)
> >               o
> > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
> >               o
> > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter
> (AnonymousProcessingFilter.java:125)
> >               o
> > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
> >               o
> > org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(
> BasicProcessingFilter.java:175)
> >               o
> > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
> >               o
> > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(
> AbstractProcessingFilter.java:229)
> >               o
> > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
> >               o
> > org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
> >               o
> > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
> >               o
> > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(
> HttpSessionContextIntegrationFilter.java:286)
> >               o
> > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(
> FilterChainProxy.java:275)
> >               o
> > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java
> :149)
> >               o
> > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java
> :98)
> >               o
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:215)
> >               o
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:188)
> >               o
> > org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:210)
> >               o
> > org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:174)
> >               o
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :127)
> >               o
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :117)
> >               o
> > org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:108)
> >               o
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :151)
> >               o
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :870)
> >               o
> >
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:665)
> >               o
> > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:528)
> >               o
> > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:81)
> >               o
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:685)
> >               o java.lang.Thread.run(Unknown Source)
> >
> >
> > Context Path
> >     /myapp
> > Request Path
> >     /setup/hierarchicalsetuppage.selectyear.selectyearsingleform
> >
> >
> > Any clues as to what is going on?
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
--
TheDailyTube.com. Sign up and get the best new videos on the internet
delivered fresh to your inbox.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic