SoapOption Enum


Specifies the SOAP configuration options for use with the SoapTypeAttribute class.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

This API supports the product infrastructure and is not intended to be used directly from your code.

public enum class SoapOption
public enum SoapOption
type SoapOption = 
Public Enum SoapOption


AlwaysIncludeTypes 1

Indicates that type will always be included on SOAP elements. This option is useful when performing SOAP interop with SOAP implementations that require types on all elements.

EmbedAll 4

Indicates that SOAP will be generated without references. This option is currently not implemented.

None 0

The default option indicating that no extra options are selected.

Option1 8

Public reserved option for temporary interop conditions; the use will change.

Option2 16

Public reserved option for temporary interop conditions; the use will change.

XsdString 2

Indicates that the output SOAP string type in a SOAP Envelope uses the XSD prefix, and that the resulting XML does not have an ID attribute for the string.


The SoapOption enumeration is used to specify instructions to the .NET Framework on how it will generate the SOAP.

For example, while a class by default (with the SoapOptions.None enumeration value) might be remoted in the SOAP format as:

<member2 id="ref-3">hello</member2>  
<member3 href="#ref-3"/>  
<member4 href="#ref-4"/>  
<member4shared href="#ref-4"/>  
<member5 href="#ref-5"/>  
<member6 id="ref-6" xsi:type="SOAP-ENC:string">Hello World</member6>  
<str1 id="ref-7">hello &#60; world</str1>  
<str2 id="ref-8">&#60;</str2>  
<str3 id="ref-9">&#60; world</str3>  
<str4 href="#ref-7"/>  

Remoting serialization with the SoapOptions.XsdString option produces the following XML:

<member1 xsi:type="xsd:int">10</member1>  
<member2 xsi:type="xsd:string">hello</member2>  
<member3 xsi:type="xsd:string">hello</member3>  
<member4 href="#ref-3"/>  
<member4shared href="#ref-3"/>  
<member5 href="#ref-4"/>  
<member6 xsi:type="xsd:string">Hello World</member6>  
<str1 xsi:type="xsd:string">hello &#60; world</str1>  
<str2 xsi:type="xsd:string">&#60;</str2>  
<str3 xsi:type="xsd:string">&#60; world</str3>  
<str4 xsi:type="xsd:string">hello &#60; world</str4>  

For more information about SOAP envelopes, see

Applies to