WebSphere Enterprise Service Bus, Version 6.0.1
Operating Systems: AIX, HP-UX, Linux, Solaris, Windows
SMO Structure
The service message object (SMO) structure starts with a root data
object called a ServiceMessageObject. The ServiceMessageObject.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 /
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
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 message's UUID (Universally Unique IDentifier). The UUID
is a message tag that enables a specific message to be unambiguously referred
to
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"
"Reply"
"Exception"
Operation
Description: the operation
Occurs: 0..1
Type: string
Action
Description: the action
Occurs: 0..1
Type: string
JMSHeader
Description: models JMS header fields
Occurs: 0..1
Type: JMSHeaderType, which consists of the following data fields:
JMSDestination
Description: the JMSDestination
Occurs: 1
Type: anyURI
JMSDeliveryMode
Description: the JMSDeliveryMode
Occurs: 1
Type: persistenceType
Type: string, restricted to the following:
"NonPersistent"
"Persistent"
JMSMessageID
Description: the JMSMessageID
Occurs: 1
Type: string
JMSTimestamp
Description: the JMSTimestamp
Occurs: 1
Type: long
JMSCorrelationID
Description: the JMSCorrelationID. This is used for linking one message
with another
Occurs: 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: 1
Type: boolean
JMSType
Description: the JMSType
Occurs: 0..1
Type: string
JMSExpiration
Description: the JMSExpiration
Occurs: 1
Type: long
JMSPriority
Description: the JMSPriority
Occurs: 1
Type: priorityType
Type: integer, restricted to the following:
0-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: 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
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.