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