...
- Open a new terminal, and navigate to the
<ESB_HOME>/samples/axis2Client/
directory. The Stock Quote client application is stored in this directory. Execute the following command to send the request to the ESB.
Code Block ant stockquote -Dtrpurl=http://localhost:8280/services/point-to-point-proxy -Dsymbol=foo
The structure of the request should be as follows:
Code Block <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.samples" xmlns:xsd="http://services.samples/xsd"> <soapenv:Header /> <soapenv:Body> <ser:getQuote> <ser:request> <ser:symbol>foo</ser:symbol> </ser:request> </ser:getQuote> </soapenv:Body> </soapenv:Envelope>
Analyzing the output
Note that, out of all three instances of the Stock Quote
service (Axis2 server), only one server acquires the sent request at a given time.
Stock client response:
Standard :: Stock price = $81.06211284751495
...
When you send the request, the ESB first receives the message and then routes it to the back-end service. Out of the three instances of the back-end service, only one service consumes this single message.
The following output will be printed on the console of the Axi2 server that received the message. This confirms that the request is successfully received by the back-end service.
Code Block |
---|
samples.services.SimpleStockQuoteService :: Generating quote for : foo |
The generated stock quote will then be sent to the client application (Stock Quote Client). The following output will be printed on the client application's console:
Code Block |
---|
Standard :: Stock price = $81.06211284751495 |
Info |
---|
If you try sending multiple requestsmessages, you will notice in the Console the ESB will route the messages to each of the back-end services in a Round Robin pattern. You can verify this by checking the console logs of each of the Axis2 server instances that the three of them are receiving the message one after another (i.e., in Round Robin pattern)servers. |