This documentation is for WSO2 ESB version 4.5.1. View documentation for the latest release.

Sample 50: POX to SOAP conversion

Objective: POX to SOAP conversion

<definitions xmlns="http://ws.apache.org/ns/synapse">
    <sequence name="main">
        <!-- filtering of messages with XPath and regex matches -->
        <filter source="get-property('To')" regex=".*/StockQuote.*">
            <send>
                <endpoint>
                    <address uri="http://localhost:9000/services/SimpleStockQuoteService" format="soap11"/>
                </endpoint>
            </send>
            <drop/>
        </filter>
        <send/>
    </sequence>
</definitions>

Prerequisites:

  • Start the Synapse configuration numbered 50: i.e. wso2esb-samples.sh -sn 50
  • Start the Axis2 server and deploy the SimpleStockQuoteService if not already done.

Execute the 'ant stockquote' specifying that the request should be a REST request as follows:

ant stockquote -Dtrpurl=http://localhost:8280/services/StockQuote -Drest=true

This example shows a http REST request (as shown below) being transformed into a SOAP request and forwarded to the stock quote service.

POST /services/StockQuote HTTP/1.1
Content-Type: application/xml; charset=UTF-8;action="urn:getQuote";
SOAPAction: urn:getQuote
User-Agent: Axis2
Host: 127.0.0.1
Transfer-Encoding: chunked

75
<m0:getQuote xmlns:m0="http://services.samples/xsd">
   <m0:request>
      <m0:symbol>IBM</m0:symbol>
   </m0:request>
</m0:getQuote>0