方法 : オブジェクトを 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 シリアル化