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.