Mam stary plik WSDL i chcę używać WCF do komunikowania się z usługą.Jak użyć pliku WSDL do utworzenia proxy WCF?
Plik WSDL jest generowany z ASMX (przypuszczam, ale nie jestem pewien).
Jakie kroki należy podjąć, aby się z nim komunikować?
Mam stary plik WSDL i chcę używać WCF do komunikowania się z usługą.Jak użyć pliku WSDL do utworzenia proxy WCF?
Plik WSDL jest generowany z ASMX (przypuszczam, ale nie jestem pewien).
Jakie kroki należy podjąć, aby się z nim komunikować?
Zastosowanie svcutil.exe stworzyć serwer proxy WCF, aby zadzwonić do serwisu. Szczegóły here.
OK, dam ci iść! W visual studio i Windows SDK znajduje się plik wsdl.exe. Użyłem tego do wygenerowania klasy proxy, czy to jest to samo co svcutil.exe? Kiedy wygeneruję plik proxy, w jaki sposób powinienem użyć tego generatora proxy? – Raha
To nie to samo. svcutil.exe to narzędzie, które wygeneruje proxy i stubs (i inne rzeczy) dla WCF. wsdl.exe działa podobnie do ASMX. Od 2006 roku WCF zastąpiło ASMX jako preferowane środowisko programowania usług internetowych w .NET. Tak, ASMX jest stary, WCF jest nowy. – Cheeso
Kliknij projekt prawym przyciskiem myszy i wybierz polecenie "Dodaj referencję serwisową". Wskaż WSDL. Kliknij OK". To powinno być wszystko.
Nie mogłem znaleźć przycisku "przeglądaj" - musiałem skopiować/wkleić pełną ścieżkę pliku wsdl w Visual Studio 2010. –
Nie odwoływałem się do przycisku "przeglądaj". Co masz na myśli? –
Och, chodzi mi o to, że jestem przyzwyczajony do aplikacji, które wymagają podania nazwy pliku z przyciskiem "Przeglądaj" lub "...", aby można było wybrać lokalizację. Interfejs Visual Studio jest trochę mylący, ponieważ nie pozwala na to - musisz ręcznie skopiować/wkleić lokalizację pliku wsdl. Tak proste, jak to było po tym, jak się o tym dowiedziałem, na początku było to zdecydowanie mylące. –
wsdl.exe to stara usługa internetowa (1.1) sposób tworzenia proxy. Pierwszą rzeczą, którą należy wypróbować, jest "Dodaj odniesienie do usługi", o czym już wspomniano. To wykorzystuje svcutil.exe do utworzenia proxy. Jeśli potrzebujesz większej kontroli nad tworzeniem proxy, możesz użyć svcutil.exe z wiersza poleceń z różnymi przełącznikami.
Z tym powiedziane ... miałem problemy ze starszymi wsdls usługi sieci Web. W szczególności stara usługa sieci Web Apache AXIS zawierająca przeładowane operacje. Proszę zobaczyć mój post here, aby uzyskać szczegółowe informacje. (Mój problem nadal nie został rozwiązany, mam nadzieję, że nie napotkasz na te same problemy, ale jeśli to zrobisz i rozwiążesz je, odpowiedz na moje pytanie :)
Nie ma koncepcji "przeciążania" w usługach internetowych. Apache powinien wiedzieć lepiej i mam nadzieję, że już się nauczyli. Zwykle tworzyli zabawne rzeczy, takie jak schematy emitujące typy podobne do apachesoap: XmlElement, a następnie nie definiują tych typów. Prawdopodobnie działało dobrze, jeśli używasz kodu Apache do korzystania z usługi, ale nie inaczej. –
Dzięki za komentarz, John. Najwyraźniej WSDL 1.1 zezwalał na przeciążenia? (zobacz http://webservices.xml.com/pub/a/ws/2003/01/08/randyray.html) Ta sama usługa, o której wspomniałem, zawierała kilka typów błędów, których svcutil nie mógł zrozumieć. Miałem trochę czasu, aby go uruchomić i dopiero po wprowadzeniu znaczących zmian w kodzie proxy. –
Nie powinno mieć znaczenia, co wygenerowało WSDL. – Cheeso