Je veux obtenir le fichier WSDL pour un service Web et la seule chose que j'ai est son URL (comme 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é.
pour obtenir le
WSDL
(Web Service Description Language
) à partir d'une URL de service Web.Est possible à partir des services Web SOAP:
pour obtenir le WSDL il suffit d'ajouter
?WSDL
, par exemple:http://www.w3schools.com/xml/tempconvert.asmx? WSDL
la source
Il n'est possible d'obtenir le WSDL que 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>
Dans le cas où le service Web n'est accessible que via https, vous devez activer http s GetEnabled au lieu de httpGetEnabled.
la source
Pour télécharger le wsdl à partir d'une URL à l'aide de l' invite de commande du développeur pour Visual Studio , exécutez-le en mode administrateur et entrez la commande suivante:
Vous pouvez désormais utiliser le fichier wsdl téléchargé dans votre projet comme bon vous semble.
la source