WebSphere WebSphere Enterprise Service Bus, Version 6.0.2 Operating Systems:

SMO Structure

The service message object (SMO) structure starts with a root data object called a ServiceMessageObject, which in turn contains other data objects representing header, body and context data.

Introduction

There is a schema declaration that specifies the overall structure of the SMO. The schema is generated by the WebSphere Integration Developer tooling.
Note: The root ServiceMessageObject does not appear in XPath expressions: it is represented by a forward slash (/).

SMO Structure

ServiceMessageObject
  • Description: root data object
  • Occurs: 1
  • Type: ServiceMessageObject, which consists of the following data fields:
    context
    • Description: data other than the message payload
    • Occurs: 1
    • Type: ContextType, which consists of the following data fields:
      correlation
      • Description: allows data that is not part of the message payload to be passed between mediation primitives. Correlation context can link a specific request message with its response.
      • Occurs: 0..1
      • Type: anyType
      transient
      • Description: allows data that is not part of the message payload to be passed between mediation primitives. Transient context is restricted to a single message flow, and cannot link requests and responses.
      • Occurs: 0..1
      • Type: anyType
      failInfo
      • Description: represents exception information for use when a fail terminal is wired.
      • Occurs: 0..1
      • Type: FailInfoType, which consists of the following data fields:
        failureString
        • Description: indicates the cause of the failure
        • Occurs: 1
        • Type: string
        origin
        • Description: the name of the failing mediation primitive
        • Occurs: 1
        • Type: string
        invocationPath
        • Description: a list of PrimitiveTypes
        • Occurs: 1
        • Type: anonymous type containing 1..* PrimitiveTypes. The PrimitiveType consists of the following data fields:
          inTerminal
          • Description: the name of an input terminal
          • Occurs: 1
          • Type: string
          name
          • Description: the name of a mediation primitive
          • Occurs: 1
          • Type: string
          outTerminal
          • Description: the name of an output terminal. The failing mediation primitive does not name an output terminal because failures occur before using the output terminal
          • Occurs: 0..1
          • Type: string
        predecessor
        • Description: another instance of a FailInfoType
        • Occurs: 0..1
        • Type: FailInfoType
      primitiveContext
      • Description: used to store context information about the primitive.
      • Occurs: 0..1
      • Type: PrimitiveContextType, which consists of the following data field:
        EndpointLookupContext
        • Description: used to store the result of a WebSphere Service Registry and Repository query.
        • Occurs: 0..*
        • Type: EndpointLookupContextType, which consists of the following data fields:
          endpointReference
          • Description: conveys the information needed to address the Web service endpoint.
          • Occurs: 1
          • Type: EndpointReferenceType.
          registryAnnotations
          • Description: used to store user-defined metadata.
          • Occurs: 0..1
          • Type: RegistryAnnotationsType, which consists of the following data fields:
            property
            • Description: a user-defined property.
            • Occurs: 0..*
            • Type: RegistryPropertyType, which consists of the following data fields:
              name
              • Description: the name of the property.
              • Occurs: 1
              • Type: string
              value
              • Description: the value assigned to the property.
              • Occurs: 0..1
              • Type: string
            classification
            • Description: a user-defined classification.
            • Occurs: 0..*
            • Type: anyURI
            relationship
            • Description: a user-defined relationship.
            • Occurs: 0..*
            • Type: RegistryRelationshipType, which consists of the following fields:
              relationshipName
              • Description: the name of the relationship.
              • Occurs: 1
              • Type: string
              targetName
              • Description: the name of the object that is the target of the relationship.
              • Occurs: 0..1
              • Type: string
              targetNameSpace
              • Description: the name space in which the name of the target object occurs.
              • Occurs: 0..1
              • Type: anyURI
              targetVersion
              • Description: the version of the target object.
              • Occurs: 0..1
              • Type: string
    headers
    • Description: header information associated with the message
    • Occurs: 1
    • Type: HeadersType, which consists of the following data fields:
      SMOHeader
      • Description: models generic header fields
      • Occurs: 0..1
      • Type: SMOHeaderType, which consists of the following data fields:
      MessageUUID
      • Description: the Universally Unique IDentifier (UUID) of the message. The UUID is a message tag that enables a specific message to be referred to unambiguously.
      • Occurs: 1
      • Type: string
      Version
      • Description: version information relating to this message.
      • Occurs: 1
      • Type: VersionType, which consists of the following data fields:
        Version
        • Description: the version number
        • Occurs: 1
        • Type: integer
        Release
        • Description: the release number
        • Occurs: 1
        • Type: integer
        Modification
        • Description: the modification number
        • Occurs: 1
        • Type: integer
      MessageType
      • Description: the type of message. For example, a request or response
      • Occurs: 0..1
      • Type: messageTypeType
        • Type: string, restricted to the following:
          • "Request"
          • "Response"
          • "Exception"
      Operation
      • Description: the operation
      • Occurs: 0..1
      • Type: string
      Action
      • Description: the action
      • Occurs: 0..1
      • Type: string
      Target
      • Description: used to store the dynamic endpoint used by the runtime if the Use dynamic endpoint property is set and there is a valid endpoint in the field.
      • Occurs: 0..1
      • Type: TargetAddressType, which consists of the following data field:
        Address
        • Description: the address of the target.
        • Occurs: 0..1
        • Type: anyURI
      JMSHeader
      • Description: models JMS header fields
      • Occurs: 0..1
      • Type: JMSHeaderType, which consists of the following data fields:
        JMSDestination
        • Description: the JMSDestination
        • Occurs: 0..1
        • Type: anyURI
        JMSDeliveryMode
        • Description: the JMSDeliveryMode
        • Occurs: 0..1
        • Type: persistenceType
          • Type: string, restricted to the following:
            • "NonPersistent"
            • "Persistent"
        JMSMessageID
        • Description: the JMSMessageID
        • Occurs: 0..1
        • Type: string
        JMSTimestamp
        • Description: the JMSTimestamp
        • Occurs: 0..1
        • Type: long
        JMSCorrelationID
        • Description: the JMSCorrelationID. This is used for linking one message with another
        • Occurs: 0..1
        • Type: string
        JMSReplyTo
        • Description: the JMSReplyTo information. Indicates where a reply to this message should be sent
        • Occurs: 0..1
        • Type: anyURI
        JMSRedelivered
        • Description: the JMSRedelivered information
        • Occurs: 0..1
        • Type: boolean
        JMSType
        • Description: the JMSType
        • Occurs: 0..1
        • Type: string
        JMSExpiration
        • Description: the JMSExpiration
        • Occurs: 0..1
        • Type: long
        JMSPriority
        • Description: the JMSPriority
        • Occurs: 0..1
        • Type: priorityType
          • Type: integer, restricted to 0 through 9.
      SOAPHeader
      • Description: models SOAP header fields.
      • Occurs: 0..*
      • Type: SOAPHeaderType, which consists of the following data fields:
        nameSpace
        • Description: the nameSpace
        • Occurs: 1
        • Type: anyURI
        name
        • Description: the name
        • Occurs: 1
        • Type: NCName
        prefix
        • Description: the prefix
        • Occurs: 0..1
        • Type: NCName
        value
        • Description: the value
        • Occurs: 1
        • Type: anyType
      SOAPFaultInfo
      • Description: models SOAP fault information
      • Occurs: 0..1
      • Type: SOAPFaultInfoType, which consists of the following data fields:
        faultcode
        • Description: the fault code
        • Occurs: 1
        • Type: QName
        faultstring
        • Description: the fault string
        • Occurs: 1
        • Type: string
        faultactor
        • Description: the fault actor
        • Occurs: 0..1
        • Type: anyURI
      properties
      • Description: models a list of properties whose names are not fixed from one message instance to the next
      • Occurs: 0..*
      • Type: PropertyType, which consists of the following data fields:
        name
        • Description: the name of the property
        • Occurs: 1
        • Type: string
        value
        • Description: the value of the property.
        • Occurs: 1
        • Type: anySimpleType
        type
        • Description: the type of the property.
        • Occurs: 0..1
        • Type: string
      MQHeader
      • Description: models WebSphere MQ message header information.
      • Occurs: 0..1
      • Type: MQHeaderType, which consists of the following data fields:
        md
        • Description: MQ message descriptor (MQMD), excluding message format information. For full details, refer to WebSphere MQ documentation.
        • Occurs: 0..1
        • Type: MQMD, which consists of the following data fields:
          Report
          • Occurs: 0..1
          • Type: MQLONG
          MsgType
          • Occurs: 0..1
          • Type: MQLONG
          Expiry
          • Occurs: 0..1
          • Type: MQLONG
          Feedback
          • Occurs: 0..1
          • Type: MQLONG
          Priority
          • Occurs: 0..1
          • Type: MQLONG
          Persistence
          • Occurs: 0..1
          • Type: MQLONG
          MsgId
          • Occurs: 0..1
          • Type: MQBYTE24
          CorrelId
          • Occurs: 0..1
          • Type: MQBYTE24
          BackoutCount
          • Occurs: 0..1
          • Type: MQLONG
          ReplyToQ
          • Occurs: 0..1
          • Type: MQCHAR48
          ReplyToQMgr
          • Occurs: 0..1
          • Type: MQCHAR48
          UserIdentifier
          • Occurs: 0..1
          • Type: MQCHAR12
          AccountingToken
          • Occurs: 0..1
          • Type: MQBYTE32
          ApplIdentityData
          • Occurs: 0..1
          • Type: MQCHAR32
          PutApplType
          • Occurs: 0..1
          • Type: MQLONG
          PutApplName
          • Occurs: 0..1
          • Type: MQCHAR28
          PutDate
          • Occurs: 0..1
          • Type: MQCHAR8
          PutTime
          • Occurs: 0..1
          • Type: MQCHAR8
          ApplOriginData
          • Occurs: 0..1
          • Type: MQCHAR4
          GroupId
          • Occurs: 0..1
          • Type: MQBYTE24
          MsgSeqNumber
          • Occurs: 0..1
          • Type: MQLONG
          Offset
          • Occurs: 0..1
          • Type: MQLONG
          MsgFlags
          • Occurs: 0..1
          • Type: MQLONG
          OriginalLength
          • Occurs: 0..1
          • Type: MQLONG
        control
        • Description: Format and encoding information describing the message body.
        • Occurs: 0..1
        • Type: MQControl, which consists of the following data fields:
          Encoding
          • Occurs: 0..1
          • Type: MQLONG
          CodedCharSetId
          • Occurs: 0..1
          • Type: MQLONG
          Format
          • Occurs: 0..1
          • Type: MQLONG
        header
        • Description: WebSphere MQ message header.
        • Occurs: 0..*
        • Type: MQChainedHeaderType, which contains the following fields:
          Encoding
          • Description: control field that describes the encoding of the header.
          • Occurs: 0..1
          • Type: MQLONG
          CodedCharSetId
          • Description: control field that describes the encoding of the header.
          • Occurs: 0..1
          • Type: MQLONG
          Format
          • Description: control field that describes the format of the header.
          • Occurs: 0..1
          • Type: MQCHAR8
          One of the following four mutually exclusive elements:
          value
          • Description: contains an arbitrary DataObject representing the message header, usually requiring a user-provided MQ header data binding.
          • Type: anyType
          opaque
          • Description: represents an MQ header of the standard structure, as opaque binary data.
          • Type: MQOpaqueHeader, which contains the following fields:
            StrucId
            • Occurs: 0..1
            • Type: MQCHAR4
            Version
            • Occurs: 0..1
            • Type: MQLONG
            Flags
            • Occurs: 0..1
            • Type: MQLONG
            data
            • Occurs: 0..1
            • Type: hexBinary
          rfh
          • Description: Represents an MQ RFH (version 1) header.
          • Type: MQRFH, which contains the following fields:
            Flags
            • Occurs: 0..1
            • Type: MQLONG
            property
            • Occurs: 0..*
            • Type: contains the following fields:
              name
              • Occurs: 1
              • Type: string
              value
              • Occurs: 1
              • Type: string
          rfh2
          • Description: represents an MQ RFH (version 2) header.
          • Type: MQRFH2, which contains the following fields:
            Flags
            • Occurs: 0..1
            • Type: MQLONG
            NameValueCCSID
            • Occurs: 0..1
            • Type: MQLONG (limited to 1200, 1208, 13488, or 17584)
            folder
            • Description: represents a folder in an MQRFH version 2.
            • Occurs: 0..n
            • Type: MQRFH2Group, containing a name field and a sequence of group and property fields:
              name
              • Occurs: 1
              • Type: string
              group
              • Description: represents a group.
              • Occurs: 0..n
              • Type: MQRFH2Group (recursive)
              property
              • Description: a name-type-value triplet.
              • Occurs: 0..n
              • Type: contains the following fields:
                name
                • Occurs: 1
                • Type: NCName
                type
                • Occurs: 0..1
                • Type: string, limited to string, boolean, bin.hex, i1, i2, i4, i8, int, r4, or r8.
                value
                • Occurs: 1
                • Type: NCName
    body
    • Description: contains the message payload (the application data exchanged between service endpoints).
    • Occurs: 0..1
    • Type: anyType
Note:
  • anySimpleType: in an instance of SMO, the value in this field can be any of the Java simple types such as short, int, long, double, String and boolean.
  • anyType: in an instance of SMO, this field acts as a place where a more complex structure can be substituted.
  • FailInfoType: contains an attribute whose value is a language code.

Reference topic

Terms of Use | Rate this page

Timestamp iconLast updated: 29 Oct 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.wbit.help.medprim602.doc\ref\rwesb_SMOStructure.html

(C) Copyright IBM Corporation 2005. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)