2009-05-03 5 views
0

merci pour toute aide.quels fichiers donner au client pour .wsdl

Je crée un service Web wcf pour un client externe. Le client demande une copie du fichier wsdl. J'attends actuellement de pouvoir fournir au client l'accès au service.

quand je vais à mon serveur web local exécutant le service (http://localhost/Services.svc?wsdl) Je suis montré wsdl, les données fournies contient les signatures de méthode (à partir du code .svc derrière), mais ne contient pas les objets du modèle inclus (Client, commande, poste).

Pour obtenir ces objets, je peux trouver les références dans les données présentées et allez à l'adresse

Pour moi de fournir toutes les informations nécessaires au client, afin qu'ils aient toute wsdl devrais-je fournir le schéma principal et aussi chacun des schémas importés?

ou est-il une autre façon d'y parvenir (autre que le client frappe un serveur)

-à-dire: est-il un moyen d'emballage tous dans un seul fichier?
(Il semble que quelque chose soit disponible pour extraire chacun de ces fichiers?)

Si je devais donner un fichier .zip avec chacun de ces fichiers, cela serait-il suffisant?

Merci, Steven

Répondre

0

WCF empaquette son WSDL et son XSD (schéma XML pour décrire les données envoyées) en différentes parties, comme vous l'avez déjà remarqué. Ceux-ci sont référencés depuis votre fichier WSDL principal avec des fichiers href supplémentaires. Ou encore mieux: vous pouvez exécuter la commande "svcutil -metadata" sur la ligne de commande par rapport à la DLL ou à l'EXE qui contient votre implémentation de service - cela créera tous les fichiers nécessaires (généralement plusieurs WSDl et plusieurs XSD) dans le répertoire dans lequel vous exécutez la commande svcutil. C'est généralement un moyen plus fiable que de reconstituer les fichiers WSDL et XSD à partir de l'URL? Wsdl (vous finissez généralement par manquer un ou deux fichiers).

Marc

+0

Parfait, merci marc_s. C'est exactement ce que je cherchais. question rapide, il a également créé deux fichiers: schemas.microsoft.com.2003.10.Serialization.Arrays.xsd schemas.microsoft.com.2003.10.Serialization.xsd Je ne pas besoin de fournir ceux-ci ne i? Merci, Steven – stevenrosscampbell

+0

Oui, définitivement - vous devez également les envoyer. Le WSDL principal fait référence à ceux-ci - si vous ne les envoyez pas, votre client pourrait ne pas être capable de créer un proxy client à partir des fichiers fournis. –

+0

Salut marc_s. Merci encore. Tout le meilleur. Steven – stevenrosscampbell

0

Si vous avez téléchargé manuellement chaque sous-WSDL et XSD référencé, alors oui, il travaillerait; mais c'est lourd, c'est le moins qu'on puisse dire.

Une option qui mérite d'être étudiée serait d'utiliser WCF extensions de Christian Weyer pour aplatir votre WSDL afin que WCF génère tout dans un seul fichier, puis le donner à votre client.

Questions connexes