Software AG Products 10.7 | Using CentraSite | Runtime Governance | Run-Time Policy Management | Built-In Run-Time Actions Reference (CentraSite Business UI) | Built-in Actions for Run-Time Policies (CentraSite Business UI) | 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 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.
When this action is configured for a proxy API, the requests are routed according to the routing rules you create. That is, they are routed based on the successful evaluation of one or more XPath expressions that are constructed utilizing the content of the request payload. For example, a routing rule might allow requests for half of the methods of a particular service to be routed to Endpoint A, and the remaining methods to be routed to Endpoint B.
Input Parameters
Default Route To
(URI). Type the URL of the native API endpoint to route the request to in case all routing rules evaluate to False. For example:
http://mycontainer/creditCheckService
Click the Configure Endpoint Properties icon (next to the Default Route To field) to configure a set of properties for the specified endpoint.
Alternatively, Mediator offers Local Optimization capability if the native endpoint is hosted on the same Integration Server as Mediator. With local optimization, API invocation happens in-memory and not through a network hop.
Specify the native API in either of the following forms:
local://<Service-full-path>
OR
local://<server>:<port>/ws/<Service-full-path>
For example:
local://MyAPIFolder:MyLocalAPI
which points to the endpoint API MyLocalAPI which is present under the folder MyAPIFolder in Integration Server.
Note:
Local Optimization is not applicable to REST APIs.
Add Routing Rule (button)
Click the Add Routing Rule button and complete the Routing Rule dialog box as follows.
Field
Description
XPath Expression
An argument to evaluate the XPath expression contained in the request.
Namespace
The namespace declaration indicated by the Prefix and URI reference text boxes.
HTTP Methods
The HTTP operations (CUSTOM, DELETE, GET, PATCH, POST, PUT) to perform on the resource.
(The HTTP Methods list displays the list of supported HTTP methods.)
Route To
Type the URL of the Native Service endpoint to route the request to, if the above rule criteria are met.
Configure Endpoint Properties (icon)
Configure the following set of properties for the specified endpoint individually.
Configure Endpoint Properties  (icon)
(Optional). This icon displays the Endpoint Properties dialog box that enables you to configure a set of properties for the Mediator to route incoming requests to the native API as follows:
SOAP Optimization Method
(Only for SOAP-based APIs). Mediator can use the following optimization methods to parse SOAP requests to the native API:
Value
Description
MTOM
Mediator uses the Message Transmission Optimization Mechanism (MTOM) to parse SOAP requests to the API.
SwA
Mediator uses the SOAP with Attachment (SwA) technique to parse SOAP requests to the API.
None
Default. Mediator does not use any optimization method to parse the SOAP requests to the API.
Note:
Keep the following points in mind:
*Bridging between SwA and MTOM is not supported. If a client sends a SwA request, Mediator can only forward SwA to the native API. The same is true for MTOM, and applies to responses received from the native API. That is, a SwA or MTOM response received by Mediator from a native API is forwarded to the client using the same format it received.
*When sending SOAP requests that do not contain a MTOM or SWA attachment to a native API that returns an MTOM or SWA response, the request 'Accept' header must be set to multipart/related. This is necessary so Mediator knows how to parse the response properly.
HTTP Connection Timeout
(Optional). (Number). The time interval (in seconds) after which a connection attempt timeouts. If a value 0 is specified (or if the value is not specified), Mediator uses the value specified in the Connection Timeout field (in the Integration Server Administrator, go to Settings > Extended). Default: 30 seconds.
Read Timeout
(Optional). (Number). The time interval (in seconds) after which a socket read attempt will timeout.
The precedence of the Read Timeout configuration is as follows:
1. If a value is specified for the Read Timeout field in the routing endpoint alias, Mediator will use the value specified in the Runtime Alias > Endpoint Alias > Endpoint Properties > Read Timeout field. The read timeout value defined at an alias level takes precedence over the timeout values defined at an API level and the global configuration.
2. If a value 0 is specified (or if the value is not specified) for the Read Timeout field in the routing endpoint alias, then Mediator will use the value specified in the Read Timeout field of this routing action. The read timeout value defined at an API level takes precedence over the global configuration.
3. If a value 0 is specified (or if the value is not specified) for the Read Timeout field in this routing action (at an API level), then Mediator will use the value of the global property pg.endpoint.readTimeout located in the file Integration Server_directory\packages\WmMediator\config\resources\pg-config.properties (in the Mediator Administration console, go to > Settings > Extended Settings > pg.endpoint.readTimeout property.).
Note:
If a value for the Read Timeout configuration is not specified in any of the above configuration parameters, then Mediator will use the default 30 seconds.
SSL Configuration
(Optional). To enable SSL client authentication that Mediator uses to authenticate incoming requests for the native API, you must specify values for both the Client Certificate Alias field and the IS Keystore Alias field. If you specify a value for only one of these fields, a deployment error occurs.
Note:
SSL client authentication is optional; you may leave both fields blank.
Prerequisites: You must set up the key alias and keystore properties in the Integration Server. For the procedure, see webMethods Integration Server Administrator’s Guide.
You use these properties to specify the following fields:
Value
Description
Client Certificate Alias
The client's private key to be used for performing SSL client authentication.
IS Keystore Alias
The keystore alias of the instance of Integration Server on which Mediator is running. This value (along with the value of Client Certificate Alias) is used for performing SSL client authentication.
WS Security Header
(Only for SOAP-based APIs). Indicates whether Mediator should pass the WS-Security headers of the incoming requests to the native API.
Value
Description
Remove processed security headers
(Default). Removes the security header if it is processed by Mediator (that is, if Mediator processes the header according to the API's security run-time action). Mediator does not remove the security header if both of the following conditions are true: 1) Mediator did not process the security header, and 2) the mustUnderstand attribute of the security header is 0 or false).
Pass all security headers
Passes the security header, even if it is processed by Mediator (that is, even if Mediator processes the header according to the API's security action).