Procedure: Een object serialiseren als een SOAP-gecodeerde XML-stream
Omdat een SOAP-bericht is gebouwd met XML, kan de XmlSerializer klasse worden gebruikt om klassen te serialiseren en gecodeerde SOAP-berichten te genereren. De resulterende XML voldoet aan sectie 5 van het World Wide Web Consortium-document "Simple Object Access Protocol (SOAP) 1.1". Wanneer u een XML-webservice maakt die via SOAP-berichten communiceert, kunt u de XML-stroom aanpassen door een set speciale SOAP-kenmerken toe te passen op klassen en leden van klassen. Zie Kenmerken die gecodeerde SOAP-serialisatie beheren voor een lijst met kenmerken.
Een object serialiseren als een DOOR SOAP gecodeerde XML-stroom
Maak de klasse met behulp van het XML Schema Definition Tool (Xsd.exe).
Pas een of meer van de speciale kenmerken toe die in
System.Xml.Serialization
. Zie de lijst in Kenmerken die gecodeerde SOAP-serialisatie beheren.XmlTypeMapping
Maak een door een nieuweSoapReflectionImporter
methode te maken en deImportTypeMapping
methode aan te roepen met het type geserialiseerde klasse.In het volgende codevoorbeeld wordt de
ImportTypeMapping
methode van deSoapReflectionImporter
klasse aangeroepen om eenXmlTypeMapping
.' 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));
Maak een exemplaar van de
XmlSerializer
klasse door deXmlTypeMapping
aan de XmlSerializer(XmlTypeMapping) constructor door te geven.Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
Roep de
Serialize
ofDeserialize
methode aan.
Voorbeeld
' 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);