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.

Alfergon
la source

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

Alfergon
la source
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

Jorgesys
la source
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.

Manuel Koch
la source
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.

Talha Imam
la source