Soap Custom Serialization : SOAP Serialization « Network « C# / CSharp Tutorial

using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Soap;
class Employee: ISerializable
    int id;
    string name;
    string address;
    public Employee(int id, string name, string address)
    { = id; = name;
        this.address = address;
    public override string ToString()
        return(String.Format("{0} {1} {2}", id, name, address));
    Employee(SerializationInfo info, StreamingContext content)
        id = info.GetInt32("id");
        name = info.GetString("name");
        address = info.GetString("address");
    // called to save the object data        
    public void GetObjectData(SerializationInfo info, StreamingContext content)
        info.AddValue("id", id);
        info.AddValue("name", name);
        info.AddValue("address", address);

class MainClass
    public static void Main()
        Employee employee = new Employee(15, "F", "B");
        Stream streamWrite = File.Create("emp.dat");
        IFormatter writer = new SoapFormatter();
        writer.Serialize(streamWrite, employee);

        Stream streamRead = File.OpenRead("emp.dat");
        IFormatter reader = new SoapFormatter();
        employee = (Employee) reader.Deserialize(streamRead);

        Console.WriteLine("Employee: {0}", employee);
Employee: 15 F B

33.31.SOAP Serialization
33.31.1.Serializes a class with Soap
33.31.2.Serialize object to SOAP message
33.31.3.Serialization of an object list in SOAP
33.31.4.Soap Custom Serialization
33.31.5.Invoke web service with Http Get
33.31.6.Call Soap service
33.31.7.Use SoapAttributeOverrides
33.31.8.Deserialize Soap type xml