CentraSite Documentation : Runtime Governance with CentraSite : Run-Time Governance Reference : Built-In Run-Time Actions Reference for APIs : Run-Time Actions Reference : Context Based Routing
Context Based Routing
If you have a native API that is hosted at two or more endpoints, you can use the Context Based Routing to route specific types of messages to specific endpoints.
When this action is configured for a proxy API, the requests are routed according to the routing rules you create. A routing rule specifies where requests should be routed, and the criteria by which they should be routed there. For example, requests can be routed according to certain clients, certain dates/times, or according to requests that exceed/fall below a specified metric (Total Count, Success Count, Fault Count, and so on). You can create one or more rules.
Input Parameters
Default Route To
URI. Mandatory. Enter 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 Route To field) if you want 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 based APIs.
Add Routing Rule (button)
Click the Add Routing Rule button and complete the Add Routing Rule dialog box as follows.
1. In the Name field, specify a name for the routing rule.
2. In the Condition panel, specify the following as required:
a. In the Variable column, select Time, IP Address Range, Date, Consumer, Predefined Context Variable or Custom Context Variable.
b. In the Value column, specify an applicable value. For Date choose Before, After or Equal To and enter a date. For Time choose Before or After and enter a time. For IP Address, enter numeric values for Between and And. For Consumer, enter a consumer application name in the text box.For Predefined Context Variable or Custom Context Variable, choose the String or Integer data type. Select a predefined variable name or custom variable name from the drop-down list. For String, choose Equal To or Not Equal To and enter a value. For Integer, choose Greater Than, Less Than, Not Equal To, Equal To or and enter a value.
Note:  
Keep the following points in mind:
*For the list of the predefined context variables, see Using Context Variables in APIs.
*The predefined context variable PROTOCOL_HEADER is not available in the drop-down list; to include PROTOCOL_HEADER in the rule, define the variable as Custom Context Variable.
*If you define a custom context variable in the routing rule, you must write a webMethods IS service and invoke it in the API's Context Based Routing action. In this Integration Server service, use the API to get/set the custom context variable.
For more information, see The API for Context Variables
If you need to specify multiple variables, use the plus button to add rows.
c. If you have more than one routing rule, choose an operator for the expression: AND or OR (the default).
3. In the Route To field, specify the URL of the native API endpoint to route the request to, if the rule criteria are met.
4. Click the Configure Endpoint Properties icon (next to the Route To field) if you want to configure a set of properties for the specified endpoint individually.
5. Click OK.
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 will use the Message Transmission Optimization Mechanism (MTOM) to parse SOAP requests to the API.
SwA
Mediator will use the SOAP with Attachment (SwA) technique to parse SOAP requests to the API.
None
Default. Mediator will 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 will be 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
Number. Optional. The time interval (in seconds) after which a connection attempt will timeout. If a value 0 is specified (or if the value is not specified), Mediator will use the value specified in the Connection Timeout field (in the Integration Server Administrator, go to Settings > Extended). Default: 30 seconds.
Read Timeout
Number. Optional. The time interval (in seconds) after which a socket read attempt will timeout. If a value 0 is specified (or if the value is not specified), Mediator will use the value specified in the Read Timeout field (in the Integration Server Administrator, go to > Settings > Extended.). Default: 30 seconds.
SSL Configuration
Optional. To enable SSL client authentication that Mediator will use 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 will occur.
Note:  
SSL client authentication is optional; you may leave both fields blank.
Prerequisite: 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 will use these properties to specify the following fields:
Value
Description
Client Certificate Alias
Mandatory. The client's private key to be used for performing SSL client authentication.
IS Keystore Alias
Mandatory. The keystore alias of the instance of Integration Server on which Mediator is running. This value (along with the value of Client Certificate Alias) will be 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). Note that Mediator will 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/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).
Copyright © 2005-2015 Software AG, Darmstadt, Germany.

Product LogoContact Support   |   Community   |   Feedback