方法: オブジェクトを SOAP エンコード済み XML ストリームとしてシリアル化する
SOAP メッセージは XML を使用して作成されるため、XmlSerializer クラスを使用してクラスをシリアル化し、エンコード済みの SOAP メッセージを生成できます。 生成される XML は、W3C (World Wide Web Consortium) のドキュメント『Simple Object Access Protocol (SOAP) 1.1』のセクション 5 に準拠します。 SOAP メッセージを使用して通信を行う XML Web サービスを作成する場合、特殊な SOAP 属性のセットをクラスやクラスのメンバーに適用することで、生成される XML ストリームをカスタマイズできます。 属性の一覧については、「Attributes That Control Encoded SOAP Serialization」を参照してください。
オブジェクトを SOAP エンコード済み XML ストリームとしてシリアル化するには
XML スキーマ定義ツール (Xsd.exe) を使用して、クラスを作成します。
System.Xml.Serialization
の特別な属性を 1 つ以上適用します。 「エンコード済み SOAP シリアル化を制御する属性」の一覧を参照してください。新しい
XmlTypeMapping
を作成し、シリアル化されるクラスの型を使用してSoapReflectionImporter
メソッドを呼び出して、ImportTypeMapping
を作成します。ImportTypeMapping
クラスのSoapReflectionImporter
メソッドを呼び出してXmlTypeMapping
を作成するコード例を次に示します。' 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));
XmlSerializer
をXmlTypeMapping
コンストラクターに渡して、XmlSerializer(XmlTypeMapping) クラスのインスタンスを作成します。Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
Serialize
メソッドまたはDeserialize
メソッドを呼び出します。
例
' 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);
関連項目
.NET