SoapIncludeAttribute Class
Allows the XmlSerializer to recognize a type when it serializes or deserializes an object as encoded SOAP XML.
Assembly: System.Xml (in System.Xml.dll)
The SoapIncludeAttribute class belongs to a family of attributes that controls how the XmlSerializer serializes, or deserializes, an object as encoded SOAP XML. The resulting XML conforms to section 5 of the World Wide Web Consortium (www.w3.org) document, "Simple Object Access Protocol (SOAP) 1.1". For a complete list of similar attributes, see [<topic://cpconAttributesThatControlSOAPEncodedSerialization>].
To serialize an object as an encoded SOAP message, you must construct the XmlSerializer using an XmlTypeMapping created with the ImportTypeMapping method of the SoapReflectionImporter class.
When applying the SoapIncludeAttribute, specify the Type of the derived class. When the XmlSerializer serializes objects that include both the base and the derived classes, it can then recognize both object types.
You can use the SoapIncludeAttribute to include derived classes in service description documents that are written in the Web Services Description Language (WSDL). For example, if a method returns an Object, apply the SoapIncludeAttribute to the method and specify the actual types that should be returned.
For more information about WSDL, see World Wide Web Consortium (www.w3.org) specification, "Web Services Description Language (WSDL) 1.1".
For more information about using attributes, see Extending Metadata Using Attributes.
The following example applies the SoapIncludeAttribute twice to an XML Web service method. The method returns an object of type Vehicle (a base class). The SoapIncludeAttribute allows the method to return instances of classes derived from the Vehicle class.
<%@ WebService Language="VB" Class="Test" %> Imports System Imports System.Web.Services Imports System.Web.Services.Protocols Imports System.Web.Services.Description Imports System.Xml Imports System.Xml.Schema Imports System.Xml.Serialization Imports System.Data Public Class Test : Inherits WebService <WebMethod()> Public Function EchoString( _ <XmlElement(DataType:="string")> ByVal strval As String) _ As <XmlElement("MyTime", DataType:="time")> DateTime Return DateTime.Now End Function <WebMethod(), SoapRpcMethod, SoapInclude(GetType(Car)), _ SoapInclude(GetType(Bike))> _ Public Function Vehicle (licenseNumber As string ) As Vehicle If licenseNumber = "0" Then Dim v As Vehicle = new Car() v.licenseNumber = licenseNumber return v ElseIf licenseNumber = "1" Then Dim v As Vehicle = new Bike() v.licenseNumber = licenseNumber return v else return Nothing End If End Function End Class <XmlRoot("NewVehicle")> _ public MustInherit Class Vehicle public licenseNumber As String public make As DateTime End Class public class Car Inherits Vehicle End Class public Class Bike Inherits Vehicle End Class
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
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.