12
votes

Générer un service Web de WSDL

C'est peut-être une question vraiment simple, mais je ne pouvais pas localiser une réponse:

Pour un client, j'ai besoin d'héberger un service Web. Le client m'a envoyé un fichier WSDL que le site Web doit "mettre en œuvre". Comment vais-je aller à ce sujet? J'ai généré un nombre quelconque de rpoxies client, mais c'est l'inverse. Je peux utiliser des services WebServices ASP.NET 2.0 ou Windows Communication.


1 commentaires

Générez WSDL pour les classes existantes = "stratégie ascendante" [VERSUS] Générer un squelette de classe donnée étant donné WSDL existant WSDL = "Stratégie descendante" (Wikipedia)


4 Réponses :


15
votes

wsdl.exe / serveur .

génère une classe abstraite pour un XML Service Web basé sur les contrats. La valeur par défaut est de générer un client classes de proxy. Lorsque vous utilisez le / option Paramètres, cette valeur est une élément qui contient "Serveur".

Vous pouvez faire une chose similaire avec SvCuttil.exe pour WCF- quelque chose comme:

svcutil.exe thewsdl.wsdl / langue: c # /out:itheinterface.cs (je n'ai pas testé cela).

Edit- John Saunders fait un bon point dans sa réponse pour favoriser l'approche de la WCF- Je le recommande aussi.


3 commentaires

Est-ce vraiment aussi simple? J'ai utilisé de nombreuses fois wsdl.exe mais je ne connaissais pas le commutateur / serveur. Je vais tester et signaler


Yeap. WSDL Premier développement est une approche valide - voir cet article: blogs.msdn.com/dotnetinterop/archive/2008/09/24/...


Si vous voulez le résultat en C # c'est aussi simple que ceci: svcutil.exe thefile.wsdl



0
votes

Vous pouvez utiliser l'utilitaire WSDL de Microsoft pour générer les interfaces du serveur et les implémenter

Voici une brève description de l'utilitaire WSDL.

wsdl.exe - Utilitaire pour générer du code pour les clients de service Web XML et Web XML prestations de service Utilisation d'ASP.NET à partir de fichiers contractuels WSDL, de schémas XSD et de .disCompap Documents de découverte. Cet outil peut être utilisé conjointement avec Disco.exe.


0 commentaires

2
votes

Vous pouvez faire beaucoup avec ce fichier WSDL (WISSD'LE).

de la classe WS manuellement forte> pour utiliser la classe générée automatiquement forte> de wsdl.exe p>

Imagine Imagine Strong> que, pour votre exemple, vous avez ce WDSL (a pris de WebServiceX.net ) p>


à Créer un proxy généré AUT C # / fort> Vous allez à votre invite de commande et écrivez: P>

<wsdl:service name="TranslateService">


1 commentaires

Nouvelles versions WSDL dépréciées / serveur , désormais mieux à utiliser / serverinterface (et implémenter it IT). Le commutateur a été obsolète. Veuillez utiliser / serveurInterface à la place.



14
votes

En fait, vous devriez faire cela avec svcoktil.exe, pas avec wsdl.exe. WSDL.EXE fait partie de la technologie de service Web ASMX que Microsoft considère maintenant comme un code "héritage", qui n'aura pas corrigé de bugs.


2 commentaires

C'est un peu le point. L'idée serait de générer du code que le fabricant ne considère pas "héritage" et où ils envisagent toujours de l'améliorer et de résoudre des bugs.


Plus d'infos ici: Stackoverflow.com/Questtions/950150/...