Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


Messages flow through the components as follows:

  1. HttpClient, a java Java stand-alone program, connects to http://localhost:8912 through the URLConnection class. HttpClient sends the file "request.xml" to this port.
  2. httpReceiver, an HTTP server, being a listener on http://localhost:8912 receives the message.
  3. httpReceiver sends the message to stockQuote as specified in its destinationService property, via NMR.
  4. stockQuote sends the message into another service, soapEndpoint for processing.
  5. soapEndpoint sends the response to stockQuote.
  6. stockQuote sends the response to httpReceiver via NMR.
  7. httpReceiver sends the response to http://localhost:8912.
  8. HttpClient reads the response.
  9. The response is printed on the console.

...

Component or Bean ID

Description

jbi

jbi is the "id" of the JBI container and provides the basic infrastructure services for the following components:
httpReceiver and stockQuote. During initialization, several singletons are instantiated: URLEndpoint and jbi.
After initialization, the components in the jbi container are activated.

httpReceiver

This component is an HTTP server that listens at

http://localhost/8912

. It forwards the message it receives from this URL to stockQuote as specified in its destinationService property in the servicemix.xml file.

stockQuote

This is a SaajBinding component that invokes an endpoint service called soapEndpoint. It is implemented by the SaajBinding class which converts an inbound JBI message into a SAAJ (Soap With Attachments for Java) request-response and sends the response back to httpReceiver. This provides a message centric way of invoking SOAP services inside providers such as Apache Axis

soapEndpoint

A URLEndpoint object contains a URL, which is used to make connections to the remote party. A stand-alone client can pass a URLEndpoint object to the SOAPConnection method call to send a message.

...

  1. HttpConnector sends messages to this component as specified on its destinationService property. When this component receives a message, its onMessageExchange() method is called by the continercontainer. The onMessageExchange() method will:
    A. Creates Create a SOAPConnection to be used in sending the message to URLEndpoint.
    B. The JBI inbound message is marshalled into a SOAPMessage before it is send to URLEndpoint, as specified in the soapEndpoint property of stockQuote. A response is also requested from URLEndpoint.
    C. The response, which is a SOAPMessage, is marshalled into Normalized Message and is eventually send to HttpConnector.

...