ORDS 20.4 does no longer allow to use [] as part of a parameter name

152 Views Asked by At

I have been using the [] postfix to mark a parameter as to be used multiple times for arrays for a long time but this does no longer seem to be allowed in ORDS 20.4.

In ORDS 20.3 is perfectly fine to use a URL like "https://host/ords/service/procedure?a[]=1" but in ORDS 20.4 this generates the following error:

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:467) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:294) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:748) I'm using ORDS with Tomcat and the new error message seems can be turned on and off by switching between ORDS 20.3 and 20.4.

I did not find any documentation of this change in the Release logs of 20.4 and was wondering if this is an undocumented "feature" or a regression?

0

There are 0 best solutions below