This topic applies only to the IBM Business Automation Workflow Advanced
configuration.

Service message objects

Draft comment:
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-03-13 12:15
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:

Picture of 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.
  • See "Building XPath expressions" in the topic "Building mediation flows" for an example of the relationship between a business object in an interface and an XPath 1.0 condition.