方法: オブジェクトを SOAP エンコード済み XML ストリームとしてシリアル化するHow to: Serialize an Object as a SOAP-Encoded XML Stream

SOAP メッセージは XML を使用して作成されるため、XmlSerializer クラスを使用してクラスをシリアル化し、エンコード済みの SOAP メッセージを生成できます。Because a SOAP message is built using XML, the XmlSerializer class can be used to serialize classes and generate encoded SOAP messages. 生成される XML は、W3C (World Wide Web Consortium) のドキュメント『Simple Object Access Protocol (SOAP) 1.1』のセクション 5 に準拠します。The resulting XML conforms to section 5 of the World Wide Web Consortium document "Simple Object Access Protocol (SOAP) 1.1". SOAP メッセージを使用して通信を行う XML Web サービスを作成する場合、特殊な SOAP 属性のセットをクラスやクラスのメンバーに適用することで、生成される XML ストリームをカスタマイズできます。When you are creating an XML Web service that communicates through SOAP messages, you can customize the XML stream by applying a set of special SOAP attributes to classes and members of classes. 属性の一覧については、「Attributes That Control Encoded SOAP Serialization」を参照してください。For a list of attributes, see Attributes That Control Encoded SOAP Serialization.

オブジェクトを SOAP エンコード済み XML ストリームとしてシリアル化するにはTo serialize an object as a SOAP-encoded XML stream

  1. XML スキーマ定義ツール (Xsd.exe) を使用して、クラスを作成します。Create the class using the XML Schema Definition Tool (Xsd.exe).

  2. System.Xml.Serialization の特別な属性を 1 つ以上適用します。Apply one or more of the special attributes found in System.Xml.Serialization. 「エンコード済み SOAP シリアル化を制御する属性」の一覧を参照してください。See the list in "Attributes That Control Encoded SOAP Serialization."

  3. 新しい XmlTypeMapping を作成し、シリアル化されるクラスの型を使用して SoapReflectionImporter メソッドを呼び出して、ImportTypeMapping を作成します。Create an XmlTypeMapping by creating a new SoapReflectionImporter, and invoking the ImportTypeMapping method with the type of the serialized class.

    ImportTypeMapping クラスの SoapReflectionImporter メソッドを呼び出して XmlTypeMapping を作成するコード例を次に示します。The following code example calls the ImportTypeMapping method of the SoapReflectionImporter class to create an 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));
    
  4. XmlSerializerXmlTypeMapping コンストラクターに渡して、XmlSerializer(XmlTypeMapping) クラスのインスタンスを作成します。Create an instance of the XmlSerializer class by passing the XmlTypeMapping to the XmlSerializer(XmlTypeMapping) constructor.

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)  
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);  
    
  5. Serialize メソッドまたは Deserialize メソッドを呼び出します。Call the Serialize or Deserialize method.

Example

' 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);  

関連項目See also