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






using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Soap;
[Serializable]
class Employee: ISerializable
{
    int id;
    string name;
    string address;
    
    public Employee(int id, string name, string address)
    {
        this.id = id;
        this.name = 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);
        streamWrite.Close();

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

        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