Mmm I have a doubt.. .why tapestry consider that asterisk symbol (*) is unsafe?? (that symbol is my problem now). The specification for URLs (RFC 1738 <http://www.rfc-editor.org/rfc/rfc1738.txt>, Dec. '94) says that asterisk could be used unencoded...
------------------------------------------------------------------ David Germán Canteros 2011/12/22 David Canteros <davidcanteros....@gmail.com> > Opps! at first glance it will be a problem for me....That url is > automatically generated by other tool... > I got back to 5.3 for the moment. > Thanks Lenny! > > David > > > ------------------------------------------------------------------ > David Germán Canteros > > > > 2011/12/22 Lenny Primak <lpri...@hope.nyc.ny.us> > >> 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 >> >> >