Deserialize Soap type xml : SOAP Serialization « Network « C# / CSharp Tutorial






using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

[SoapType("SoapGroupType", "http://www.yourDomain.com")]
public class Group
{
    public string GroupName;
    public Employee[] Employees;
}

[SoapType("EmployeeType")]
public class Employee
{
    public string Name;
}

public class Run
{
    public static void Main()
    {
        SoapAttributeOverrides mySoapAttributeOverrides = new SoapAttributeOverrides();
        SoapAttributes soapAtts = new SoapAttributes();
        SoapTypeAttribute soapType = new SoapTypeAttribute();
        soapType.TypeName = "Team";
        soapType.IncludeInSchema = false;
        soapType.Namespace = "http://www.yourdomain.com";
        soapAtts.SoapType = soapType;

        mySoapAttributeOverrides.Add(typeof(Group), soapAtts);

        XmlTypeMapping myMapping = (new SoapReflectionImporter(mySoapAttributeOverrides)).ImportTypeMapping(typeof(Group));
        XmlSerializer mySerializer = new XmlSerializer(myMapping);

        TextReader reader = new StreamReader("SoapType2.xml");
        XmlTextReader xmlReader = new XmlTextReader(reader);
        xmlReader.ReadStartElement();

        Group myGroup = (Group)mySerializer.Deserialize(xmlReader);
        xmlReader.ReadEndElement();
        Console.WriteLine(myGroup.GroupName);
        xmlReader.Close();
        reader.Close();
    }
}








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