Parameter Transformation Input

Inputs from request and data from optionally added data sources are automatically placed into a temporary XML called <parameter-transformation-input>.

The custom XSLT ("parameter-transformation-xslt") will be applied to this XML.

OpenEndpoints will automatically insert additional useful tags:

Tags added to <input-from-request>

  • all parameters submitted in the originating request, having <parameter name="xxx" value="xxx"/>. This explicitly includes the system parameters hash and environment (if not omitted; otherwise the parameter is not existing).

  • endpoint: name of the endpoint that has been called.

  • debug-requested: if existing the request had a parameter "debug=true". Otherwise this tag will be omitted.

  • <http-header name-lowercase="user-agent">Foo</http-header> This may be present multiple times, or not at all. HTTP Headers are case insensitive so e.g. “User-Agent” and “user-AGENT” are the same header. Therefore these are normalized to all lowercase.

  • <cookie name="Session">12345</cookie> This may be present multiple times, or not at all. Cookies on the other hand are case sensitive, so it’s possible to have “Session” and “SESSION” as two different cookies with different values, so these aren’t normalized to lowercase.

  • ip-address

Tags added to <input-from-application>

  • application: the name of the application

  • application-display-name: the display-name of the application, if available from the database.

  • git-revision: if the application was published from Git via the Service Portal then this contains the Git hash for the revision. (If the application is deployed in "single application mode" then this tag is omitted.)

  • debug-allowed: if existing debugging is set to "allowed" in the database. Otherwise this tag will be omitted.

  • secret-key: one separate tag for each secret-key

  • random-id-per-endpoint: the database request-log adds a random id per request per application

  • base-url: The base-url of the application is taken from an environment variable.

Example: Request sent from web form

Example: Json Payload

The json paylod is converted to xml.

Example: XML Paylod

How-to debug

  1. Create the parameter-transformation-tag

  2. Allow debugging and send a request with debug=true. For details see Debug Mode

  3. The generated parameter-transformation-input.xml is available in the request-log.

Last updated