Odpalałbym Visual Studio, tworzył projekt webowy (lub aplikację konsolową - nie ma znaczenia).
Dla .Net Standard:
- Kliknąłbym projekt prawym przyciskiem myszy i wybrałbym „Dodaj odwołanie do usługi” z menu kontekstowego Dodaj .
- Kliknąłbym Zaawansowane, a następnie kliknij Dodaj odniesienie do usługi.
- Otrzymałbym pełną ścieżkę do pliku wsdl i wkleiłbym w pasku adresu. Następnie wystrzel strzałę (przycisk start).
- Jeśli wystąpi błąd podczas próby załadowania pliku, musi istnieć uszkodzony i nierozwiązany adres URL, który plik musi rozwiązać, jak pokazano poniżej:
Zapoznaj się z tą odpowiedzią, aby dowiedzieć się, jak to naprawić:
Odpowiedź Stackoverflow na: Nie można utworzyć odniesienia do usługi dla wsdl plik
Jeśli nie ma błędu, powinieneś po prostu ustawić Przestrzeń Nazw, której chcesz użyć, aby uzyskać dostęp do usługi, a zostanie ona wygenerowana za Ciebie.
W przypadku platformy .Net Core
- Kliknąłbym prawym przyciskiem myszy projekt i wybrałbym usługę połączoną z menu kontekstowego Dodaj.
- Wybrałbym z listy dostawcę usług internetowych Microsoft WCF.
- Nacisnąłbym Przeglądaj i od razu wybierz plik WSDL, Ustaw przestrzeń nazw i jestem gotowy do pracy. Jeśli napotkasz jakikolwiek błąd, zapoznaj się z powyższym adresem URL naprawy błędu.
Każda z powyższych metod spowoduje wygenerowanie prostego, bardzo podstawowego klienta WCF do użycia. W wygenerowanym kodzie należy znaleźć klasę „YourservicenameClient”.
W celach informacyjnych wygenerowany plik cs można znaleźć w swoim Obj / debug (lub release) / XsdGeneratedCode i nadal można znaleźć biblioteki dll w folderze TempPE.
Utworzone Usługi powinny mieć metody dla każdej metody zdefiniowanej w kontrakcie WSDL.
Utwórz wystąpienie klienta i wywołaj metody, które chcesz wywołać - to wszystko!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
Jeśli potrzebujesz określić zdalny adres URL (nie używając tego utworzonego domyślnie), możesz to łatwo zrobić w konstruktorze klienta proxy:
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
gdzie configName
jest nazwą punktu końcowego do użycia (użyjesz wszystkich ustawień oprócz adresu URL), a remoteURL
jest ciągiem reprezentującym adres URL do połączenia (zamiast tego zawartego w konfiguracji).