4.1.1 Opening an XA Superior Connection with an XA Subordinate Transaction Manager Facet Scenario

This packet sequence is initiated by starting a connection on a transport session between an XA Superior Transaction Manager and an XA Subordinate Transaction Manager Facet.

CONNTYPE_XAUSER_CONTROL: The packet sequence starts when an XA Superior Transaction Manager initiates a connection with an XA Subordinate Transaction Manager Facet using CONNTYPE_XAUSER_CONTROL.

 Field

 Value

 Value description

MsgTag

0x00000005

MTAG_CONNECTION_REQ

fIsMaster

0x00000001

1

dwConnectionId

0x00000001

1

dwUserMsgType

0x00000040

CONNTYPE_XAUSER_CONTROLL

dwcbVarLenData

0x00000000

0

dwReserved1

0x00000000

0

The XA Superior Transaction Manager then sends a XAUSER_CONTROL_MTAG_CREATE user message specifying its Resource Manager Recovery GUID (guidXaRm: a9b05f39-2368-4c99-94bc-7b5a4bb3f07d).

 Field

 Value

 Value description

MsgTag

0x00000FFF

MTAG_USER_MESSAGE

fIsMaster

0x00000001

1

dwConnectionId

0x00000001

1

dwUserMsgType

0x00004001

XAUSER_CONTROL_MTAG_CREATE

dwcbVarLenData

0x00000010

16

dwReserved1

0xCD64CD64

dwReserved1: 0xcd64cd64

guidXaRm

0xA9B05F39

a9b05f39-2368-4c99-94bc-7b5a4bb3f07d

0x4C992368

0x5A7BBC94

0x7DF0B34B

When the XA Subordinate Transaction Manager Facet receives the XAUSER_CONTROL_MTAG_CREATE message from the XA Superior Transaction Manager, the XA Subordinate Transaction Manager Facet attempts to add the Resource Manager Recovery GUID to its list of known Resource Manager Recovery GUIDs. If the Resource Manager Recovery GUID is successfully added, then the XA Subordinate Transaction Manager Facet sends a XAUSER_CONTROL_MTAG_CREATED user message to the XA Superior Transaction Manager.

 Field

 Value

 Value description

MsgTag

0x00000FFF

MTAG_USER_MESSAGE

fIsMaster

0x00000000

0

dwConnectionId

0x00000001

1

dwUserMsgType

0x00004002

XAUSER_CONTROL_MTAG_CREATED

dwcbVarLenData

0x00000000

0

dwReserved1

0xCD64CD64

dwReserved1: 0xcd64cd64

When the XA Superior Transaction Manager gets the XAUSER_CONTROL_MTAG_CREATED response from the XA Subordinate Transaction Manager Facet, the XA Superior Transaction Manager maintains this connection to perform transaction recovery and new transactional work with the XA Subordinate Transaction Manager Facet. When the XA Superior Transaction Manager is finished with all transactional work with the XA Subordinate Transaction Manager Facet, it closes the connection by initiating the Disconnect sequence.