Если у вас есть доступ к wsdl для веб-службы, есть утилита wsdl
, которая сгенерирует необходимые классы и десериализацию для вызова веб-службы и анализа ее ответа на эти классы.
Используя пример веб-сервиса на w3schools , вы просто запустите следующую командную строку:
wsdl "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL"
Это создаст файл TempConvert.cs, который вы можете добавить в свой проект. Тогда вызов веб-сервиса - это просто вызов сгенерированных функций:
Double fahrenheit = 32.2;
TempConvert tempConverter = new TempConvert();
string Celcius = tempConverter.FahrenheitToCelsius(fahrenheit.ToString());
Этот класс TempConvert заботится о деталях построения XML-запроса, обращения к веб-службе и синтаксического анализа ответа обратно. Это очень простой пример, поэтому вы получаете только строку назад, но, поскольку ваш веб-сервис, скорее всего, чтобы быть немного сложнее, вы получите более сложные классы, содержащие данные, которые вы хотите в разобранном виде. В зависимости от сложности веб-службы, это может быть даже простой массив строк или такой же сложный, как иерархия гигантских классов.