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.
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é.
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:
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.
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.