3.4.5.2 Receiving BEGIN TIP Command

When the TIP transaction manager communicating with an application facet (section 1.3.1.2.3) receives a BEGIN TIP command, it MUST perform the following actions:

  • If the value of the Allow Network Transactions flag or the Allow Inbound Transactions flag is FALSE:

  • Test whether the receiving TIP connection object meets any of the following conditions:

    • The Connection Type field of the receiving TIP connection object is not set to Secondary.

    • The State field of the receiving TIP connection object is not set to Idle.

    • The value of the Allow Begin flag is FALSE.

  • If the receiving TIP connection object satisfies any of the conditions, signal the Invalid TIP Command event (section 3.4.7.1) and terminate the processing of this TIP command.

  • Create a new transaction object with the following value:

    • The Transaction Identifier field is set to a new GUID value.

  • Set the transaction object referenced by the enlistment object referenced by the receiving TIP connection object to the new transaction object.

  • Signal the Create Transaction ([MS-DTCO] section 3.2.7.13) event on the core transaction manager facet with the following argument:

    • The enlistment object referenced by the receiving TIP connection object.