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/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Objective: POX to SOAP conversion

Following is the XML configuration for the sample:

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

Prerequisites:

  • Navigate to <ESB_HOME>/repository/samples, open synapse_sample_50.xml for editing, and replace the contents with the configuration above. (This step is required because of a bug in the sample that shipped with this release.) Save the file and close it.
  • Start the Synapse configuration numbered 50: 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 an 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
  • No labels