webMethods and Intelligent Business Operations 10.2 | API Gateway User's Guide | Policies | System-defined Stages and Policies | Routing | Content-based Routing
 
Content-based Routing
If you have a native API that is hosted at two or more endpoints, you can use the Content-based routing protocol to route specific types of messages to specific endpoints. You can route messages to different endpoints based on specific values that appear in the request message. You might use this capability, for example, to determine which operation the consuming application has requested, and route requests for complex operations to an endpoint on a fast machine. For example, if your entry protocol is HTTP or HTTPS, you can select the Content-based routing. The requests are routed according to the content-based routing rules you create. You may specify how to authenticate requests.
The table lists the properties that you can specify for this policy:
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.
HTTP Method
This is applicable for REST-based APIs.
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.
SOAP Optimization Method
This is applicable for SOAP-based APIs.
Specifies the optimization methods that API Gateway can use to parse SOAP requests to the native API.
Select one of the following options:
*MTOM. API Gateway uses the Message Transmission Optimization Mechanism (MTOM) to parse SOAP requests to the API.
*SwA. API Gateway uses the SOAP with Attachment (SwA) technique to parse SOAP requests to the API.
*None. API Gateway does not use any optimization method to parse the SOAP requests to the API. This is selected by default.
HTTP Connection Timeout (seconds)
Specifies the time interval (in seconds) after which a connection attempt times out.
If a value 0 is specified (or if the value is not specified), API Gateway uses the default value 30 seconds.
Read Timeout (seconds)
Specifies the time interval (in seconds) after which a socket read attempt times out.
If a value 0 is specified (or if the value is not specified), API Gateway uses the default value 30 seconds.
Pass WS-Security Headers
This is applicable for SOAP-based APIs.
Selecting this indicates that API Gateway should pass the WS-Security headers of the incoming requests to the native API.
SSL Configuration. Specifies values to enable SSL client authentication that API Gateway uses to authenticate incoming requests for the native API.
Keystore Alias
Specifies the keystore alias of the instance of Integration Server on which API Gateway is running. 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.
Rule: Defines the routing decisions based on one of the following routing options. Click Add Rule and provide the following information.
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.
In the Payload identifier section, click Add payload identifier, provide the following information, and click Add.
*Expression type. Specifies the type of expression, which is used for identification. You can select 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.
Note: You can add multiple namespace prefix and URI by clicking .
*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 add multiple payload identifiers as required.
Note: Only one payload identifier of each type is allowed. For example, you can add 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.
HTTP Method
This is applicable for REST-based APIs.
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.
Soap Optimization Method
This is applicable for SOAP-based APIs.
Specifies the optimization methods that API Gateway can use to parse SOAP requests to the native API.
Select one of the following options:
*MTOM. API Gateway uses the Message Transmission Optimization Mechanism (MTOM) to parse SOAP requests to the API.
*SwA. API Gateway uses the SOAP with Attachment (SwA) technique to parse SOAP requests to the API.
*None. API Gateway does not use any optimization method to parse the SOAP requests to the API. This is selected by default.
HTTP Connection Timeout (seconds)
Specifies the time interval (in seconds) after which a connection attempt times out.
If a value 0 is specified (or if the value is not specified), API Gateway uses the default value 30 seconds.
Read Timeout (seconds)
Specifies the time interval (in seconds) after which a socket read attempt times out.
If a value 0 is specified (or if the value is not specified), API Gateway uses the default value 30 seconds.
Pass WS-Security Headers
This is applicable for SOAP-based APIs.
Selecting this indicates that API Gateway should pass the WS-Security headers of the incoming requests to the native API.
SSL Configuration
Specifies values to enable SSL client authentication that API Gateway uses to authenticate incoming requests for the native API.
Provide the following information:
*Keystore Alias. Specifies the keystore alias of the instance of Integration Server on which API Gateway is running. 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.

Copyright © 2015- 2018 | Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.
Innovation Release