Parameter | Description |
Default Route To: Specifies the URLs of two or more native services in a pool to which the requests are routed. | |
Endpoint URI | Specifies the URI of the native API endpoint to route the request to in case all routing rules evaluate to False. Service registries that have been added to the Microgateway instance are also included in the list. Note: Only simple aliases, endpoint aliases, and service registry aliases are supported in Microgateway. If you choose a service registry, Microgateway sends a request to the service registry to discover the IP address and port at which the native service is running. Microgateway replaces the service registry alias in the Endpoint URI with the IP address and port returned by the service registry. For example, if your service is hosted at the URL: http://host:port/abc/, you need to configure the Endpoint URI as: http://${ServiceRegistryName}/abc/. |
HTTP Method | Specifies the available routing methods: GET, POST, PUT, DELETE, and CUSTOM (default). When CUSTOM is selected, the HTTP method in the incoming request is sent to the native service. When other methods are selected, the selected method is used in the request sent to the native service. Note: Software AG recommends to use Request Transformation > Method Transformation to achieve this as other transformations can also be done under the same policy. |
HTTP Connection Timeout (seconds) | Specifies the time interval (in seconds) after which a connection attempt times out. The precedence of the Connection Timeout configuration is as follows: 1. If you specify a value for the Connection timeout field in routing endpoint alias, then the Connection timeout value specified in the Endpoint alias section takes precedence over the timeout values defined at the API level and the global level. 2. If you specify a value 0 for the Connection timeout field in routing endpoint alias, then Microgateway uses the value specified in the Connection timeout field in the routing protocol processing step of an API. The Read Timeout value specified at an API level takes precedence over the global configuration. 3. If you specify a value 0 or do not specify a value for the Connection timeout field in the routing protocol processing step at the API level or specify a value 0 at an alias level, then Microgateway uses the value specified in this pg.endpoint.connectionTimeout property. 4. If you do not specify any value for pg.endpoint.connectionTimeout, then Microgateway uses the default value of 30 seconds. |
Read Timeout (seconds) | Specifies the time interval (in seconds) after which a socket read attempt times out. The precedence of the Read Timeout configuration is as follows: 1. If you specify a value for the Read timeout field in routing endpoint alias, then the Read timeout value specified in the Endpoint alias section takes precedence over the timeout values defined at the API level and the global level. 2. If you specify a value 0 for the Read timeout field in routing endpoint alias, then Microgateway uses the value specified in the Read Timeout field in the routing protocol processing step of an API. The Read Timeout value specified at an API level takes precedence over the global configuration. 3. If you specify a value 0 or do not specify a value for the Read timeout field in the routing protocol processing step at the API level or specify a value 0 at an alias level, then Microgateway uses the value specified in this pg.endpoint.readTimeout property. 4. If you do not specify any value for pg.endpoint.readTimeout, then Microgateway uses the default value of 30 seconds. |
SSL Configuration. Specifies values to enable SSL client authentication that Microgateway uses to authenticate incoming requests for the native API. | |
Keystore Alias | Specifies the keystore alias that is present in the system-settings.yml. This value (along with the value of Client Certificate Alias) is used for performing SSL client authentication. |
Key Alias | Specifies the alias for the private key, which must be stored in the keystore specified by the keystore alias. |
Service Registry Configuration | |
Service Discovery Endpoint Parameter | Values required for constructing the discovery service URI. Parameter. An alias that you have included in the discovery service URI while adding the service registry to Microgateway. Value. A value for the path parameter. The alias specified in Path Parameter is substituted with this value when invoking the discovery service. For example: if the service registry configuration of the service registry that you have selected in Endpoint URI has Service discovery path set to /catalog/service/{serviceName} (and the {serviceName} alias is intended for passing the service name), you must provide {serviceName} as Parameter and the name of the service as Value. |
Rule: Defines the routing decisions based on one of the following routing options. | |
Payload Identifier | Specifies using the payload identifier to identify the client, extract the custom authentication credentials supplied in the request represented using the payload identifier, and verify the client's identity. The Payload identifier includes the following information. Expression type. Specifies the type of expression, which is used for identification. You can have one the following expression type: XPath. Provide the following information: Payload Expression. Specifies the payload expression that the specified XPath expression type in the request has to be converted to. For example: /name/id Namespace Prefix. The namespace prefix of the payload expression to be validated. Namespace URI. The namespace URI of the payload expression to be validated. JSONPath. Provide the Payload Expression that specifies the payload expression that the specified JSONPath expression type in the request has to be converted to. For example: $.name.id Text. Provide the Payload Expression that specifies the payload expression that the specified Text expression type in the request has to be converted to. For example: any valid regular expression. You can have multiple payload identifiers as required. Note: Only one payload identifier of each type is allowed. For example, you can have a maximum of three payload identifiers, each being of a different type. |
Route To. Specifies the Endpoint URI of native APIs in a pool to which the requests are routed. | |
Endpoint URI | Specifies the URI of the native API endpoint to route the request to. You can use service registries in a similar manner as described in the main Endpoint URI above. |
HTTP Method | Specifies the available routing methods: GET, POST, PUT, DELETE, and CUSTOM (default). When CUSTOM is selected, the HTTP method in the incoming request is sent to the native service. When other methods are selected, the selected method is used in the request sent to the native service. |
HTTP Connection Timeout (seconds) | Specifies the time interval (in seconds) after which a connection attempt times out. The precedence of the Connection Timeout configuration is as follows: 1. If you specify a value for the Connection timeout field in routing endpoint alias, then the Connection timeout value specified in the Endpoint alias section takes precedence over the timeout values defined at the API level and the global level. 2. If you specify a value 0 for the Connection timeout field in routing endpoint alias, then Microgateway uses the value specified in the Connection timeout field in the routing protocol processing step of an API. The Read Timeout value specified at an API level takes precedence over the global configuration. 3. If you specify a value 0 or do not specify a value for the Connection timeout field in the routing protocol processing step at the API level or specify a value 0 at an alias level, then Microgateway uses the value specified in this pg.endpoint.connectionTimeout property. 4. If you do not specify any value for pg.endpoint.connectionTimeout, then Microgateway uses the default value of 30 seconds. |
Read Timeout (seconds) | Specifies the time interval (in seconds) after which a socket read attempt times out. The precedence of the Read Timeout configuration is as follows: 1. If you specify a value for the Read timeout field in routing endpoint alias, then the Read timeout value specified in the Endpoint alias section takes precedence over the timeout values defined at the API level and the global level. 2. If you specify a value 0 for the Read timeout field in routing endpoint alias, then Microgateway uses the value specified in the Read Timeout field in the routing protocol processing step of an API. The Read Timeout value specified at an API level takes precedence over the global configuration. 3. If you specify a value 0 or do not specify a value for the Read timeout field in the routing protocol processing step at the API level or specify a value 0 at an alias level, then Microgateway uses the value specified in this pg.endpoint.readTimeout property. 4. If you do not specify any value for pg.endpoint.readTimeout, then Microgateway uses the default value of 30 seconds. |
SSL Configuration | Specifies values to enable SSL client authentication that Microgateway uses to authenticate incoming requests for the native API. Provide the following information: Keystore Alias. Specifies the keystore alias that is present in the system-settings.yml. This value (along with the value of Client Certificate Alias) is used for performing SSL client authentication. Key Alias. Specifies the alias for the private key, which must be stored in the keystore specified by the keystore alias. |
Service Registry Configuration | |
Service Discovery Endpoint Parameter | Values required for constructing the discovery service URI. Parameter. An alias that you have included in the discovery service URI while adding the service registry to Microgateway. Value. A value for the path parameter. The alias specified in Path Parameter is substituted with this value when invoking the discovery service. For example: if the service registry configuration of the service registry that you have selected in Endpoint URI has Service discovery path set to /catalog/service/{serviceName} (and the {serviceName} alias is intended for passing the service name), you must provide {serviceName} as Parameter and the name of the service as Value. |