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


92

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.

Réponses:


132

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


2
Toutes les sélections parfois aussi (WSDL)
Dan

Et si vous n'obtenez pas le wsdl, vous pouvez obtenir un xml avec une clé de liaison ou une sorte de code de validation qui vous aidera à composer l'URL réelle du wsdl.
Horloger

Une idée comment obtenir les fichiers xsd importés?
vikingsteve

Cela ne marche pas. Ceci est l'url de mon service Web: prealert-test.customer-pages.com

1
Le truc? WSDL est une convention généralement suivie par des frameworks et ainsi de suite. Si cela ne fonctionne pas pour vous, je suppose que vous devriez trouver quelque chose de spécifique pour le cadre que vous utilisez.
Alfergon

26

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

Est possible à partir des services Web SOAP:

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


1
Comment récupérer des données en utilisant l'URL?
Jesse

2
Si vous souhaitez récupérer des données de SOAP, vous devez utiliser cet outil soapui.org, il est gratuit et fonctionne très bien.
Majeur

13

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.


5

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:

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

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.