This documentation is for WSO2 Enterprise Service Bus version 4.7.0 . View documentation for the latest release.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Objective: Demonstrate the use of WSDL endpoints

Code Block
languagehtml/xml
linenumberstrue
<definitions xmlns="http://ws.apache.org/ns/synapse">
    <sequence name="main">
        <in>
            <send>
                <!-- get epr from the given wsdl -->
                <endpoint>
                    <wsdl uri="file:repository/samples/resources/proxy/sample_proxy_1.wsdl" 
						  service="SimpleStockQuoteService" port="SimpleStockQuoteServiceSOAP11port_http"/>
                </endpoint>
            </send>
        </in>
        <out>
            <send/>
        </out>
    </sequence>
</definitions>

Prerequisites:

  • Start the Synapse configuration numbered 56: i.e. wso2esb-samples.sh -sn 56
  • Deploy the SimpleStockQuoteService and start the sample Axis2 server.

This sample uses a WSDL endpoint inside the send mediator. WSDL endpoints can extract endpoint's address from the given WSDL. As WSDL documents can have many services and many ports inside each service, the service and port of the required endpoint has to be specified. As with address endpoints, QoS parameters for the endpoint can be specified inline in the configuration. An excerpt taken from the sample_proxy_1.wsdl containing the specified service and port is listed below.

Code Block
languagehtml/xml
<wsdl:service name="SimpleStockQuoteService">
    <wsdl:port name="SimpleStockQuoteServiceSOAP11port_http"
               binding="axis2:SimpleStockQuoteServiceSOAP11Binding">
        <soap:address location="http://localhost:9000/services/SimpleStockQuoteService"/>
    </wsdl:port>
    <wsdl:port name="SimpleStockQuoteServiceSOAP12port_http"
               binding="axis2:SimpleStockQuoteServiceSOAP12Binding">
        <soap12:address location="http://localhost:9000/services/SimpleStockQuoteService"/>
    </wsdl:port>
</wsdl:service>

Specified service and port refers to the endpoint address http://localhost:9000/services/SimpleStockQuoteService according to the above WSDL. Now run the client using the following command.

Code Block
languagebash
ant stockquote -Dsymbol=IBM -Dmode=quote -Daddurl=http://localhost:8280
Excerpt
hiddentrue

Sample on WSDL Endpoint