This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Sample 430: Callout Mediator for Synchronous Service Invocation

Objective: Demonstrate the use of the Callout mediator for synchronous web service invocations.

 

<definitions xmlns="http://ws.apache.org/ns/synapse">
	<sequence name="main">
		<!-- Simple callout  mediator -->
    	<callout serviceURL="http://localhost:9000/services/SimpleStockQuoteService"
             	action="urn:getQuote">
        	<source xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
                	xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
                	xpath="s11:Body/child::*[fn:position()=1] | s12:Body/child::*[fn:position()=1]"/>
        	<target xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
                	xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
                	xpath="s11:Body/child::*[fn:position()=1] | s12:Body/child::*[fn:position()=1]"/>
    	</callout>
    	<property name="RESPONSE" value="true"/>
    	<header name="To" action="remove"/>
    	<send/>
    	<drop/>
	</sequence>
</definitions> 

Prerequisites:

  • Deploy the SimpleStockQuoteService in sample Axis2 server and start it on port 9000.
  • Start Synapse with the sample configuration 430 (i.e. wso2esb-samples -sn 430).

In this sample, the Callout mediator does the direct service invocation to the StockQuoteService using the client request, gets the response, and sets the response as the first child of the SOAP message body. Then, using the Send mediator, the message is sent back to the client.

Invoke the client as follows.

ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dtrpurl=http://localhost:8280/