Question
Est-ce que quelqu'un connaît un bon outil pour générer le WSDL pour un contrat de service écrit en C # (c'est-à-dire un ensemble de méthodes étiquetées comme & "[OperationContract] &" à l'aide de WCF)? Tous les outils que j'ai trouvés fonctionnent en sens inverse: créer des stubs de code à partir d'un WSDL. Je ne veux pas avoir à confectionner un fichier WSDL à la main. J'ai trouvé des outils pour PHP et J2EE, mais pas C #. Merci!
La solution
La chose la plus simple à faire est d'héberger le service avec une configuration d'adresse de base, puis de cliquer dessus depuis un navigateur avec & "? wsdl &"; annexé à la fin.
Voici un exemple de configuration de service avec une adresse de base spécifiée. Notez que cela va dans l’élément <configuration><services>
de votre config:
<service name="MyServiceName" behaviorConfiguration="MyServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9000/MyService"/>
</baseAddresses>
</host>
<endpoint address="net.tcp://localhost:9001/MyService"
binding="netTcpBinding"
contract="IMyService"
bindingConfiguration="MyServiceBinding"/>
</service>
Une fois que vous l'avez hébergé, accédez à http://localhost:9000/MyService?wsdl
pour voir la définition WSDL.
Autres conseils
svcutil ou tout simplement l'héberger rapidement et atteindre le point MEX :)
Deux façons:
a) Téléchargez le fichier wsdl et suivez les étapes ci-dessous :
i) Ouvrez l'invite de commande de visual studio en tant qu'administrateur.
ii) Tapez la commande ci-dessous:
wsdl.exe [chemin d'accès à votre fichier WSDL]
b) Avec le noeud final :
i) Ouvrez l'invite de commande Visual Studio en tant qu'administrateur.
ii) tapez la commande ci-dessous: wsdl.exe http: // localhost: 9000 / MyService