Support Article

DWA: pzSUS Param not properly URLEncoded (HTTP 400 Errors)

SA-32268

Summary



External assignments' links trigger an HTTP 303, "See Other", with a URL containing a pzSUS parameter with a value that starts with "{pr}".  The value must be URL encoded as "{" and "}" characters require proper URL encoding if used as part of the URL. When upgrading to Tomcat 8.0.39+ URLs without a properly encoded pzSUS parameter will be blocked as containing illegal characters.

Error Messages



HTTP 400 error

Tomcat logfile:
[http-apr-8080-exec-3] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
 java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    at org.apache.coyote.http11.InternalAprInputBuffer.parseRequestLine(InternalAprInputBuffer.java:239)


Steps to Reproduce



Run an external assignment when using Tomcat 8.0.39+.

Root Cause



The pzSUS parameter was not properly encoded when returned in a HTTP 303 redirect. It occurs after the initial DWA URL contained in correspondence was used.

Resolution



Apply HFix-31198.
Suggest Edit

Published January 16, 2017 - Updated October 8, 2020

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.