Instrukcje: Serializacja obiektu jako kodowanego strumienia XML protokołu SOAP
Ponieważ komunikat PROTOKOŁU SOAP jest kompilowany przy użyciu kodu XML, XmlSerializer klasa może służyć do serializacji klas i generowania zakodowanych komunikatów PROTOKOŁU SOAP. Wynikowy kod XML jest zgodny z sekcją 5 dokumentu World Wide Web Consortium "Simple Object Access Protocol (SOAP) 1.1". Podczas tworzenia usługi sieci Web XML, która komunikuje się za pośrednictwem komunikatów PROTOKOŁU SOAP, możesz dostosować strumień XML, stosując zestaw specjalnych atrybutów protokołu SOAP do klas i składowych klas. Aby uzyskać listę atrybutów, zobacz Atrybuty, które kontrolują zakodowaną serializacji protokołu SOAP.
Do serializacji obiektu jako strumień XML kodowany w formacie protokołu SOAP
Utwórz klasę przy użyciu narzędzia definicji schematu XML (Xsd.exe).
Zastosuj co najmniej jeden atrybut specjalny znaleziony w pliku
System.Xml.Serialization
. Zapoznaj się z listą w "Serializacji protokołu SOAP zakodowane tego formantu atrybuty".Utwórz
XmlTypeMapping
przez utworzenie nowegoSoapReflectionImporter
i wywoływanieImportTypeMapping
metody z typem klasy serializacji.Poniższy przykład kodu wywołuje metodę
ImportTypeMapping
SoapReflectionImporter
klasy w celu utworzeniaXmlTypeMapping
klasy .' Serializes a class named Group as a SOAP message. Dim myTypeMapping As XmlTypeMapping = New SoapReflectionImporter().ImportTypeMapping(GetType(Group))
// Serializes a class named Group as a SOAP message. XmlTypeMapping myTypeMapping = new SoapReflectionImporter().ImportTypeMapping(typeof(Group));
Utworzenie wystąpienia
XmlSerializer
klasy przez przekazanieXmlTypeMapping
do XmlSerializer(XmlTypeMapping) konstruktora.Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
Wywołanie
Serialize
lubDeserialize
metody.
Przykład
' Serializes a class named Group as a SOAP message.
Dim myTypeMapping As XmlTypeMapping =
New SoapReflectionImporter().ImportTypeMapping(GetType(Group))
Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
// Serializes a class named Group as a SOAP message.
XmlTypeMapping myTypeMapping =
new SoapReflectionImporter().ImportTypeMapping(typeof(Group));
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);