方法 : オブジェクトを SOAP エンコード済み XML ストリームとしてシリアル化する
コード例
SOAP メッセージは XML を使用して作成されるため、XmlSerializer を使用してクラスをシリアル化し、エンコード済みの SOAP メッセージを生成できます。生成される XML は、W3C (World Wide Web Consortium) (www.w3.org) のドキュメント『Simple Object Access Protocol (SOAP) 1.1』のセクション 5 に準拠します。SOAP メッセージを使用して通信を行う XML Web サービスを作成する場合、特殊な SOAP 属性のセットをクラスやクラスのメンバに適用することで、生成される XML ストリームをカスタマイズできます。属性の一覧については、「エンコード済み SOAP シリアル化を制御する属性」を参照してください。
オブジェクトを SOAP エンコード済み XML ストリームとしてシリアル化するには
XML スキーマ定義ツール (Xsd.exe) を使用して、クラスを作成します。
System.Xml.Serialization の特別な属性を 1 つ以上適用します。「エンコード済み SOAP シリアル化を制御する属性」の一覧を参照してください。
新しい SoapReflectionImporter を作成し、シリアル化されるクラスの型を使用して ImportTypeMapping メソッドを呼び出して、XmlTypeMapping を作成します。
SoapReflectionImporter クラスの ImportTypeMapping メソッドを呼び出して 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));
XmlTypeMapping を XmlSerializer コンストラクタに渡して、XmlSerializer クラスのインスタンスを作成します。
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);
関連項目
タスク
方法 : オブジェクトをシリアル化する
方法 : オブジェクトを逆シリアル化する
方法 : SOAP エンコード済み XML シリアル化をオーバーライドする
概念
エンコード済み SOAP シリアル化を制御する属性
XML Web サービスを使用した XML シリアル化
その他の技術情報
Copyright © 2007 by Microsoft Corporation.All rights reserved.