Jak uzyskać plik WSDL z adresu URL usługi internetowej

92

Chcę pobrać plik WSDL dla usługi sieciowej i jedyne, co mam, to jego adres URL (np. Webservice.example / foo).

Jeśli używam adresu URL bezpośrednio, dostarczana jest tylko odpowiedź o błędzie.

Alfergon
źródło

Odpowiedzi:

132

Dodając adres URL za pomocą ?WSDL

Jeśli adres URL to na przykład:

http://webservice.example:1234/foo

Używasz:

http://webservice.example:1234/foo?WSDL

I WSDL zostanie dostarczony.

Alfergon
źródło
2
Wszystkie występy czasami również (WSDL)
Dan
A jeśli nie otrzymasz wsdl, możesz otrzymać xml z kluczem wiążącym lub jakimś rodzajem kodu walidacyjnego, który pomoże ci stworzyć rzeczywisty adres URL wsdl.
Zegarmistrz
Masz jakiś pomysł, jak pobrać zaimportowane pliki xsd?
vikingsteve
To nie działa. To jest adres URL mojej usługi internetowej: prealert-test.customer-pages.com
1
Rzecz? WSDL jest konwencją, po której zwykle występują frameworki i tak dalej. Jeśli to nie działa, myślę, że powinieneś znaleźć coś konkretnego dla używanego frameworka.
Alfergon
26

aby uzyskać WSDL( Web Service Description Language) z adresu URL usługi sieci Web.

Jest to możliwe z SOAP Web Services:

http://www.w3schools.com/xml/tempconvert.asmx

aby otrzymać WSDL musimy tylko dodać ?WSDL, na przykład:

http://www.w3schools.com/xml/tempconvert.asmx? WSDL

Jorgesys
źródło
1
Jak możesz odzyskać niektóre dane, używając adresu URL?
Jesse
2
Jeśli chcesz pobrać dane z SOAP, powinieneś użyć tego narzędzia soapui.org , jest ono darmowe i działa dobrze.
Major
13

Uzyskanie WSDL jest możliwe tylko wtedy, gdy usługa sieciowa jest skonfigurowana do jego dostarczania. Dlatego musisz określić serviceBehavior i włączyć httpGetEnabled:

<serviceBehaviors>
    <behavior name="BindingBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
</serviceBehaviors>

W przypadku, gdy usługa internetowa jest dostępna tylko przez https, musisz włączyć http s GetEnabled zamiast httpGetEnabled.

Manuel Koch
źródło
5

Aby pobrać wsdl z adresu URL przy użyciu wiersza polecenia dewelopera dla programu Visual Studio , uruchom go w trybie administratora i wprowadź następujące polecenie:

 svcutil /t:metadata http://[your-service-url-here]

Możesz teraz korzystać z pobranego pliku wsdl w swoim projekcie według własnego uznania.

Talha Imam
źródło