Catalog: Error "Invalid character found in the request target The valid characters are defined in RFC 7230 and RFC 3986"
search cancel

Catalog: Error "Invalid character found in the request target The valid characters are defined in RFC 7230 and RFC 3986"

book

Article ID: 145329

calendar_today

Updated On:

Products

CA Service Catalog

Issue/Introduction

Error "Invalid character found in the request target The valid characters are defined in RFC 7230 and RFC 3986"  and "HTTP Status 400" when Searching or Changing the status of a request, or approving a request in Service Catalog.

Environment

CA Service Catalog 17.2, 17.3 and 17.4

Cause

Missing Catalog post-installation step

Resolution

Implement the Catalog post-installation steps related to the server.xml

Additional Information

Please be sure to follow the instructions carefully.  The original text for server.xml reads as:

    <!-- Define a HTTP/1.1 Connector on port 8080 -->
    <Connector port="8080" enableLookups="false" redirectPort="8443" maxThreads="400" minSpareThreads="25" connectionTimeout="15000" 
      disableUploadTimeout="true" compression="on" compressionMinSize="2048" 
      compressableMimeType="text/html,text/plain,text/xml,text/css,text/javascript,image/png,image/gif,image/jpeg,application/json"
      useBodyEncodingForURI="false" URIEncoding="UTF-8" server="Service Catalog" maxHttpHeaderSize="20480"/>

Placing the "relaxedPathChars" entry at the end would result in this sequence:

    <Connector port="8080" enableLookups="false" maxThreads="400" minSpareThreads="25" connectionTimeout="15000" 
      disableUploadTimeout="true" compression="on" compressionMinSize="2048" redirectPort="443"
      compressableMimeType="text/html,text/plain,text/xml,text/css,text/javascript,image/png,image/gif,image/jpeg,application/json"
      useBodyEncodingForURI="false" URIEncoding="UTF-8" server="Service Catalog" maxHttpHeaderSize="20480"/>
   relaxedPathChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"

However, the placement of the "/>" is no longer correct and will not include the "relaxedPathChars" sequence as part of the tag (highlighted above to demonstrate incorrect placement). 

The correct text should read as:

    <Connector port="8080" enableLookups="false" maxThreads="400" minSpareThreads="25" connectionTimeout="15000" 
      disableUploadTimeout="true" compression="on" compressionMinSize="2048" redirectPort="443"
      compressableMimeType="text/html,text/plain,text/xml,text/css,text/javascript,image/png,image/gif,image/jpeg,application/json"
      useBodyEncodingForURI="false" URIEncoding="UTF-8" server="Service Catalog" maxHttpHeaderSize="20480"
   relaxedPathChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"/>

Similarly:

 <Connector port="443" enableLookups="false" tomcatAuthentication="false" maxHttpHeaderSize="20480"
      maxThreads="800" minSpareThreads="25" maxSpareThreads="100" debug="0" connectionTimeout="1000000"
      disableUploadTimeout="true" compression="on" compressionMinSize="2048"
      compressableMimeType="text/html,text/plain,text/xml,text/css,text/javascript,image/png,image/gif,image/jpeg,application/json"
      scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" SSLEnabled="true" 
      keystoreFile="F:\Program Files\CA\Service Catalog\Certs\sc.keystore" keyAlias="sc" keystorePass="sc2018" URIEncoding="UTF-8"
   relaxedPathChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"/>