SMO structure
The service message object (SMO) structure starts with a root data object called ServiceMessageObject, which contains other data objects representing header, body, attachments, and context data.
Introduction
A schema declaration specifies
the overall structure of the SMO. The schema is generated by WebSphere® Integration Designer tools.
The following schema declaration shows you the SMO elements that can
be generated by IBM Integration
Designer.
Tip: The root ServiceMessageObject does not appear
in XPath expressions; it is represented by a forward slash (/).
SMO schema
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:mq="http://www.ibm.com/xmlns/prod/websphere/mq/sca/6.0.0"
xmlns:sdoXML="commonj.sdo/xml" xmlns:smo="http://www.ibm.com/websphere/sibx/smo/v6.0.1"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsa10="http://www.w3.org/2005/08/addressing"
xmlns:httpsca="http://www.ibm.com/xmlns/prod/websphere/http/sca/6.1.0"
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
targetNamespace="http://www.ibm.com/websphere/sibx/smo/v6.0.1"
ecore:nsPrefix="ServiceMessageObject"
ecore:package="com.ibm.ws.sibx.smobo">
<import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="./xml.xsd"/>
<import namespace="http://www.ibm.com/xmlns/prod/websphere/mq/sca/6.0.0"
schemaLocation="./wmqstructures.xsd"/>
<import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"
schemaLocation="./ws-addressing.xsd"/>
<import namespace="http://www.w3.org/2005/08/addressing"
schemaLocation="./ws-addr-10.xsd"/>
<import namespace="http://www.ibm.com/xmlns/prod/websphere/http/sca/6.1.0"
schemaLocation="./httpstructures.xsd"/>
<import namespace="http://www.w3.org/2003/05/soap-envelope"
schemaLocation="./soap-envelope.xsd"/>
<!-- Global element for SMO -->
<element name="smo" type="smo:ServiceMessageObject"/>
<!-- Type definition for SMO -->
<complexType name="ServiceMessageObject">
<sequence>
<!-- Top-level folders are always present, but may themselves be empty. -->
<element name="context" type="smo:ContextType"/>
<element name="headers" type="smo:HeadersType"/>
<!-- Body may be absent (null as seen through Java/SDO). -->
<element minOccurs="0" name="body" type="anyType"/>
<!-- List of attachments -->
<element name="attachments" type="smo:AttachmentType" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<!-- ContextType - container for the individual context elements. -->
<complexType name="ContextType">
<sequence>
<element minOccurs="0" name="correlation" type="anyType"/>
<element minOccurs="0" name="transient" type="anyType"/>
<element minOccurs="0" name="failInfo" type="smo:FailInfoType"/>
<element maxOccurs="1" minOccurs="0" name="primitiveContext" type="smo:PrimitiveContextType"/>
<element minOccurs="0" name="shared" type="anyType"/>
<element minOccurs="0" name="dynamicProperty" type="smo:DynamicPropertyContextType"/>
<element minOccurs="0" name="userContext" type="smo:UserContextType"/>
</sequence>
</complexType>
<complexType name="HeadersType">
<sequence>
<element minOccurs="0" name="SMOHeader" type="smo:SMOHeaderType"/>
<element minOccurs="0" name="JMSHeader" type="smo:JMSHeaderType"/>
<element maxOccurs="unbounded" minOccurs="0" name="SOAPHeader" type="smo:SOAPHeaderType"/>
<element minOccurs="0" name="SOAPFaultInfo" type="smo:SOAPFaultInfoType"/>
<element maxOccurs="unbounded" minOccurs="0" name="properties" type="smo:PropertyType"/>
<element minOccurs="0" name="MQHeader" type="smo:MQHeaderType"/>
<element minOccurs="0" name="HTTPHeader" type="smo:HTTPHeaderType"/>
<element minOccurs="0" name="EISHeader" type="smo:EISHeaderType"/>
<element minOccurs="0" name="WSAHeader" type="smo:WSAHeaderType"/>
</sequence>
</complexType>
<!-- AttachmentType - container for an individual attachment. -->
<complexType name="AttachmentType">
<sequence>
<element name="contentID" type="anyURI"/>
<element name="contentType" type="token"/>
<choice>
<element name="data" type="base64Binary"/>
<element name="bodyPath" type="string"/>
</choice>
</sequence>
</complexType>
<!-- EMF 2.0 generated MessageType as a string, rather than an enumeration,
EMF 2.2 generated it as an enumeration. For compatibility, the schema
has been changed to make it a string.
-->
<complexType name="SMOHeaderType">
<sequence>
<element minOccurs="1" name="MessageUUID" type="string"/>
<element minOccurs="1" name="Version" type="smo:VersionType"/>
<element minOccurs="0" name="MessageType" type="string"/>
<element minOccurs="0" name="Operation" type="string"/>
<element minOccurs="0" name="Action" type="string"/>
<element minOccurs="0" name="Target" type="smo:TargetAddressType"/>
<element maxOccurs="unbounded" minOccurs="0" name="AlternateTarget" type="smo:TargetAddressType"/>
<element minOccurs="0" name="SourceNode" type="string"/>
<element minOccurs="0" name="SourceBindingType" type="smo:BindingTypeType"/>
<element minOccurs="0" name="Interface" type="string"/>
</sequence>
</complexType>
<simpleType name="BindingTypeType">
<restriction base="string">
<enumeration value="NotSet"/>
<enumeration value="JMS"/>
<enumeration value="MQJMS"/>
<enumeration value="GenericJMS"/>
<enumeration value="MQ"/>
<enumeration value="WebService"/>
<enumeration value="HTTP"/>
<enumeration value="SCA"/>
<enumeration value="EIS"/>
<enumeration value="SLSB"/>
<enumeration value="WebServiceSOAP1.1"/>
<enumeration value="WebServiceSOAP1.2"/>
</restriction>
</simpleType>
<complexType name="SOAPFaultInfoType">
<sequence>
<element name="faultcode" type="QName"/>
<element name="faultstring" type="string"/>
<element minOccurs="0" name="faultactor" type="anyURI"/>
<element minOccurs="0" name="extendedFaultInfo" type="smo:FaultType"/>
</sequence>
</complexType>
<complexType name="FailInfoType">
<sequence>
<element name="failureString" type="string"/>
<element name="origin" type="string"/>
<element name="invocationPath">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="primitive" type="smo:PrimitiveType"/>
</sequence>
</complexType>
</element>
<element minOccurs="0" name="predecessor" type="smo:FailInfoType"/>
</sequence>
<attribute href="xml:lang"/>
</complexType>
<complexType name="PrimitiveType">
<attribute name="inTerminal" type="string" use="required"/>
<attribute name="name" type="string" use="required"/>
<attribute name="outTerminal" type="string"/>
</complexType>
<complexType name="PropertyType">
<sequence>
<element name="name" type="string"/>
<element name="value" type="anySimpleType"/>
<element minOccurs="0" name="type" type="string"/>
</sequence>
</complexType>
<complexType name="VersionType">
<sequence>
<element name="Version" type="integer"/>
<element name="Release" type="integer"/>
<element name="Modification" type="integer"/>
</sequence>
</complexType>
<complexType name="TargetAddressType">
<sequence>
<element name="address" type="anyURI"/>
</sequence>
<attribute name="import" type="string"/>
<attribute name="bindingType" type="smo:BindingTypeType"/>
<attribute name="repositoryMetadata" type="string"/>
</complexType>
<complexType name="JMSHeaderType">
<sequence>
<element minOccurs="0" name="JMSDestination" type="anyURI"/>
<element minOccurs="0" name="JMSDeliveryMode" type="smo:persistenceType"/>
<element minOccurs="0" name="JMSMessageID" type="string"/>
<element minOccurs="0" name="JMSTimestamp" type="long"/>
<element minOccurs="0" name="JMSCorrelationID" type="string"/>
<element minOccurs="0" name="JMSReplyTo" type="anyURI"/>
<element minOccurs="0" name="JMSRedelivered" type="boolean"/>
<element minOccurs="0" name="JMSType" type="string"/>
<element minOccurs="0" name="JMSExpiration" type="long"/>
<element minOccurs="0" name="JMSPriority" type="smo:priorityType"/>
</sequence>
</complexType>
<!-- SOAPHeader - the container for the individual SOAP headers -->
<complexType name="SOAPHeaderType">
<sequence>
<element name="nameSpace" type="anyURI"/>
<element name="name" type="NCName"/>
<element minOccurs="0" name="prefix" type="NCName"/>
<element name="value" type="anyType"/>
</sequence>
</complexType>
<!-- Types used in headers. -->
<simpleType name="priorityType">
<restriction base="integer">
<minInclusive value="0"/>
<maxInclusive value="9"/>
</restriction>
</simpleType>
<simpleType name="persistenceType">
<restriction base="string">
<enumeration value="NonPersistent"/>
<enumeration value="Persistent"/>
</restriction>
</simpleType>
<!-- MQ Header Type -->
<complexType name="MQHeaderType">
<sequence>
<element minOccurs="0" name="md" type="mq:MQMD"/>
<element minOccurs="0" name="control" type="mq:MQControl"/>
<element maxOccurs="unbounded" minOccurs="0" name="header" type="smo:MQChainedHeaderType"/>
</sequence>
</complexType>
<!-- MQ Chained Header Type -->
<complexType name="MQChainedHeaderType">
<complexContent>
<extension base="mq:MQControl">
<sequence>
<choice>
<element name="value" type="anyType"/>
<element name="opaque" type="mq:MQOpaqueHeader"/>
<element name="rfh" type="mq:MQRFH"/>
<element name="rfh2" type="mq:MQRFH2"/>
</choice>
</sequence>
</extension>
</complexContent>
</complexType>
<!-- UserContextType -->
<complexType name="UserContextType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="entries" type="smo:ComplexPropertyType"/>
</sequence>
</complexType>
<complexType name="ComplexPropertyType">
<sequence>
<element name="name" type="string"/>
<element name="value" type="anyType"/>
<element minOccurs="0" name="type" type="string"/>
</sequence>
</complexType>
<!-- PrimitiveContextType -->
<complexType name="PrimitiveContextType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="EndpointLookupContext" type="smo:EndpointLookupContextType"/>
<element maxOccurs="1" minOccurs="0" name="FanOutContext" type="smo:FanOutContextType"/>
<element maxOccurs="1" minOccurs="0" name="WTXContext" type="smo:WTXContextType"/>
</sequence>
</complexType>
<!-- Start of FaultType -->
<complexType name="FaultType" final="extension">
<sequence>
<element name="Code" type="soapenv:faultcode"/>
<element name="Reason" type="soapenv:faultreason"/>
<element minOccurs="0" name="Node" type="anyURI"/>
<element minOccurs="0" name="Role" type="anyURI"/>
</sequence>
</complexType>
<!-- End of FaultType -->
<!-- Start of DynamicPropertyContext and related types -->
<complexType name="DynamicPropertyContextType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="propertySets" type="smo:DynamicPropertySetType"/>
</sequence>
<attribute name="isPropagated" type="boolean" />
</complexType>
<!-- A dynamic property set holds dynamic properties. -->
<complexType name="DynamicPropertySetType">
<sequence>
<element minOccurs="1" name="group" type="string" />
<element maxOccurs="unbounded" minOccurs="0" name="properties" type="smo:PropertyType"/>
</sequence>
</complexType>
<!-- End of DynamicPropertyContext and related types -->
<!-- start of EndpointLookupContextType and related types -->
<complexType name="EndpointLookupContextType">
<sequence>
<element maxOccurs="1" minOccurs="1" name="endpointReference" type="wsa:EndpointReferenceType"/>
<element maxOccurs="1" minOccurs="0" name="registryAnnotations" type="smo:RegistryAnnotationsType"/>
</sequence>
</complexType>
<complexType name="RegistryAnnotationsType">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="property" type="smo:RegistryPropertyType"/>
<element maxOccurs="unbounded" minOccurs="0" name="classification" type="anyURI"/>
<element maxOccurs="unbounded" minOccurs="0" name="relationship" type="smo:RegistryRelationshipType"/>
</sequence>
</complexType>
<complexType name="RegistryPropertyType">
<sequence>
<element maxOccurs="1" minOccurs="1" name="name" type="string"/>
<element maxOccurs="1" minOccurs="0" name="value" type="string"/>
</sequence>
</complexType>
<complexType name="RegistryRelationshipType">
<sequence>
<element maxOccurs="1" minOccurs="1" name="relationshipName" type="string"/>
<element maxOccurs="1" minOccurs="0" name="targetName" type="string"/>
<element maxOccurs="1" minOccurs="0" name="targetNamespace" type="anyURI"/>
<element maxOccurs="1" minOccurs="0" name="targetVersion" type="string"/>
</sequence>
</complexType>
<!-- end of EndpointLookupContextType and related types -->
<!-- start of FanOutContextType -->
<complexType name="FanOutContextType">
<sequence>
<element maxOccurs="1" minOccurs="0" name="iteration" type="integer"/>
<element maxOccurs="1" minOccurs="0" name="occurrence" type="anyType"/>
</sequence>
</complexType>
<!-- end of FanOutContextType -->
<!-- start of WTXContextType and related types -->
<complexType name="WTXContextType">
<sequence>
<element maxOccurs="1" minOccurs="0" name="mapServerLocation" type="anyURI"/>
<element maxOccurs="1" minOccurs="0" name="dynamicMap" type="hexBinary"/>
<element maxOccurs="unbounded" minOccurs="0" name="mapInstances" type="smo:WTXMapInstanceType"/>
</sequence>
</complexType>
<complexType name="WTXMapInstanceType">
<sequence>
<element maxOccurs="1" minOccurs="1" name="mapInstance" type="integer"/>
<element maxOccurs="1" minOccurs="1" name="auditInfo" type="string"/>
</sequence>
</complexType>
<!-- end of WTXContextType and related types -->
<!-- start of HTTPHeaderType -->
<complexType name="HTTPHeaderType">
<sequence>
<element name="control" minOccurs="0" type="httpsca:HTTPControl"/>
<element name="header" minOccurs="0" maxOccurs="unbounded" type="httpsca:HTTPHeader"/>
</sequence>
</complexType>
<!-- end of HTTPHeaderType -->
<!-- start of EISHeaderType -->
<complexType name="EISHeaderType">
<sequence>
<element minOccurs="0" name="EISInteractionSpec" type="anyType"/>
<element minOccurs="0" name="EISConnectionSpec" type="anyType"/>
</sequence>
</complexType>
<!-- end of EISHeaderType -->
<!-- start of WSAHeaderType -->
<complexType name="WSAHeaderType">
<sequence>
<element minOccurs="0" href="wsa10:To"></element>
<element minOccurs="0" name="ReferenceParameters" type="wsa10:ReferenceParametersType"/>
<element minOccurs="0" href="wsa10:From"></element>
<element minOccurs="0" href="wsa10:ReplyTo"></element>
<element minOccurs="0" href="wsa10:FaultTo"></element>
<element minOccurs="0" href="wsa10:Action"></element>
<element minOccurs="0" href="wsa10:MessageID"></element>
<element minOccurs="0" maxOccurs="unbounded" href="wsa10:RelatesTo"/>
</sequence>
<attribute name="version" type="smo:WSASchemaType" use="optional"/>
</complexType>
<simpleType name="WSASchemaType">
<restriction base="string">
<enumeration value="http://www.w3.org/2005/08/addressing"/>
<enumeration value="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
</restriction>
</simpleType>
<!-- end of WSAHeaderType -->
</schema>
Notes:
- In an instance of an SMO, the anyType field acts as a placeholder where a more complex structure can be substituted.
- In an instance of an SMO, the value in an anySimpleType field can be any of the Java™ simple types. For example: short, int, long, double, String or boolean.
- In an instance of an SMO, the FailInfoType contains an attribute whose value is a language code.
Schema field descriptions
- ServiceMessageObject
- The root data object.
- context
- Contextual information that can be shared between mediation primitives,
but that is not directly derived from the message payload or headers.
- correlation
- The correlation context allows data that is not part of the message payload to be passed between mediation primitives. The correlation context can link a specific request message with its response;
- transient
- The transient context allows data that is not part of the message payload to be passed between mediation primitives. The transient context is restricted to a single message flow, and cannot link requests and responses.
- failInfo
- Exception information, for use when a fail terminal is wired.
- failureString
- The cause of the failure.
- origin
- The name of the failing mediation primitive.
- invocationPath
- A list of fields of type PrimitiveType.
- inTerminal
- The name of an input terminal.
- name
- The name of a mediation primitive.
- outTerminal
- The name of an output terminal. The failing mediation primitive does not name an output terminal because failures occur before using the output terminal.
- predecessor
- Another instance of the FailInfoType.
- primitiveContext
- Context information relating to the primitive.
- EndpointLookupContext
- Information resulting from a WebSphere Service
Registry and Repository query.
- endpointReference
- Information needed to address the web service endpoint.
- registryAnnotations
- User-defined metadata.
- property
- A user-defined property.
- name
- The name of the user-defined property.
- value
- The value assigned to the user-defined property.
- classification
- A user-defined classification.
- relationship
- A user-defined relationship.
- relationshipName
- The name of the relationship.
- targetName
- The name of the object that is the target of the relationship.
- targetNameSpace
- The name space in which the name of the target object occurs.
- targetVersion
- The version of the target object.
- FanOutContext
- Context information used by the Fan Out mediation primitive when
it is in iterate mode.
- iteration
- The number of the iteration.
- occurrence
- Holds one occurrence of a repeating message element.
- WTXContext
- Context information used by the WTX Map mediation primitive. Note: The WTX Map mediation primitive is not part of the base IBM Integration Designer installation. For further information, see the WebSphere Transformation Extender documentation.
- mapServerLocation
- dynamicMap
- mapInstances
- mapInstance
- auditInfo
- shared
- Allows data that is not part of the message payload to be passed between mediation primitives. The shared context is a global storage area for data aggregation. The content of the shared context does not persist across a request and response flow, through callout invocation.
- dynamicProperty
- Mediation policy information that has been retrieved from the
registry. You can use a mediation policy to override mediation primitive
properties, if the properties are promoted. Each property you override
belongs to a group, and has a name and value.
- propertySets
- Sets of properties.
- group
- The group to which the properties belong.
- properties
- The mediation primitive properties to override.
- name
- The alias name of the mediation primitive property.
- value
- The value assigned to the mediation primitive property.
- type
- The type of the mediation primitive property.
- isPropagated
- A value specifying whether the dynamicProperty information is propagated to the response flow. If true, the dynamicProperty information is propagated to the response flow. This field can be set using the Policy Resolution mediation primitive property: Propagate to response flow.
- userContext
- Context information that allows data that is not part of the message
payload, to be passed between SCA components in the same module.
- entries
- The data to pass between SCA components. The entries are populated
using the context service API. They can be accessed using the context
service API, or accessed from the SMO.
- name
- The name of a property. This is user-defined.
- value
- The value assigned to the property. The value can be a simple type or a complex type (BO).
- type
- The type of the property.
- headers
- Header information associated with the message.
- SMOHeader
- Models generic header fields.
- MessageUUID
- The Universally Unique IDentifier (UUID) of the message. The UUID is a message tag that enables a specific message to be referred to unambiguously.
- Version
- Version information relating to this message.
- Version
- The version number.
- Release
- The release number.
- Modification
- The modification number.
- MessageType
- The type of message, for example, a request or response.
- Operation
- The interface operation that is being requested. All requests and replies have an operation.
- Action
- The web service action that is being requested. Only web service requests and replies have an action, and the value of the action is either SOAPAction or WS-Action.
- Target
- The dynamic endpoint. The Target element is used by the runtime
environment if the Use dynamic endpoint if set in the message
header property is set, and there is a valid endpoint or
import specified in the element.
- address
- The address (URI) of the target.
- import
- The import name to invoke.
- bindingType
- The bindingType of the import. This field has a limited number of values, listed in the BindingTypeType element of the schema.
- repositoryMetadata
- Holds a BSR URI (a unique identifier) for the target endpoint. Note: You should not update this field.
- AlternateTarget
- Can contain a list of alternate service addresses.
- address
- The address (URI) of the target.
- import
- The import name to invoke.
- bindingType
- The bindingType of the import. This field has a limited number of values, listed in the BindingTypeType element of the schema.
- repositoryMetadata
- Holds a BSR URI (a unique identifier) for the target endpoint. Note: You should not update this field.
- SourceNode
- For a request flow, the name of the export that received the message. For a response flow, the name of the import that received the response.
- SourceBindingType
- For a request flow, the binding type of the export. For a response flow, the binding type of the import. Has a limited number of values, listed in the BindingTypeType element of the schema.
- Interface
- The name of the interface, on the export or import.
- JMSHeader
- Models JMS header fields. For more information, refer to the JMS
specification.
- JMSDestination
- The JMSDestination header field. The destination to which the message is being sent.
- JMSDeliveryMode
- The JMSDeliveryMode header field. The delivery mode, which can be persistent or not.
- JMSMessageID
- The JMSMessageID header field. The message id uniquely identifies each message sent by a provider.
- JMSTimestamp
- The JMSTimestamp header field. The timestamp relates to the time a message was given to a provider.
- JMSCorrelationID
- The JMSCorrelationID header field. The correlation id is used for linking one message with another.
- JMSReplyTo
- The JMSReplyTo header field. The destination to which a reply, to this message, should be sent.
- JMSRedelivered
- The JMSRedelivered header field. If the field is set to true, the message might have been delivered in the past.
- JMSType
- The JMSType header field. A message type identifier supplied by a client when it sends a message.
- JMSExpiration
- The JMSExpiration header field. An expiration value.
- JMSPriority
- The JMSPriority header field. The priority of the message.
- SOAPHeader
- Models SOAP header fields.
- nameSpace
- The name space.
- name
- The name.
- prefix
- The prefix.
- value
- The value.
- SOAPFaultInfo
- Models SOAP fault information. When a SOAP fault occurs, you might
want to log the fault information or process it using another mediation
primitive.
- faultcode
- The SOAP fault code. Intended for use by software. This field is filled out for both SOAP 1.1 and SOAP 1.2.
- faultstring
- The SOAP fault string. A human-readable explanation of the fault. This field is filled out for both SOAP 1.1 and SOAP 1.2.
- faultactor
- The SOAP fault actor. Information about which SOAP node caused the fault. This field is filled out for both SOAP 1.1 and SOAP 1.2.
- extendedFaultInfo
- This field contains additional fault information for SOAP 1.2
only.
- Code
- Contains information from the SOAP 1.2 Code element.
- Reason
- Contains information from the SOAP 1.2 Reason element.
- Node
- Contains information from the SOAP 1.2 Node element.
- Role
- Contains information from the SOAP 1.2 Role element.
- properties
- Models a list of properties whose names are not fixed from one
message instance to the next.
- name
- The name of the property.
- value
- The value of the property.
- type
- The type of the property.
- MQHeader
- Models WebSphere MQ
message header information.
- md
- MQ message descriptor (MQMD), excluding message format information.
For more information, see: MQ header information in the SMO. For full
details, refer to WebSphere MQ
documentation.
- Report
- MsgType
- Expiry
- Feedback
- Priority
- Persistence
- MsgId
- CorrelId
- BackoutCount
- ReplyToQ
- ReplyToQMgr
- UserIdentifier
- AccountingToken
- ApplIdentityData
- PutApplType
- PutApplName
- PutDate
- PutTime
- ApplOriginData
- GroupId
- MsgSeqNumber
- Offset
- MsgFlags
- OriginalLength
- control
- Format and encoding information describing the message body.
- Encoding
- CodedCharSetId
- Control field that describes the character set identifier of character data in the message.
- Format
- header
- WebSphere MQ message
header.
- Encoding
- Control field that describes the encoding of the header.
- CodedCharSetId
- Control field that describes the character set identifier of character data in the header.
- Format
- Control field that describes the format.
- One of the following, mutually exclusive, elements:
- value
- An arbitrary DataObject representing the message header, usually requiring a user-provided MQ header data binding.
- opaque
- Represents an MQ header, of the standard structure, as opaque
binary data.
- StrucId
- Version
- Flags
- data
- rfh
- Represents an MQRFH version 1 header.
- Flags
- property
- name
- value
- rfh2
- Represents an MQRFH version 2 header (MQRFH2).
- Flags
- NameValueCCSID
- An MQLONG limited to the values: 1200, 1208, 13488, or 17584.
- folder
- Represents a folder in an MQRFH2 header.
- name
- group
- Represents a group.
- property
- A name-type-value triplet.
- name
- type
- A string, limited to the values: string, boolean, bin.hex, i1, i2, i4, i8, int, r4, or r8.
- value
- HTTPHeader
- Models HTTP header fields. Note: One of the HTTP header fields is reused in the context of the service gateway.For more information, see: SMO: HTTP schema.
- control
- Models HTTP header fields that are widely used in the context of service mediation. Most of these header fields are defined in the HTTP 1.1 specification.
- header
- Models any other HTTP header fields that are defined in the HTTP 1.1 specification.
- EISHeader
- Models enterprise information systems (EIS) header fields.
- WSAHeader
- Models Web Services Addressing (WS-Addressing) header fields. The WSAHeader field holds WS-Addressing header information from a received message (for use by the mediation flow); the values are not used when sending messages.
- body
- The body of the message.
- attachments
- Referenced or unreferenced attachments (for
example, a PDF file or a JPEG file) are carried in a MIME multipart
SOAP message.
- Referenced attachments, which are defined in a WSDL port type as parts in an input or output message and which have a binary type, do not have their data stored in the SMO; instead, the path to the message body element that holds the data is contained in the bodyPath element.
- Unreferenced attachments, which are not defined in a WSDL port type, have their data placed in the data element in the SMO, and have no bodyPath element.
Note: You can only send or receive SOAP attachments if the module binding is one of the following types:- Web service binding SOAP 1.1/HTTP using JAX-WS
- Web service binding SOAP 1.2/HTTP using JAX-WS
- SCA binding
- contentID
- Uniquely identifies the attachment in the message. Contains the value of the Content-ID header, of the MIME part.
- contentType
- Defines the type of data held by the attachment, for example, text/xml or image/gif. Contains the value of the Content-Type header, of the MIME part.
The following elements are mutually exclusive:
- data
- The attachment data.
This element is used by unreferenced attachments.
- bodyPath
- The path to the message body element where the
attachment is held.
This element is used by referenced attachments.