В .NET Core для работы с HTTP принято использовать класс HttpClient. Он позволяет легко отправлять и получать данные. Однако возвращаемый ответ может отличаться в зависимости от статус-кода. Для работы с ним удобно использовать функциональный подход и тип Result.
При этом для взаимодействия с SOAP часто используются автосгенерированные клиенты на основе встроенного механизма в Visual Studio. Такое решение несет в себе определённые проблемы, которые будут упомянуты в докладе.
Павел расскажет, как участники команды банка, в которую он входит, выработали единый подход для работы с HTTP на основе REST и SOAP, разработав собственный движок, основанный на использовании HttpClient и функциональных компонентов.
Эта часть доклада является логичным продолжением рассказа Андрея о том, как с помощью функционального программирования можно разделить ошибки на фатальные и "ожидаемые". Это особенно наглядно можно продемонстрировать на примере обработки HTTP-ответов. Также будет показано применение разработанного движка для построения клиентов удалённых сервисов на основе REST и SOAP, альтернативных механизму предлагаемому по умолчанию в Visual Studio.