Potrzebuję skonsumować usługę sieci Web. Wysłali mi plik WSDL. Co należy zrobić, aby dodać go do mojej witryny i zacząć używać go jako serwera proxy. (Jeśli umieściłem go w katalogu wirtualnym, można go znaleźć, ale czy zapewnia on połączenie z prawdziwą usługą sieciową?)Jak korzystać z WSDL
Odpowiedz
Wystrzeliłbym Visual Studio 2008, utworzyłem projekt internetowy (lub aplikację konsolową - nie ma znaczenia), a następnie kliknę prawym przyciskiem myszy na projekcie i wybieram "Dodaj referencje serwisowe" z menu kontekstowego.
Wprowadź ścieżkę pliku i nazwę w polu i zaimportuj plik WSDL - spowoduje to wygenerowanie prostego, bardzo prostego klienta WCF do użycia. W wygenerowanym kodzie należy znaleźć klasę "YourservicenameClient", która powinna zawierać metody dla każdej ze zdefiniowanych metod zawartych w umowie WSDL.
Powtórz klienta i wywołaj metody, do których chcesz zadzwonić - to wszystko!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
Jeśli trzeba określić zdalnego adresu URL (nie używając stworzonej przez domyślne), można łatwo zrobić to 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, który znajduje się w konfiguracji).
To działa dobrze. Tylko jedno pytanie, jeśli mam plik wsdl na moim komputerze i dodaję odniesienie do tego pliku. Podczas wykonywania adresu URL trafia on w hosta usługi internetowej, czy też muszę określić Binding i EndPoint? – jmayor
To zależy od Ciebie - domyślnie kod utworzony dla proxy klienta będzie zawierał adres URL zawarty w pliku WSDL - jeśli musisz przejść do innego adresu URL, musisz go określić samodzielnie. –
Dlaczego to takie proste? Czy nie ma haczyka? : p Dzięki! – Odys
W studio graficznym.
- Utwórz lub otwórz projekt.
- Kliknij prawym przyciskiem myszy projekt z eksploratora rozwiązań.
- Wybierz "Dodaj rozszerzenie usługi"
- Wklej adres z otrzymanym WSDL.
- Kliknij OK.
Jeśli nie ma błędów, powinieneś widzieć referencję do usługi w przeglądarce obiektów i wszystkie powiązane metody.
<3 Visual Studio .. Tak, to naprawdę takie proste :) – cwap
OP nie ma adresu, ale plik. –
wpisz ścieżkę/nazwę pliku dla pliku WSDL ...... –
Użyj WSDL.EXE utility do wygenerowania proxy usługi Web Service z WSDL.
Dostaniesz # plik źródłowy długo C, który zawiera klasy, która wygląda tak:
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")]
public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol {
...
}
W swojej stronie klienta, Web-usługi pracochłonne kod:
- instancję MyService .
- ustawić jego adres URL nieruchomość
- metody invoke sieci
To tworzy "staromodną" usługę sieciową ASMX - są one przestarzałe - należy używać WCF zamiast obecnie –
-1 w celu zachęcenia do korzystania ze starszej technologii. –
+1, inne rozwiązania NIE DZIAŁAJĄ NA MNIE. – Nuzzolilo
- 1. Jak korzystać z usługi WWW wsdl za pośrednictwem węzła js
- 2. Jak korzystać z Apache CXF jako klienta?
- 3. Jak używać typu złożonego z WSDL z zeep w Pythonie
- 4. Generowanie kodów JavaScript z WSDL
- 5. jak pobrać WSDL Single-plików dla usługi WCF (WSDL płaskim)
- 6. Jak przekonwertować wsdl na java?
- 7. Jak korzystać z usługi mydła WCF w pliku node.js
- 8. Jak korzystać z find_module?
- 9. Jak korzystać z RedirectToRoute?
- 10. Jak korzystać z kCTSuperscriptAttributeName?
- 11. Jak korzystać z pgdb.executemany?
- 12. Jak korzystać z org.mockito.AdditionalMatchers.gt?
- 13. Jak korzystać z createTransport?
- 14. Jak korzystać z UIRemoteNotificationTypeVoIP?
- 15. Jak korzystać z onResume()?
- 16. Jak korzystać z phantomjs?
- 17. Jak korzystać z Form.ShowDialog?
- 18. jak korzystać z particles.js?
- 19. Jak korzystać z MonadRandom?
- 20. Jak korzystać z ReadWriteLock?
- 21. Jak korzystać z QueryPerformanceCounter?
- 22. Jak korzystać z QTextBlock?
- 23. Jak korzystać z cepstral?
- 24. Jak korzystać z metodyWindowFocusChanged()?
- 25. Jak korzystać z tekstu?
- 26. Jak korzystać z MediaSessionCompat?
- 27. Jak korzystać z navigator.app.exitApp()?
- 28. Jak korzystać z MPI_Type_create_subarray?
- 29. Jak korzystać z Microsoft.Scripting.Hosting?
- 30. Jak korzystać z PackageManager.addPreferredActivity()?
Cóż, upvoted ponieważ jest to pytanie, które myślę, że innym użytkownikom tutaj skorzystają widząc odpowiedź. Szukałem tego dokładnego problemu i cieszę się, że znalazłem go tutaj. – schizoid04