Tworzę i korzystam z usług internetowych od lat i zawsze mogłem używać Visual Studio do tworzenia referencji usługi od klienta. Mam usługę innej firmy, z którą muszę współpracować, a ta odmawia otwarcia swoich zabezpieczeń, więc mogę zobaczyć wsdl i podać odniesienie do usługi. Jest to usługa publiczna, więc nie widzę potrzeby zapewnienia takiego poziomu bezpieczeństwa, ale tak właśnie jest.
Wiem, że jest to pytanie n00b i wstydzę się go zadawać, ale jak mogę utworzyć równoważne informacje referencyjne usługi w moim kliencie, skoro wszystko, co mam do dyspozycji, to fizyczna kopia wsdl, którą klient wysłał mi e-mailem? Zmienia się plik web.config, warstwa obiektowa nad danymi SOAP, itd. Podobnie jak w przypadku zautomatyzowanego Service Reference, chcę tylko otworzyć połączenie z usługą i zacząć używać jej ze zdefiniowanymi obiektami.
O ile wiem, usługa innej firmy nie jest usługą WCF, ale jest to SOAP. Przy okazji używam VS 2010. Z góry dziękuję, Ken
źródło
Odpowiedzi:
To może być najłatwiejsza metoda
źródło
Można to zrobić na dwa sposoby. Możesz użyć IDE do wygenerowania WSDL lub możesz to zrobić za pomocą wiersza poleceń.
1. Aby utworzyć go za pomocą IDE:
W panelu eksploratora rozwiązań kliknij prawym przyciskiem myszy projekt, do którego chcesz dodać usługę:
Następnie możesz wprowadzić ścieżkę do WSDL usługi i nacisnąć go:
2. Aby utworzyć go za pomocą wiersza poleceń:
Otwórz wiersz polecenia programu VS 2010 (Programy -> Visual Studio 2010 -> Narzędzia programu Visual Studio)
Następnie wykonaj:
WSDL.exe wyprowadzi następnie plik .cs do wykorzystania.
Jeśli masz inne zależności, które otrzymałeś z plikiem, takie jak xsd, dodaj je do listy argumentów:
Jeśli potrzebujesz wyjścia VB, użyj
/language:VB
oprócz/verbose
.źródło
import
w sobie znak, a po nim schemaLocation wskazujący na ścieżkę xsd, będziesz potrzebować również tych plików xsd.