This sample demonstrates the functionality of local (static) registry entries and the. It sends a message from a sample client to a back-end service through the ESB and shows how a static XML fragment could be made available to the ESB's local registry. It is assumed that the resources defined in the local registry are static (never changes over the lifetime of the configuration) and may be specified as a source URL, inline text or inline XML.
For a list of prerequisites, see the Prerequisites section in ESB Samples Setup.
Building the Sample
1. Start the ESB with sample 7 configuration using the instructions given in Starting Sample ESB Configurations.
2. A message should appear in the command or text Linux console stating the server started successfully.
3. The synapse configuration in the ESB used for message mediation in this sample is provided in
synapse_sample_7.xml as shown below:
4. Deploy the back-end service 'SimpleStockQuoteService' and start the Axis2 server using the instructions given in section Starting Sample Back-End Services.
5. Now you have a running ESB instance and a back-end service deployed. In the next section, we will send a message to the back-end service through the ESB using a sample client.
Executing the Sample
The sample client used here is 'Stock Quote Client' which can operate in several modes. For instructions on this sample client and its operation modes, refer to Stock Quote Client
1. According to
synapse_sample_7.xml specified above, the schema is made available under the "validate_schema" key. The Validate Mediator by default operates on the first child element of the SOAP body. You may specify an XPath expression using the
source attribute to override this behavior. The Validate Mediator now uses the "validate_schema" resource to validate the incoming message. If the message validation fails, it invokes the "on-fail" sequence of mediators.
2. Run the following ant command from
3. The schema validation fails and a fault is generated back with the message "Invalid custom quote request". This is because the schema used in the example expects a slightly different message than what is created by the stock quote client. The schema used in the example expects a
stocksymbol element instead of "symbol" to specify the stock symbol.