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.

MSMQ Receive Function May Return PassThrough Error


View products that this article applies to.

This article was previously published under Q283035

↑ Back to the top


Symptoms

When you use a Microsoft Message Queue Server (MSMQ) receive function to receive data from a well-known queue, the following error message may occur:
Event ID: 324
Source: BizTalk Server
Category: Document Processing
Description:
An error occurred in BizTalk Server.

Details:
------------------------------
The ""Direct=OS:server\private$\TestQ"" Message Queuing receive function is not configured for a pass-through submission, but it has encountered a document that was submitted previously as a pass-through submission. Change this receive function to accept pass-through submissions or remove the pass-through document from the queue. This receive function will be shut down.

The receive function "TestQ" has experienced problems, it will be shut down and disabled. Once these problems have been corrected, re-enable this receive function in BizTalk Server Administration.

There was a failure processing the "TestQ" receive function. Check your receive function configuration in BizTalk Server Administration.

↑ Back to the top


Cause

The MSMQ receive function is designed to retrieve messages from a designated queue. If the data in the queue is a byte array (VT_ARRAY | VT_UI1), the receive function checks the message for the AppSpecific property setting. The intended use of this property is for code page information that is related to the contents of the message. In addition, the BizTalk Server MSMQ receive function checks the AppSpecific property for a value of -1. If the AppSpecific property is set to -1, the MSMQ receive function determines that the message is a PassThrough message, and that it should be treated accordingly. However, if the properties of the MSMQ receive function are not set to handle PassThrough data, an error occurs and the receive function is disabled.

The error that is listed in the "Symptoms" section of this article also can occur if the document is written to the MSMQ queue that is monitored by the MSMQ receive function with the XmlMessageFormatter object in the .NET System.Messaging application programming interface (API).

The error that is listed earlier can also occur if the MSMQ queue, that is monitored by the MSMQ Receive function, is not marked as a transactional queue.

↑ Back to the top


Resolution

If your application needs to use the MSMQ Message AppSpecific property setting, make sure that the property is not set to a value of -1. The BizTalk Server MSMQ receive function will use that value for PassThrough notification.

If you are using the XmlMessageFormatter object to write documents to the MSMQ queue that is monitored by the BizTalk Receive function, try writing documents to the queue by using the ActiveXFormatter object instead.
If the MSMQ queue that is monitored by the MSMQ Receive function is not marked as a transactional queue, recreate the queue as a transactional queue.

↑ Back to the top


Status

This behavior is by design.

↑ Back to the top


More information

For more information on BizTalk Server receive functions, see the BizTalk Server Documentation.

↑ Back to the top


Keywords: KB283035, kbpending, kbbug

↑ Back to the top

Article Info
Article ID : 283035
Revision : 6
Created on : 9/1/2006
Published on : 9/1/2006
Exists online : False
Views : 478