type Exception report
message java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:124)
root cause
java.lang.IllegalArgumentException: URLDecoder: Incomplete trailing escape (%) pattern java.net.URLDecoder.decode(URLDecoder.java:168) com.igniteVision.affiliate.tracking.click.util.TargetUrlUtils.getLinkGeneratorTargetUrl(TargetUrlUtils.java:187) com.igniteVision.affiliate.tracking.click.manager.RedirectManager.simpleRedirect(RedirectManager.java:112) com.igniteVision.affiliate.tracking.click.dispatcher.ClickAction.clickProgram(ClickAction.java:240) com.igniteVision.affiliate.tracking.click.dispatcher.ClickAction.execute(ClickAction.java:154) com.igniteVision.affiliate.tracking.click.dispatcher.ClickAction$$FastClassByCGLIB$$695c5384.invoke(<generated>) net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635) com.igniteVision.affiliate.tracking.click.dispatcher.ClickAction$$EnhancerByCGLIB$$87b1f5bb.execute(<generated>) org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110) org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:124)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.36 logs.