...
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Set up
Enabling mutual SSL in the blocking mode
When using the Call mediator in the blocking mode (blocking=true), enable the mediator to handle mutual SSL by adding the following JVM settings to the <ESB_HOME>/bin/wso2server.sh
file:
Code Block |
---|
-Djavax.net.ssl.keyStore="$CARBON_HOME/repository/resources/security/wso2carbon.jks" \
-Djavax.net.ssl.keyStorePassword="wso2carbon" \
-Djavax.net.ssl.keyPassword="wso2carbon" \ |
Syntax
Code Block | ||||
---|---|---|---|---|
| ||||
<call [blocking="true"] /> |
...
Select one of the following options to define the endpoint to which, the message should be delivered.
Parameter Name | Description | ||
---|---|---|---|
None | Select this option if you do not want to provide an endpoint. The Call mediator will send the message using its wsa:to address. | ||
Define Inline | If this is selected, the endpoint to which the message should be sent can be included within the Call mediator configuration. Click Add to add the required endpoint. For more information on Adding an endpoint, see Adding an Endpoint. | ||
Pick From Registry | If this is selected, the message can be sent to a pre-defined endpoint which is currently saved as a resource in the registry. Click either Configuration Registry or Governance Registry as relevant to select the required endpoint from the resource tree. | ||
XPath | If this is selected, the endpoint to which the message should be sent will be derived via an XPath expression. You are required to enter the relevant XPath expression in the text field that appears when this option is selected.
| ||
Blocking | If set to true , you can use the call mediator in blocking mode. |
...
Example
Example 1 - Service orchestration
...
Code Block | ||
---|---|---|
| ||
<target> <inSequence> <log/> <call> <endpoint> <http method="get" uri-template="http://192.168.1.10:8088/mockaxis2service"/> </endpoint> </call> <enrich> <source type="body" clone="true"/> <target type="property" action="child" property="body_of_first_call"/> </enrich> <filter source="get-property('axis2', 'HTTP_SC')" regex="200"> <then> <log level="custom"> <property name="switchlog" value="Case: first call successful"/> </log> <call> <endpoint> <http method="get" uri-template="http://localhost:8080/MockService1"/> </endpoint> </call> <filter source="get-property('axis2', 'HTTP_SC')" regex="200"> <then> <log level="custom"> <property name="switchlog" value="Case: second call successful"/> </log> <enrich> <source type="property" clone="true" property="body_of_first_call"/> <target type="body"/> </enrich> <respond/> </then> <else> <log level="custom"> <property name="switchlog" value="Case: second call unsuccessful"/> </log> <property name="HTTP_SC" value="500" scope="axis2"/> <payloadFactory media-type="json"> <format>{ "status": "ERROR!"}</format> <args/> </payloadFactory> <respond/> </else> </filter> </then> <else> <log level="custom"> <property name="switchlog" value="Case: first call unsuccessful"/> </log> <respond/> </else> </filter> </inSequence> </target> |
...
Example 2 - Continuing mediation without waiting for responses
...