Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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


View products that this article applies to.

This article was previously published under Q312768

↑ Back to the top


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 "MSMQ", which uses a transport component with a ProgID of 
"BizTalk.SendMSMQ.1".
[0x012a] All retry transmissions failed. 0xc00e0050
[0x0156] The server could not finish processing messaging port "MSMQ".
[0x1730] Suspended Queue ID: "{87A524FC-6BAE-47B2-BCB5-5C87DCBAFB79}" 0xc00e0050
					

↑ Back to the top


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.

↑ Back to the top


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.

↑ Back to the top


Status

This behavior is by design.

↑ Back to the top


More information

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

↑ Back to the top


Keywords: KB312768, kbprb, kbpending

↑ Back to the top

Article Info
Article ID : 312768
Revision : 3
Created on : 5/2/2002
Published on : 5/2/2002
Exists online : False
Views : 435