@AlexCruel

Десериализовать пакет SOAP?

Получаю ответ от сервера в виде пакета SOAP
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getCitiesCash xmlns:ns2="">
         <return>
            <cityId>29755882233</cityId>
            <countryCode>BY</countryCode>
            <countryName>Беларусь</countryName>
            <regionCode>60</regionCode>
            <regionName>Минская</regionName>
         </return>
         <return>
            <cityId>29433578067</cityId>
            <countryCode>BY</countryCode>
            <countryName>Беларусь</countryName>
            <regionCode>60</regionCode>
            <regionName>Минская</regionName>
         </return>
      </ns2:getCitiesCash>
   </S:Body>
</S:Envelope>


Пытаюсь сделать десериализацию
SoapFormatter formatter = new SoapFormatter();

            using (FileStream fs = new FileStream(@"C:\Projects\DPD API\Test.xml", FileMode.OpenOrCreate)) 
            {
                string test = formatter.Deserialize(fs).ToString();
                MessageBox.Show("OK");
            }


Выдает ошибку
System.Runtime.Serialization.SerializationException: "Ошибка при синтаксическом анализе: отсутствует сборка, связанная с XML-ключом ns2 getCitiesCash"

Если убрать строку, выдает ошибку для return

Как извлечь информацию из return?
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Создайте прокси
https://docs.microsoft.com/ru-ru/sql/reporting-ser...

Дальше используйте сгенерированные классы
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы