MQMD SOAP settings
The IBM MQ SOAP sender and IBM MQ SOAP listener create a message descriptor ( MQMD ). The topic describes the fields you must set in the MQMD if you create your own SOAP sender or listener.
Purpose
The values set in the MQMD control the exchange of messages between the IBM MQ SOAP sender, the IBM MQ SOAP listener, and the SOAP client program. If you create your own SOAP sender or listener, follow the rules in Table 1.Description
Table 1 describes how the MQMD fields are set by the IBM MQ SOAP sender and IBM MQ SOAP listener. If you write your own sender or listener you must set these fields in accordance with the rules for exchanging messages. The IBM MQ SOAP listener conforms to typical IBM MQ message exchange protocols. If you write your own sender to work with the IBM MQ SOAP listeners, we can set different MQMD values. In Table 1, the values in the Setting column are organized as follows:
- Request, One way
- Sets made by IBM MQ SOAP sender.
- Response, Report
- Sets made by IBM MQ SOAP listener in response to IBM MQ SOAP sender request.
- ALL
- Sets made by both the IBM MQ SOAP sender and IBM MQ SOAP listener.
- Customized sender
- We can write your own sender. Typically, a customized sender overrides the standard report options.
Field name | Set | Values |
---|---|---|
StrucId |
|
'MD¬¬' 1 |
Version |
|
2 |
Report |
|
52428800 |
MsgType |
|
|
Expiry |
|
|
Feedback |
|
|
Encoding |
|
Depends on environment |
CodedCharSetId |
|
1208 |
Format |
|
|
Priority |
|
|
Persistence |
|
|
MsgId |
|
|
CorrelId |
|
|
BackoutCount |
|
0 |
ReplyToQ |
|
|
ReplyToQMgr |
|
Generated by the queue manager; see Reply-to queue and queue manager. |
UserIdentifier |
|
|
AccountingToken |
|
Set by the queue manager; see AccountingToken (MQBYTE32) |
ApplIdentityData |
|
Null string or blanks 2 |
PutApplType |
|
Value generated by queue manager; see PutApplType (MQLONG). |
PutApplName |
|
Value generated by queue manager; see PutApplName (MQCHAR28). |
PutDate |
|
Value generated by queue manager; see PutDate (MQCHAR8). |
PutTime |
|
Value generated by queue manager; see PutTime (MQCHAR8). |
ApplOriginData |
|
Null string or blanks 2 |
GroupId |
|
Nulls |
MsgSeqNumber |
|
Generated by the queue manager; see Physical order on a queue. |
Offset |
|
0 |
MsgFlags |
|
|
OriginalLength |
|
|
Notes:
|
Customized report options
We can write your own SOAP sender and use it with the supplied listeners. Typically you might write a sender to change the choice of report options. The IBM MQ SOAP listeners support most combinations of report options, as described in the following lists.- Report options supported by IBM MQ SOAP listeners:
- MQRO_EXCEPTION
- MQRO_EXCEPTION_WITH_DATA
- MQRO_EXCEPTION_WITH_FULL_DATA
- MQRO_DEAD_LETTER_Q
- MQRO_DISCARD_MSG
- MQRO_NONE
- MQRO_NEW_MSG_ID
- MQRO_PASS_MSG_ID
- MQRO_COPY_MSG_ID_TO_CORREL_ID
- MQRO_PASS_CORREL_ID
- Report options supported by the queue manager:
- MQRO_COA
- MQRO_COA_WITH_DATA
- MQRO_COA_WITH_FULL_DATA
- MQRO_COD
- MQRO_COD_WITH_DATA
- MQRO_COD_WITH_FULL_DATA
- MQRO_EXPIRATION
- MQRO_EXPIRATION_WITH_DATA
- MQRO_EXPIRATION_WITH_FULL_DATA
- The following report options are not supported by the IBM MQ SOAP listeners.
- MQRO_PAN
- MQRO_NAN
The behavior of IBM MQ SOAP listeners in response to combinations of MQRO_EXCEPTION_* and MQRO_DISCARD is described in Table 2.
The notation MQRO_EXCEPTION_* indicates the use of either MQRO_EXCEPTION, MQRO_EXCEPTION_WITH_DATA or MQRO_EXCEPTION_WITH_FULL_DATA.MQRO_DISCARD enabled | MQRO_DISCARD not enabled | |
---|---|---|
MQRO_EXCEPTION_* enabled | Default behavior. Report messages are automatically generated if necessary and the original request discarded. If a report message could not be returned to the response queue the report message is sent to the dead letter queue. | Report messages are automatically generated if necessary and the original message is sent to the dead letter queue. If the report message could not be returned to the response queue it is also be sent to the dead-letter queue. In this case there are therefore two dead letter queue entries for the failed request. |
MQRO_EXCEPTION_* not enabled | Report messages are not automatically generated when the incoming format is not recognized or the number of backout attempts is exceeded. The message is not sent to the dead letter queue. No notification is returned that the client can inspect, and the original request message is lost. | Report messages are not automatically generated when the incoming format is not recognized or the number of backout attempts is exceeded. The original request message is however written to the dead letter queue when a report would otherwise have been generated. |