EnvelopeVersion Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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


Gets a string that contains the URI name for the SOAP role associated with the current message version for the next destination.


Gets the envelope version not using a version of SOAP.


Gets the SOAP1.1 envelope version.


Gets the SOAP1.2 envelope version.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)


Gets the Type of the current instance.(Inherited from Object.)


Gets a string that contains the URI name for the SOAP role associated with the current message version for the ultimate destination.


Gets a string that represents the current envelope version.(Overrides Object.ToString().)

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 (http://schemas.xmlsoap.org/soap/envelope/)
EnvelopeVersion.Soap12: Soap12 (http://www.w3.org/2003/05/soap-envelope)
EnvelopeVersion.None: EnvelopeNone (http://schemas.microsoft.com/ws/2005/05/envelope/none)

NextDest EnvelopeVersion.Soap11: http://schemas.xmlsoap.org/soap/actor/next
NextDest EnvelopeVersion.Soap12: http://www.w3.org/2003/05/soap-envelope/role/next
NextDest EnvelopeVersion.None:

UltDest EnvelopeVersion.Soap11:
UltDest EnvelopeVersion.Soap12:

EnvelopeVersion.Soap11.ToString(): Soap11 (http://schemas.xmlsoap.org/soap/envelope/)
EnvelopeVersion.Soap11.ToString(): Soap12 (http://www.w3.org/2003/05/soap-envelope)
EnvelopeVersion.Soap11.ToString(): EnvelopeNone (http://schemas.microsoft.com/ws/2005/05/envelope/none)

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.0
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0

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

Return to top