This documentation is archived and is not being maintained.

EnvelopeVersion Class

Contains information related to the version of SOAP associated with a message and its exchange.

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

public sealed class EnvelopeVersion

The SOAP versions currently available are SOAP 1.1 and SOAP 1.2. There is an EnvelopeVersion for each of these versions of SOAP that can be recovered using the Soap11 and Soap12 properties. There is also a None message version that is used to sent and receive XML messages that do not use SOAP formatting. The processing roles associated with each message version can be recovered using the NextDestinationActorValue property and the GetUltimateDestinationActorValues method.

The following code shows how to access the methods and properties of EnvelopeVersion.

using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Text;

namespace CS
    class Program
        static void Main(string[] args)

     // MessageVersion
     EnvelopeVersion envS11 = EnvelopeVersion.Soap11;
     string nextDestS11 = envS11.NextDestinationActorValue;
     string[] ultDestsS11 = envS11.GetUltimateDestinationActorValues();
     string ultS11 = ultDestsS11[0];
     string toStrS11 = envS11.ToString();

     EnvelopeVersion envS12 = EnvelopeVersion.Soap12;

     EnvelopeVersion envNotSOAP =  EnvelopeVersion.None;

     string nextDestS12 = envS12.NextDestinationActorValue;

     string[] ultDestsS12 = envS12.GetUltimateDestinationActorValues();

     string ultS12 = ultDestsS12[1];

     string toStrS12 = envS12.ToString();

     EnvelopeVersion envNone = EnvelopeVersion.None;
     string nextDestNone = envNone.NextDestinationActorValue;
     //The following code throws a System.ArgumentReferenceExeption. 
     //The object reference is not set to an instance of an object 
     // string[] ultDestsNone = envNone.GetUltimateDestinationActorValues();
     string toStrNone = envNone.ToString();

     Console.WriteLine("EnvelopeVersion.Soap11: {0}", envS11);
     Console.WriteLine("EnvelopeVersion.Soap12: {0}", envS12);
     Console.WriteLine("EnvelopeVersion.None: {0}", envNone);

     Console.WriteLine("NextDest EnvelopeVersion.Soap11: {0}", nextDestS11);
     Console.WriteLine("NextDest EnvelopeVersion.Soap12: {0}", nextDestS12);
     Console.WriteLine("NextDest EnvelopeVersion.None: {0}", nextDestNone);

     Console.WriteLine("UltDest EnvelopeVersion.Soap11: {0}", ultS11);
     Console.WriteLine("UltDest EnvelopeVersion.Soap12: {0}", ultS12);
     //Console.WriteLine("UltDest EnvelopeVersion.None: {0}", ultDestsNone);

     Console.WriteLine("EnvelopeVersion.Soap11.ToString(): {0}", toStrS11);
     Console.WriteLine("EnvelopeVersion.Soap11.ToString(): {0}", toStrS12);
      Console.WriteLine("EnvelopeVersion.Soap11.ToString(): {0}", toStrNone);

EnvelopeVersion.Soap11: Soap11 (
EnvelopeVersion.Soap12: Soap12 (
EnvelopeVersion.None: EnvelopeNone (

NextDest EnvelopeVersion.Soap11:
NextDest EnvelopeVersion.Soap12:
NextDest EnvelopeVersion.None:

UltDest EnvelopeVersion.Soap11:
UltDest EnvelopeVersion.Soap12:

EnvelopeVersion.Soap11.ToString(): Soap11 (
EnvelopeVersion.Soap11.ToString(): Soap12 (
EnvelopeVersion.Soap11.ToString(): EnvelopeNone (


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

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

.NET Compact Framework

Supported in: 3.5