Configuring a Microsoft Message Queuing (MSMQ) Session and Transport

Use the Endpoint Wizard to configure an endpoint connection for an MSMQ session and transport. To access the Endpoint Wizard, from Endpoint Manager, right-click on an messaging type, select Add Endpoint, and select MSMQ Session or MSMQ Transport.

Note: MSMQ Session and Transport names should not contain spaces, rather, separate words with underscores.

You must configure an endpoint session before you configure the transport because the endpoint session provides information used by the transport. Session and transport keys are provided in the following tables. The third table, common transport keys, contains keys that are used by multiple messaging configurations.

Warning: Non-transactional transports do not allow for message rollback functionality so delivery is not guaranteed.  Non-transactional transports can be problematic because  the message is committed to the transport immediately after a get or put occurs.

MSMQ Session Keys

Rendezvous Certified sessions are configured to point to existing connection factories on a Rendezvous Certified provider.

Session Key

Description and Valid Values

Transaction Mode

Supported values for this property are:

NNMSMQ_1PC_TX_MODE - Specifies that all  messages sent and received using transport instances associated with this session are under single-phase transactional control. When operating in this mode, the MSMQ session calls MQBeginTransaction to obtain a transaction handle. This mode is the default mode of operation for the session.

MQ_NO_TRANSACTION - Specifies that the session is not transactional. All messages sent and received using transport instances associated with this session are not transactionally bound.

MQ_SINGLE_MESSAGE - Specifies that all send and receive messages associated with this session are sent in a single-message mode.

MQ_MTS_TRANSACTION - Specifies that all send and receive messages associated with this session are bound to the existing MTS transaction.

MQ_XA_TRANSACTION - Specifies that all send and receive messages associated with this session are bound to the existing XA transaction.

 

MSMQ Transport Keys

The configuration for MSMQ includes a series of message options that can be added to the default parameters. The following table provides a brief description of the options presented in the configuration wizard.

Refer to MSMQ documentation for additional descriptions of the keys.

Transport Key

Description and Valid Values

AUDIT Get Transport Name

Identifies the name of the transport to receive a copy of the Get message. This can be used to send to another system or for audit within MSMQ.

AUDIT Put Transport Name

Identifies the name of the transport to receive a copy of the Put message. This can be used to send to another system or for audit within MSMQ.

Session Name

 

Select the user-defined endpoint session configuration to be used by this transport instance.

This is similar to the session name in queueing transport applications.

Transport Name

 

Identifies the name of the transport. The queue must already exist.
(Legacy Key: NNOT_TIL_OPEN_TSI.)

 

Common Transport Keys

The information in this table identifies configuration parameters used in the Endpoint Wizard for each type of transport mechanism used. The specific key name is provided when it is used within the GUI to reference these parameters.

Name

Description

Blocking Timeout

Amount of time in milliseconds to wait for a message to arrive before the process performs another put or get. The default is for no blocking to occur so the return is immediate.

It is recommended that you set blocking timeout to 2000 (2 seconds).

(Legacy Key: NNOT_TIL_GET_BLOCKING_TIMEOUT).

Message Option Headers

 

Specifies whether a message put to the transport should contain a message option header.

NNOT_HDR_EXCLUDE: Message option header not included.

NNOT_HDR_IF_NEEDED: Message option header included if required by the message.

NNOT_HDR_INCLUDE: Message option header included.

 

  For more information about transactionality, read Transactionality and Errored Business Processes.