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.
Odpowiedzi:
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.
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:
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.
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.