This documentation is archived and is not being maintained.

Message.CreateMessage Method (XmlDictionaryReader, Int32, MessageVersion)

Creates a message using the specified reader, action and version.

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public static Message CreateMessage(
	XmlDictionaryReader envelopeReader,
	int maxSizeOfHeaders,
	MessageVersion version


Type: System.Xml.XmlDictionaryReader

The XmlDictionaryReader object to be used for reading the SOAP message.

Type: System.Int32

The maximum size in bytes of a header.

Type: System.ServiceModel.Channels.MessageVersion

A valid MessageVersion value that specifies the SOAP version to use for the message.

Return Value

Type: System.ServiceModel.Channels.Message
A Message object for the message created.


envelopeReader or version is null.

Message takes ownership of envelopeReader.

This method reads the envelope, buffers all the headers into the header collection, and reads up to but not including the Body start tag, and returns the message. If the method call throws an exception, it closes the reader.

The body of the returned message can then be either read or written.

The message body can be read using the GetBody methods on the returned message. The returned object encapsulates all the child elements within the Body element. The message body can be written using WriteBody or WriteMessage. Once written, it cannot be read.

Closing the message closes the underlying envelope reader.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0