RE: IllegalArgumentException Exception in URLDecoder

Kirk Daries <[email protected]>
Newsgroups gmane.comp.java.enhydra.barracuda.general
Message-ID <D09B591872D1D611AF2B0010B5A1AAD0914895@WCSMAIL>
To reply to my own mail..

I put a empty try/catch block around the respective code...
and just ignored the exception when it arose..

ok.. it's a hack.. but at least it's not fallin over now..

try {
  queryString = java.net.URLDecoder.decode(queryString);
} catch (Exception e) {}

-----Original Message-----
From: Kirk Daries [mailto:[email protected]]
Sent: 30 July 2003 02:01
To: [email protected]
Subject: [Barracuda] IllegalArgumentException Exception in URLDecoder


Hi Guys,

I'm running into a exception...

Basically... when I submit any text containing the symbol '%', it falls
over.
E.g. 
req.getQueryString() is: p_comments=Test+%25

Which is "Test %"

I've traced it to the HttpServletRequestWrapper class, line 398.

Which says, 
queryString = java.net.URLDecoder.decode(queryString);

I think the decode function is attempting to 'decode' the string a second
time..

Help?
Regards
KD

java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in
escape (%) pattern - For input string: "&p"
	at java.net.URLDecoder.decode(URLDecoder.java:168)
	at java.net.URLDecoder.decode(URLDecoder.java:82)
	at
org.enhydra.barracuda.core.helper.servlet.HttpServletRequestWrapper.getParam
eter(HttpServletRequestWrapper.java:398)
	at
org.enhydra.barracuda.core.event.DefaultEventContext.restoreContext(DefaultE
ventContext.java:224)
	at
org.enhydra.barracuda.core.event.DefaultEventContext.(DefaultEventContext.ja
va:74)
	at
org.enhydra.barracuda.core.event.ApplicationGateway.handleDefaultExt(Applica
tionGateway.java:398)
	at
org.enhydra.barracuda.core.event.ApplicationGateway.handleDefault(Applicatio
nGateway.java:234)
	at
org.enhydra.barracuda.core.event.ApplicationGateway.doGet(ApplicationGateway
.java:717)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
	at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
	at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
	at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
	at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
	at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
	at java.lang.Thread.run(Thread.java:534)

_______________________________________________
Barracuda mailing list
[email protected]
http://barracudamvc.org/lists/listinfo/barracuda
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.