How Do I Define a Custom Variable?

About this task

This use case explains how to define custom variable using custom extension. The defined custom variable can be used in any of the subsequent policy stages during API processing.

The use case starts when you have to define a custom variable, which is not available in webMethods API Gateway and ends when you successfully defined and accessed the variable in the subsequent policy stages.

To define a custom variable using custom extension

  1. Click APIs on the title navigation bar.
  2. Click the required API.

    The API details page appears.

  3. Click Edit.
  4. Select Policies.
  5. Click Required Policy stage > Custom Extension.

    This adds the custom extension policy where you can configure the required properties.

    Click to open the policy properties section in a full page.

  6. Provide the following information in the Conditions section, as required:
    Property Description
    Condition Conditions are used to specify when the policy has to be executed. You can add multiple conditions with logical operators.
    Available values are:
    • AND. webMethods API Gateway executes this policy when all the configured conditions comply in the respective policy stage.
    • OR. This is selected by default. webMethods API Gateway executes this policy when any one of the configured conditions complies.
    Click Add Condition and provide the following information and click Add.
    • Variable. Specifies the variable type with a syntax.
    • Operator. Specifies the operator to use to relate variable and the value. You can select one of the following:
      • Equals
      • Equals ignore case
      • Not equals
      • Not equals ignore case
      • Contains
      • Exists
      • Range
      • Greater Than
      • Less Than
    • Value. Specifies a plain value or value with a syntax.

    For details about the variables available in webMethods API Gateway, see Variable Framework .

  7. Click Custom Variable.
  8. Provide the following information in the Define Custom Variables section, as required:
    Property Description
    Custom Variable Specify the custom variable with a syntax to be accessed across subsequent stages and click Add.
    • Variable. Specifies the custom variable with a syntax.
    • Value. Specifies a plain value or value with a syntax.
    For example, if you want to use the client's request related information like content-type header at response stage, you can define the ${clientContentType} custom variable to store the ${request.headers.Content-Type} variable. The ${clientContetType} custom variable can be accessed in any other policy across subsequent stages such as response or error processing stage.
    Note: The custom variables should not contain dot in their names.

    For details about the variables available in webMethods API Gateway, see Variable Framework.

  9. Provide the following information in the Custom Extension Metadata section, as required. This is applicable only for XML transformation:
    Property Description
    Namespace Prefix Provide the namespace prefix of the payload expression to be validated.

    For example, specify the namespace prefix as SOAP_ENV.

    Namespace URI Provide the namespace URI of the payload expression to be validated.
    For example, specify the namespace URI as http://schemas.xmlsoap.org/soap/envelope/. This declaration defines SOAP_ENV as an alias for the namespace: http://schemas.xmlsoap.org/soap/envelope/.
    Note: You can add multiple namespace prefixes and URIs by clicking Add.
  10. Click Save.

    The API is saved with the added custom variables.

  11. Invoke the API.

    The custom variables are defined and can be accessed in the subsequent policy stages.