Cómo obtener el archivo wsdl de la URL de un servicio web

92

Quiero obtener el archivo WSDL para un servicio web y lo único que tengo es su URL (como webservice.example / foo).

Si utilizo la URL directamente, solo se envía una respuesta de error.

Alfergón
fuente

Respuestas:

132

Al fijar la URL con ?WSDL

Si la URL es, por ejemplo:

http://webservice.example:1234/foo

Tu usas:

http://webservice.example:1234/foo?WSDL

Y se entregará el wsdl.

Alfergón
fuente
2
También en mayúsculas a veces (WSDL)
Dan
Y si no obtiene el wsdl, puede obtener un xml con una clave de enlace o algún tipo de código de validación que le ayudará a componer la URL real del wsdl.
Relojero
¿Alguna idea de cómo obtener los archivos xsd importados?
vikingsteve
Esto no funciona. Esta es la URL de mi servicio web: prealert-test.customer-pages.com
1
La cosa? WSDL es una convención generalmente seguida por marcos y demás. Si no funciona para usted, creo que debería encontrar algo específico para el marco que está utilizando.
Alfergon
26

para obtener el WSDL ( Web Service Description Language) de una URL de servicio web.

Es posible desde SOAP Web Services:

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

para obtener el WSDL solo tenemos que agregar ?WSDL , por ejemplo:

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

Jorgesys
fuente
1
¿Cómo recuperaría algunos datos usando la URL?
Jesse
2
Si desea recuperar datos de SOAP, debe usar esta herramienta soapui.org , es gratuita y funciona bien.
Mayor
13

Solo es posible obtener el WSDL si el servicio web está configurado para entregarlo. Por lo tanto, debe especificar un serviceBehavior y habilitar httpGetEnabled:

<serviceBehaviors>
    <behavior name="BindingBehavior">
        <serviceMetadata httpGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
</serviceBehaviors>

En caso de que solo se pueda acceder al servicio web a través de https, debe habilitar http s GetEnabled en lugar de httpGetEnabled.

Manuel Koch
fuente
5

Para descargar el wsdl desde una URL usando el símbolo del sistema para desarrolladores de Visual Studio , ejecútelo en modo Administrador e ingrese el siguiente comando:

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

Ahora puede consumir el wsdl descargado en su proyecto como mejor le parezca.

Talha Imam
fuente