Como obter o arquivo wsdl do URL de um serviço da web

94

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.

Alfergon
fonte

Respostas:

135

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.

Alfergon
fonte
2
Todas as maiúsculas às vezes também (WSDL)
Dan
E se você não obtiver o wsdl, poderá obter um xml com uma chave de ligação ou algum tipo de código de validação que o ajudará a compor a url real do wsdl.
Relojoeiro
Alguma ideia de como obter os arquivos xsd importados?
vikingsteve de
Isso não funciona. Este é o meu url de serviço da web: prealert-test.customer-pages.com
1
O? WSDL é uma convenção geralmente seguida por frameworks e assim. Se não estiver funcionando para você, acho que você deve encontrar algo específico para a estrutura que está usando.
Alfergon
28

para obter o WSDL(Web Service Description Language ) de um URL de serviço da web.

É possível a partir de SOAP Web Services:

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

para obter o WSDL, só precisamos adicionar ?WSDL , por exemplo:

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

Jorgesys
fonte
1
Como você recuperaria alguns dados, usando a url?
Jesse de
2
Se você deseja recuperar dados do SOAP, deve usar esta ferramenta soapui.org, ela é gratuita e funciona bem.
Maior de
14

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.

Manuel Koch
fonte
7

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:

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

Agora você pode consumir o wsdl baixado em seu projeto como desejar.

Talha Imam
fonte