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

Reply via email to