PRB: The "Transaction Usage Is Invalid" Error Occurs While You Are Using a Message Queuing Transport in BizTalk Server (312768)
The information in this article applies to:
- Microsoft BizTalk Server 2002
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 "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
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):
- Create a message port that uses the Message Queuing transport.
- Create a channel for this message port.
- On the Advanced Configuration page of the Channel Wizard, click Advanced.
- In the Override Messaging Port Defaults dialog box, click Properties on the Primary Transport tab.
- 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.
STATUSThis behavior is by design.MORE INFORMATION
The BizTalk Server 2000 Message Queuing transport only supports the sending of messages to transactional Message Queuing queues.
Modification Type: | Major | Last Reviewed: | 5/2/2002 |
---|
Keywords: | kbprb KB312768 |
---|
|