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.

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.


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


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.