web-dev-qa-db-fra.com

Comment obtenir le fichier WSDL à partir de l'URL d'un service Web

Je souhaite obtenir le fichier WSDL pour un service Web et la seule chose que je connaisse est son URL (par exemple, webservice.example/foo).

Si j'utilise directement l'URL, seule une réponse d'erreur est fournie.

66
Alfergon

En postfixant l'URL avec ?WSDL

Si l'URL est par exemple: 

http://webservice.example:1234/foo

Tu utilises:

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

Et le WSDL sera livré.

94
Alfergon

obtenir la WSDL (Web Service Description Language) à partir d'une URL de service Web.

Est possible à partir de SOAP Web Services:

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

pour obtenir le WSDL, il suffit d'ajouter ?WSDL, par exemple:

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

19
Elenasys

Il est uniquement possible d’obtenir le WSDL si le service Web est configuré pour le fournir. Pour cela, vous devez spécifier un serviceBehavior et activer httpGetEnabled:

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

Si le service Web n’est accessible que via https, vous devez activer http s GetEnabled au lieu de httpGetEnabled.

9
Manuel Koch

Pour télécharger le fichier WSDL à partir d'une URL à l'aide de Invite de commandes du développeur pour Visual Studio , exécutez-le en mode Administrateur et entrez la commande suivante:

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

Vous pouvez maintenant utiliser le fichier wsdl téléchargé dans votre projet comme bon vous semble.

0
Talha Imam