IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Building mediation flows > Mediation flows overview

Service message objects

A message is a communication sent from one application or service to another application or service. Messages in mediation flows are represented as service message objects (SMOs)

Service message objects are enhanced business objects that include the application data and header information related to the transport protocol used to invoke a service such as SOAP or JMS. A service message object is composed of a body that contains the application data (also known as the payload or operation message) in a business object, and headers containing additional context information.

You can use XPath 1.0 expressions to access elements in a message. The following picture represents a service message object:

  1. context: is the message context where information that is unrelated to the payload is stored. The context has these elements.

    correlation

    makes the property persist throughout the duration of the request and response flows, and is used for passing values from the request flow to the response flow.

    transient

    makes the property available for the duration of the current flow (either the request flow or the response flow), and is used to pass values between mediation primitives in the same flow.

    shared

    makes the property available during aggregation operations using the Fan Out / Fan In combination. It is not intended for general data storage.

    failInfo

    contains exception information about execution failure in a mediation primitive; it contains the message exception chain, and identifies the primitive where the failure occurred. This information is propagated to the fail terminal.

    primitiveContext

    contains context information for primitives.

    • EndpointLookupContext contains the result of a WebSphere Service Registry and Repository query.

      • endpointReference contains the information needed to access the service endpoint.
      • registryAnnotations contains information for the user-defined properties.

  2. headers contain header information associated with the message. These are the elements in the headers section:

    SMOHeader

    contains information that defines the message; such as the unique message id, message version and message type. An SMO header is always present in a service message object.

    • Target contains the dynamic endpoint used by the runtime if the Use dynamic endpoint property is set and there is a valid endpoint in the field.

      • address the address of the target.

    JMSHeader

    contains JMS headers, when a JMS import or export binding is used.

    SOAPHeader

    contains SOAP header information when a web services import or export binding is used.

    SOAPFaultInfo

    contains information about SOAP faults such as fault code and fault string

    Properties[]

    properties put in the message header by the application

    MQHeader

    contains WebSphere MQ header information, when an MQ binding is used.

    HTTPHeader

    contains HTTP Headers, when a HTTP import or export binding is used.

  3. body contains the application data in a business object. Application data is also known as the payload, or operation message type.
  4. attachments contains SOAP attachments of various types. For more information , see SMO attachments.
In IBM Integration Designer, service message objects are used only within mediation flows. Other components consume and transmit business objects, which are transformed into service message objects when they enter a mediation flow component. On leaving the mediation flow component, the service message object is transformed back into business objects.

Mediation flows overview