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.
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.
aby uzyskać
WSDL
(Web Service Description Language
) z adresu URL usługi sieci Web.Jest to możliwe z SOAP Web Services:
aby otrzymać WSDL musimy tylko dodać
?WSDL
, na przykład:http://www.w3schools.com/xml/tempconvert.asmx? WSDL
źródło
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.
źródło
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:
Możesz teraz korzystać z pobranego pliku wsdl w swoim projekcie według własnego uznania.
źródło