Я бы запустил Visual Studio, создал веб-проект (или консольное приложение - не имеет значения).
Для .Net Standard:
- Я бы щелкнул проект правой кнопкой мыши и выбрал «Добавить ссылку на службу» из контекстного меню « Добавить» .
- Я бы щелкнул «Дополнительно», а затем - «Добавить ссылку на службу».
- Я бы получил полный путь к файлу wsdl и вставил его в адресную строку. Затем выстрелите стрелкой (кнопка перехода).
- Если при попытке загрузить файл возникает ошибка, то должен быть сломанный и неразрешенный URL-адрес, который необходимо разрешить файлу, как показано ниже:
См. Этот ответ для получения информации о том, как исправить:
Ответ Stackoverflow на: Невозможно создать ссылку на службу для wsdl файл
Если ошибки нет, вы должны просто установить пространство имен, которое вы хотите использовать для доступа к службе, и оно будет сгенерировано для вас.
Для .Net Core
- Я бы щелкнул правой кнопкой мыши по проекту и выбрал Connected Service из контекстного меню Add.
- Я бы выбрал из списка Microsoft WCF Web Service Reference Provider.
- Я бы нажал «Обзор» и сразу выбрал файл wsdl, установил пространство имен, и все готово. Обратитесь к URL-адресу исправления ошибки выше, если вы столкнетесь с какой-либо ошибкой.
Любой из вышеперечисленных методов создаст для вас простой и очень простой клиент WCF. В сгенерированном коде вы должны найти класс YourservicenameClient.
Для справки, сгенерированный файл cs можно найти в вашем Obj / debug (или release) / XsdGeneratedCode, и вы все равно можете найти dll в папке TempPE.
Созданные службы должны иметь методы для каждого из методов, определенных в контракте WSDL.
Создайте экземпляр клиента и вызовите методы, которые хотите вызвать - вот и все!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
Если вам нужно указать удаленный URL (не используя тот, который создан по умолчанию), вы можете легко сделать это в конструкторе прокси-клиента:
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
где configName
- имя используемой конечной точки (вы будете использовать все настройки, кроме URL-адреса), а remoteURL
- это строка, представляющая URL-адрес для подключения (вместо того, который содержится в конфигурации).