Quero obter o arquivo WSDL para um serviço da web e a única coisa que tenho é seu URL (como webservice.example / foo).
Se eu usar o URL diretamente, apenas uma resposta de erro será entregue.
Postfixing o URL com ?WSDL
Se o URL for, por exemplo:
http://webservice.example:1234/foo
Você usa:
http://webservice.example:1234/foo?WSDL
E o wsdl será entregue.
para obter o
WSDL
(Web Service Description Language
) de um URL de serviço da web.É possível a partir de SOAP Web Services:
para obter o WSDL, só precisamos adicionar
?WSDL
, por exemplo:http://www.w3schools.com/xml/tempconvert.asmx? WSDL
fonte
Só é possível obter o WSDL se o serviço da web estiver configurado para entregá-lo. Portanto, você deve especificar um serviceBehavior e habilitar httpGetEnabled:
<serviceBehaviors> <behavior name="BindingBehavior"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> </behavior> </serviceBehaviors>
No caso de o serviço da web só estar acessível via https, você deve habilitar http s GetEnabled em vez de httpGetEnabled.
fonte
Para baixar o wsdl de um url usando o Prompt de Comando do Desenvolvedor para Visual Studio , execute-o no modo Administrador e digite o seguinte comando:
Agora você pode consumir o wsdl baixado em seu projeto como desejar.
fonte