The URLRewrite Mediator is used to modify and transform the URL values available in messages. This can be done by defining a rewrite action for each fragment of a selected property value. Alternatively, you can rewrite the entire URL string at once.
The URLRewrite mediator is a content aware mediator.
<rewrite [inProperty="string"] [outProperty="string"]> <rewriterule> <condition> ... </condition>? <action [type="append|prepend|replace|remove|set"] [value="string"] [xpath="xpath"] [fragment="protocol|host|port|path|query|ref|user|full"] [regex="regex"]>+ </rewriterule>+ </rewrite>
The parameters available to configure the URL Rewrite mediator are as follows.
|In Property||This parameter is used to enter property of which the value should be considered the input URL. The rewrite rules are applied to the value of the property entered in this parameter to generate the result URL. If no property is entered, the rewrite rules will be applied to the
|This parameter is used to enter the property to which the transformations done via the rewrite rules should be applied. If no property is entered, the transformations will be applied to the
The Rewrite mediator applies the URL transformations by evaluating a set of rules on the message. To add a rule to the mediator, click Add Rule . The rewrite rule will be added to the mediator tree as a child of the URLRewrite mediator.
URLRewriteRule in the mediator to configure the
rewrite rule you added.
A rule can consist of one or more rewrite actions and an optional
condition. The Condition parameter is used to enter the optional
condition. If a condition is specified, it will be evaluated before the
rewrite actions, and the rewrite actions will be executed only if the
condition evaluates to
The parameters available to configure a rewrite action are as follows.
This parameter is used to specify the action to be performed by the rewrite action. Each rewrite action is performed on a fragment entered in the Fragment parameter. Possible values are as follows.
The fragment of the in property (i.e. input URL) for which the rewrite action should be performed. The available fragments are as follows.
This parameter is used to define the result value of the rewrite action. Select one of the following.
|Value/Expression||This parameter is used to enter the result value of the URLRewrite mediator as a static value or an expression, depending on what you selected for the Option parameter.|
|Namespace Editor||You can click this link to add namespaces when you are providing an expression. Then the Namespace Editor panel would appear where you can provide any number of namespace prefixes and URLs used in the XPath expression.|
|Regex||This parameter is used to specify which part of the in property value fragment should be replaced by the result value if you selected
|Delete||Click Delete in the relevant row to remove a rewrite action.|
In this example, the URLRewrite mediator has a rewrite action, which replaces the value
soap with value
services in the fragment
the input URL. Since no in property or an out property is specified,
To header of the request is both the input to
which the rewrite rule is applied and the target where the result URL is
set. This configuration is typically used when the address URL of a
request contains the context
soap which needs to be
converted since all the services are deployed under a context named
services in the Micro Integrator. Thus, the URL
is rewritten as
/StockQuoteProxy1 to ensure that the requests
are successfully delivered to the server.
<rewrite> <rewriterule> <action type="replace" regex="soap" value="services" fragment="path" /> </rewriterule> </rewrite>