This is one of the incompatible changes in 5.3.1. You have to URLencode all parameters form now on. I use the URLEncoder service.
On Dec 22, 2011, at 3:05 PM, David Canteros wrote: > Hi guys! > Today I have updated the libraries to tapestry 5.3.1 and my applications > started to throw an unexpected exception *(this doesnt happen with tapestry > 5.3 or earlier*). > > I have a page called "login" that receives a variable called "key" by URL, > which looks like the following example: > > *http://localhost:8080/mytool/login?key=diXmpfiW1uk*1w21wCIi*21312423*w* > > In the onActivate() method I have to catch the value of "key" to do some > work. The code of Login.java is very short: > > @ActivationRequestParameter > private String key; > @Inject > private Logger log; > > public Object onActivate() { > // Some work with "key" value > } > > The exception happens when I try to access to the above URL, it occurs > before to call onActivate (i think). The exception is: > > [ERROR] PricetoolModule.PricetoolRequestExceptionHandler Unexpected runtime > exception: Input string 'diXmpfiW1uk*1w21wCIi*21312423*w' is not valid; the > character '*' at position 12 is not valid. (Track ID: 1324576808506) > org.apache.tapestry5.runtime.ComponentEventException:* Input string > 'diXmpfiW1uk*1w21wCIi*21312423*w' is not valid; the character '*' at > position 12 is not valid.* > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1130) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3200(ComponentPageElementImpl.java:61) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1051) > (and continues..) > > I think is a problem when tapestry tries to handle the URL to catch the > value of "key" ... someone have an idea of the problem?? This not happens > with tap 5.3... > Regards! > David > > Complete exception: > > [ERROR] PricetoolModule.PricetoolRequestExceptionHandler Unexpected runtime > exception: Input string 'diXmpfiW1uk*1w21wCIi*21312423*w' is not valid; the > character '*' at position 12 is not valid. (Track ID: 1324576808506) > org.apache.tapestry5.runtime.ComponentEventException: Input string > 'diXmpfiW1uk*1w21wCIi*21312423*w' is not valid; the character '*' at > position 12 is not valid. > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1130) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3200(ComponentPageElementImpl.java:61) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1051) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1048) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121) > at > org.apache.tapestry5.internal.structure.ComponentPageElementResourcesImpl.invoke(ComponentPageElementResourcesImpl.java:146) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1047) > at > org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:302) > at > org.apache.tapestry5.internal.services.PageActivatorImpl.activatePage(PageActivatorImpl.java:34) > at $PageActivator_7f2c9a23350.activatePage(Unknown Source) > at > org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:57) > at > org.apache.tapestry5.services.TapestryModule$37.handle(TapestryModule.java:2207) > at $PageRenderRequestHandler_7f2c9a23351.handle(Unknown Source) > at $PageRenderRequestHandler_7f2c9a2334a.handle(Unknown Source) > at > org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handlePageRender(ComponentRequestHandlerTerminator.java:48) > at > org.apache.tapestry5.services.InitializeActivePageName.handlePageRender(InitializeActivePageName.java:47) > at $ComponentRequestHandler_7f2c9a2334b.handlePageRender(Unknown Source) > at > org.tynamo.security.SecurityComponentRequestFilter.handlePageRender(SecurityComponentRequestFilter.java:50) > at $ComponentRequestFilter_7f2c9a23348.handlePageRender(Unknown Source) > at $ComponentRequestHandler_7f2c9a2334b.handlePageRender(Unknown Source) > at $ComponentRequestHandler_7f2c9a23311.handlePageRender(Unknown Source) > at > org.apache.tapestry5.internal.services.PageRenderDispatcher.dispatch(PageRenderDispatcher.java:45) > at $Dispatcher_7f2c9a23314.dispatch(Unknown Source) > at $Dispatcher_7f2c9a2330e.dispatch(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302) > at > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26) > at $RequestHandler_7f2c9a2330f.service(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902) > at $RequestHandler_7f2c9a2330f.service(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892) > at $RequestHandler_7f2c9a2330f.service(Unknown Source) > at > org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90) > at $RequestHandler_7f2c9a2330f.service(Unknown Source) > at > ultimate.pricetool.services.PricetoolModule$1.service(PricetoolModule.java:433) > at $RequestFilter_7f2c9a2330b.service(Unknown Source) > at $RequestHandler_7f2c9a2330f.service(Unknown Source) > at $RequestHandler_7f2c9a23300.service(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253) > at > org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53) > at $HttpServletRequestHandler_7f2c9a23302.service(Unknown Source) > at > org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44) > at $HttpServletRequestHandler_7f2c9a23302.service(Unknown Source) > at > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) > at $HttpServletRequestFilter_7f2c9a232fe.service(Unknown Source) > at $HttpServletRequestHandler_7f2c9a23302.service(Unknown Source) > at > org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852) > at $HttpServletRequestHandler_7f2c9a23302.service(Unknown Source) > at > org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:104) > at > org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:102) > at > org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) > at > org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) > at > org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:376) > at > org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:102) > at $HttpServletRequestFilter_7f2c9a232fd.service(Unknown Source) > at $HttpServletRequestHandler_7f2c9a23302.service(Unknown Source) > at $HttpServletRequestHandler_7f2c9a232fb.service(Unknown Source) > at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) > at org.eclipse.jetty.server.Server.handle(Server.java:346) > at > org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589) > at > org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214) > at > org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:535) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529) > at java.lang.Thread.run(Thread.java:662) > Caused by: org.apache.tapestry5.ioc.internal.OperationException: Input > string 'diXmpfiW1uk*1w21wCIi*21312423*w' is not valid; the character '*' at > position 12 is not valid. > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:121) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:88) > at > org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:87) > at > org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1121) > at > org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$TransformationSupportImpl$1.advise(ComponentInstantiatorSourceImpl.java:439) > at > org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:86) > at ultimate.pricetool.pages.Login.dispatchComponentEvent(Login.java) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:923) > at > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1106) > ... 81 more > Caused by: java.lang.IllegalArgumentException: Input string > 'diXmpfiW1uk*1w21wCIi*21312423*w' is not valid; the character '*' at > position 12 is not valid. > at > org.apache.tapestry5.internal.services.URLEncoderImpl.decode(URLEncoderImpl.java:144) > at $URLEncoder_7f2c9a23336.decode(Unknown Source) > at > org.apache.tapestry5.internal.transform.ActivationRequestParameterWorker$2.handleEvent(ActivationRequestParameterWorker.java:128) > at > org.apache.tapestry5.internal.services.ComponentInstantiatorSourceImpl$TransformationSupportImpl$1$1.invoke(ComponentInstantiatorSourceImpl.java:443) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74) > ... 88 more --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org