Microsoft KB Archive/231886

= BUG: Misleading Error 0x8004d021 When Import Transaction Fails on BYOT =

Article ID: 231886

Article Last Modified on 2/27/2007

-

APPLIES TO


 * Microsoft COM+ 1.0
 * Microsoft COM+ 1.5
 * Microsoft Windows 2000 Standard Edition
 * Microsoft Windows XP Professional

-



This article was previously published under Q231886



SYMPTOMS
When you use Bring Your Own Transaction (BYOT), the import transaction may fail with XACT_E_TIP_PULL_FAILED. The following message may be logged in event viewer:

The BYOT Gateway failed to import the transaction using Transaction Internet Protocol (TIP). Make sure that the installed DTC supports the TIP protocol.

Server Application ID : {A20B779B-03F6-11D3-926A-00C04F8EF295}

Server Application Name : server_name

Error Code = 0x8004d021 :

COM+ Services Internals Information :

File: .\byotex.cpp, Line: 105



CAUSE
This error is misleading because import transaction can fail even if Microsoft Distributed Coordinator (MS DTC) supports Transaction Internet Protocol (TIP).

This error is returned when a PULLED command is sent to the Transaction Manager (TM), and the TM sends back a NOTPULLED token. Any TM that is TIP-compliant can send a NOTPULLED token. A TM can return this token if for any reason the Pull relationship is not established. For additional information, see the "More Information" section to follow.



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.



MORE INFORMATION
MS DTC returns a NOTPULLED token under the following circumstances:   The Transaction identifier (TrID) that is included in the PULL command is not valid. TIP specification does not define a format for TrID. Each TM defines its own TrID. For MS DTC, the valid TrID should comply with the following format: oletx-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx which is 43 characters long (including terminal NULL).  The application was badly designed. The transaction was committed before the complete transaction tree was set up. The specified TrID is not in the list for the active transactions. As a result, the transaction is stopped or timed out.

Additional query words: error 0x8004d021

Keywords: kbbug kbdtc kbpending KB231886

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.