C# - Deserialize SOAP Message
<p>I have this SOAP message and I need to serialize into a C# Object:</p>

<pre><code>&lt;SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"&gt;
  &lt;SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"&gt;
    &lt;SOAPSDK4:GetStoreInformationResponse xmlns:SOAPSDK4="http://www.example.com/message/"&gt;
      &lt;StoreInformation&gt;
        &lt;StoreID&gt;99612&lt;/StoreID&gt;
        &lt;BusinessDate&gt;2016-01-28&lt;/BusinessDate&gt;
        &lt;Address type="Address-US"&gt;
           &lt;Street&gt;Via Roma 1&lt;/Street&gt;
           &lt;City&gt;Milano&lt;/City&gt;
        &lt;/Address&gt;
      &lt;/StoreInformation&gt;
    &lt;/SOAPSDK4:GetStoreInformationResponse&gt;
  &lt;/SOAP-ENV:Body&gt;
&lt;/SOAP-ENV:Envelope&gt;
</code></pre>

<p>I found many example of serialization, but I can not apply these to my case.
Someone can help me?</p>

<p>This is the c# class generated:</p>

<pre><code>//------------------------------------------------------------------------------
// &lt;auto-generated&gt;
//     Il codice è stato generato da uno strumento.
//     Versione runtime:4.0.30319.42000
//
//     Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
//     il codice viene rigenerato.
// &lt;/auto-generated&gt;
//------------------------------------------------------------------------------

using System.Xml.Serialization;

// 
// Codice sorgente generato automaticamente da xsd, versione=4.0.30319.33440.
// 


/// &lt;remarks/&gt;
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.example.com/message/")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://www.example.com/message/", IsNullable = false)]
public partial class GetStoreInformationResponse
{

    private GetStoreInformationResponseStoreInformation storeInformationField;

    /// &lt;remarks/&gt;
    [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public GetStoreInformationResponseStoreInformation StoreInformation
    {
        get
        {
            return this.storeInformationField;
        }
        set
        {
            this.storeInformationField = value;
        }
    }
}

/// &lt;remarks/&gt;
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.example.com/message/")]
public partial class GetStoreInformationResponseStoreInformation
{

    private string storeIDField;

    private string businessDateField;

    private GetStoreInformationResponseStoreInformationAddress[] addressField;

    /// &lt;remarks/&gt;
    [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string StoreID
    {
        get
        {
            return this.storeIDField;
        }
        set
        {
            this.storeIDField = value;
        }
    }

    /// &lt;remarks/&gt;
    [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string BusinessDate
    {
        get
        {
            return this.businessDateField;
        }
        set
        {
            this.businessDateField = value;
        }
    }

    /// &lt;remarks/&gt;
    [System.Xml.Serialization.XmlElementAttribute("Address", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public GetStoreInformationResponseStoreInformationAddress[] Address
    {
        get
        {
            return this.addressField;
        }
        set
        {
            this.addressField = value;
        }
    }
}

/// &lt;remarks/&gt;
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.example.com/message/")]
public partial class GetStoreInformationResponseStoreInformationAddress
{

    private string streetField;

    private string cityField;

    private string typeField;

    /// &lt;remarks/&gt;
    [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string Street
    {
        get
        {
            return this.streetField;
        }
        set
        {
            this.streetField = value;
        }
    }

    /// &lt;remarks/&gt;
    [System.Xml.Serialization.XmlElementAttribute(Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
    public string City
    {
        get
        {
            return this.cityField;
        }
        set
        {
            this.cityField = value;
        }
    }

    /// &lt;remarks/&gt;
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string type
    {
        get
        {
            return this.typeField;
        }
        set
        {
            this.typeField = value;
        }
    }
}
</code></pre>