Używając svcutil, możesz tworzyć interfejsy i klasy (kontrakty danych) z WSDL.
svcutil your.wsdl (or svcutil your.wsdl /l:vb if you want VisualBasic)
Spowoduje to utworzenie pliku o nazwie „your.cs” w C # (lub „your.vb” w VB.NET), który zawiera wszystkie niezbędne elementy.
Teraz musisz utworzyć klasę „MyService”, która zaimplementuje interfejs usługi (IServiceInterface) - lub kilka interfejsów usług - i to jest Twoja instancja serwera.
Sama klasa jeszcze nie pomaga - musisz gdzieś hostować usługę. Musisz albo utworzyć własne wystąpienie ServiceHost, które obsługuje usługę, skonfigurować punkty końcowe itd. - lub możesz hostować swoją usługę w usługach IIS.
Sprawdź tę odpowiedź SO, aby uzyskać informacje na temat pobierania wsdl i xsd w formacie, który spodoba się svcutil. stackoverflow.com/questions/286657/…
@marc_s Kiedy używam tego z moim plikiem WSDL, wydaje się, że zmienia nazwy niektórych elementów w bardzo dziwny sposób, tak że żądania przychodzące do mojego serwera nie byłyby nawet akceptowane. Czy to normalne?
Dla każdego, kto śledzi Podstawowy przegląd artykułu WSDL-First : Zwróć uwagę na komentarz, o którym mowa ReplyAction="*". Wygląda na to, że musisz się tego pozbyć. Istnieje ciąg wyjaśnień z tego komentarza, który daje uzasadnienie, ale go nie czytałem.
Użyj svcutil. Exe z /scprzełącznikiem, aby wygenerować kontrakty WCF. Spowoduje to utworzenie pliku kodu, który można dodać do projektu. Będzie zawierał wszystkie interfejsy i typy danych potrzebne do utworzenia usługi. Zmień lokalizację wyjściową za pomocą /oprzełącznika lub możesz znaleźć plik w folderze, w którym uruchomiono svcutil.exe. Domyślnym językiem jest C #, ale myślę (nigdy tego nie próbowałem), powinieneś móc to zmienić za pomocą /l:vb.
svcutil /sc "WSDL file path"
Jeśli twój WSDL ma jakieś wspierające pliki XSD, przekaż je jako argumenty po WSDL.
Możesz użyć svcutil.exe do wygenerowania kodu klienta. Obejmuje to definicję umowy o świadczenie usług oraz wszelkich wymaganych umów dotyczących danych i umów dotyczących błędów.
Następnie po prostu usuń kod klienta: klasy, które implementują kontrakty usług. Będziesz wtedy musiał sam je wdrożyć w swojej służbie.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.