26.10.2017 DataContract-десериализация и порядок полей
 
Всем привет!

Есть ли способ избежать ошибок десериализации, если порядок элементов во входном XML не совпадает с ожидаемым?
Например:
<Auth>
    <ApiLogin>asasd<ApiLogin>
    <ApiPassword>456465<ApiPasword>
</Auth>

работает
а
<Auth>
    <ApiPassword>456465<ApiPasword>
    <ApiLogin>asasd<ApiLogin>
</Auth>

нет

сам класс на сервере
    [DataContract]
    internal class AuthInfo 
    {
        /// <summary>
        /// The api login
        /// </summary>
        [DataMember(IsRequired = true)]
        internal string ApiLogin;

        /// <summary>
        /// The api password
        /// </summary>
        [DataMember(IsRequired = true)]
        internal string ApiPassword;
    }


Зачем вообще нужна эта проверка по порядку?
Это же не значит, что названия элементов в XML могут быть любыми

PS. на клиенте в классе, сгенерированном из WSDL порядка полей нет (даже если их явно указать в исходном классе)