KB Article #182145

When accessing http.headers.Headername the 'Headername' part is case sensitive

Problem

When accessing the http.headers whiteboard value with a JUEL expression like ${http.headers.Headername} the Headername part of the expression is case sensitive, so an HTTP header like headername would not be retrieved. This most commonly is an issue with headers like SOAPAction or Authentication.

Resolution

The http.headers value is a com.vordel.mime.HeaderSet dictionary object representing the headers as they were submitted to the gateway and the purpose of that variable is to record headers exactly as they were received. The correct way to retrieve the header values in a case-insensitive manner is with the Retrieve from HTTP Header filter which does a case-insensitive search for headers. The following example filter will capture the SOAPAction header and put it into a variable like ${soap_action} regardless of the case of the incoming header:


Image of Retrieve from HTTP Header filter with HTTP Header Name = SOAPAction and Attribute ID = soap_action