Microsoft KB Archive/312768

= PRB: The &quot;Transaction Usage Is Invalid&quot; Error Occurs While You Are Using a Message Queuing Transport in BizTalk Server =

Article ID: 312768

Article Last Modified on 5/2/2002

-

APPLIES TO


 * Microsoft BizTalk Server 2002 Standard Edition

-



This article was previously published under Q312768



SYMPTOMS
When you try to deliver a message to a Microsoft Message Queuing queue with the Microsoft BizTalk Server Message Queuing transport, an error message that is similar to the following is generated in the Application log of BizTalk Server:

Event Type: Error Event Source:  BizTalk Server Event Category: Document Processing Event ID:           324 Date:      5/1/2002 Time:      11:54:44 AM User:       N/A Computer:           BIZTALKSERVER Description: An error occurred in BizTalk Server. Details: -- [0xc00e0050] An error occurred sending a message to the message queue 'DIRECT=OS:.\private$\test'. Message Queue error: 'Transaction usage is invalid.'. [0x0159] The server encountered a transport error while processing the messaging port &quot;MSMQ&quot;, which uses a transport component with a ProgID of &quot;BizTalk.SendMSMQ.1&quot;. [0x012a] All retry transmissions failed. 0xc00e0050 [0x0156] The server could not finish processing messaging port &quot;MSMQ&quot;. [0x1730] Suspended Queue ID: &quot;{87A524FC-6BAE-47B2-BCB5-5C87DCBAFB79}&quot; 0xc00e0050



CAUSE
This Application log entry can be generated under the following conditions:
 * The message queue to which the Message Queuing transport is trying to deliver is marked as a non-transactional message queue.

-and-
 * The Transactional level setting of the BizTalk Server messaging port that is bound to the Message Queuing transport is set to COM+ Transaction.

NOTE: This is a configurable option in BizTalk Server 2002 in the advanced configuration options of the channel, the Message Queuing transport in BizTalk Server 2000 is hard coded to always send to transactional queues.

-or-
 * The message queue to which the Message Queuing transport is trying to deliver is marked as a transactional message queue.

-and-
 * The Transactional level setting of the BizTalk Server messaging port that is bound to the Message Queuing transport is set to Non-transactional.

NOTE: This is a configurable option in BizTalk Server 2002 in the advanced configuration options of the channel.



RESOLUTION
Set the appropriate transaction level in the advanced properties of any channels that are bound to the messaging port (by default, this is set to COM+ Transaction):
 * 1) Create a message port that uses the Message Queuing transport.
 * 2) Create a channel for this message port.
 * 3) On the Advanced Configuration page of the Channel Wizard, click Advanced.
 * 4) In the Override Messaging Port Defaults dialog box, click Properties on the Primary Transport tab.
 * 5) In the BizTalk Send MSMQ Property dialog box, for Transactional level, click COM+ Transaction if you are sending to a transactional Message Queuing queue or click Non-transactional if you are sending to a non-transactional Message Queuing queue.



STATUS
This behavior is by design.



MORE INFORMATION
The BizTalk Server 2000 Message Queuing transport only supports the sending of messages to transactional Message Queuing queues.

Keywords: kbprb kbpending KB312768

-

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

© Microsoft Corporation. All rights reserved.