Comment générer des fichiers XSD pour le web service
J'ai besoin de créer un service web (.NET) qui sera utilisé par d'autres système.
Afin de mettre en œuvre une logique qui va utiliser mon web service, j'ai besoin de leur envoyer wsdl et XSD fichiers pour mon service web.
Fichier WSDL n'est pas un problème, je vais l'obtenir à partir .asmx page en passant wsdl paramètre.
Mais comment puis-je générer des fichiers XSD pour mon web service?
Puis-je utiliser XSD.exe de l'outil et de le transmettre .fichier wsdl comme paramètre, ou est-il un autre moyen?
Merci d'avance.
OriginalL'auteur buhtla | 2010-11-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le disco.exe utilitaire qui vous permet d'enregistrer le fichier wsdl et xsd fichiers sur le disque, de sorte que ces fichiers peuvent être utilisés pour générer un proxy client sans avoir accès au web WSDL adresse.
Je ne suis pas en mesure de générer xsd à partir de wsdl adresse web.
OriginalL'auteur Darin Dimitrov
Si vous utilisez la version Pro de visual studio (et ci-dessus), lors de l'ouverture d'un fichier XML, vous trouverez un menu XML, avec un élément qui va générer un fichier XSD (Créer le Schéma). Je crois qu'il utilise
xsd.exe
sous le capot.Voir MSDN.
apparemment, un schéma est déjà défini. Regarder le XML et voir si elle est liée à un schéma.
Je suis en train de générer XSD à partir du fichier WSDL. WSDL est généré automatiquement à partir du service web que j'ai créé dans Visual Studio, donc feather Service Web générer XML non valide (ce dont je doute) ou il y a une autre raison pour cette erreur que je reçois.
OriginalL'auteur Oded
Vous pouvez ajouter "?xsd=1" à la fin de l'url de service pour obtenir de schéma.
par exemple, Si votre URL du service web est
://my_ws_service:9080/service/nom
ensuite, vous pouvez obtenir le WSDL à l'aide
://my_ws_service:9080/service/nom?WSDL
et vous pouvez obtenir le schéma à l'aide de
://my_ws_service:9080/service/nom?xsd=1
( note xsd est sensible à la casse)
Espère que cela aide.
OriginalL'auteur RaksJ
Pensé que je devais partager ma solution, dans mon cas, j'avais besoin de créer une réelle de classe C# donc je pourrais l'utiliser pour désérialiser la réponse XML pour un point de terminaison dont WSDL j'avais enregistré sur mon dev PC.
J'ai ouvert l'Invite de Commande Visual Studio et tapé le suivant:
Où le nom-de-votre-fichier est le nom de votre sauvegarde du fichier WSDL. L'exécution de la commande doit générer une classe C# vous pouvez ensuite utiliser dans votre application pour désérialiser un XML SOAP Réponse de votre point de terminaison.
Espère que cette aide.
OriginalL'auteur Tahir Khalid