Article ID: 886225 - View products that this article applies to.
This article describes an issue that occurs in Microsoft BizTalk Server 2004. The issue occurs when you create a custom pipeline component to handle large messages.
BizTalk Server 2004 can process very large messages. For example, a large message may be 100 megabytes (MB) or more. To make this possible, all pipeline components work by streaming the message.
When you create a custom pipeline component that implements a custom stream for use in the BizTalk Server 2004 environment, the stream that you create must be able to seek back to the beginning of the stream. This must occur if you want to suspend or to track a message.
If the message stream is non-seekable, and if the processing of a large message fails, the part of the message before the current position of the stream is not recoverable. Therefore, the actual body of the message is not persisted in the database. Also, you cannot suspend the message or track the message because the data is not available. The message stream is at the end. The message stream cannot be set back to the beginning.
If the message stream is seekable, BizTalk Server 2004 suspends the message. BizTalk Server 2004 sends a success code to the adaptor that indicates that BizTalk Server 2004 has ownership of the data.
For additional information about BizTalk Server 2004, visit the following Microsoft Web site:
http://www.microsoft.com/biztalk/For additional information about how to create seekable streams in the .NET Framework, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/336wast5(vs.71).aspxFor additional information about custom pipeline processing in BizTalk Server 2004, visit the following Microsoft Developer Network (MSDN) Web site:
Article ID: 886225 - Last Review: May 21, 2007 - Revision: 1.3