2009-04-28 9 views
2

Lorsque j'essaie de mettre à jour la référence Web vers un service Web asp.net déployé à partir d'une application Windows Forms, j'obtiens une erreur.Problème de consommation du service Web asp.net déployé vers IIS6

Unable to download following files from .
https://webserver/webservices/myservice.asmx?wsdl

Pour une raison quelconque, il est à la recherche à un hôte appelé serveur web, mais ce n'est pas ce qu'il doit chercher le WSDL. Il faut regarder le nom de domaine que j'ai mis pour la référence du service Web pour commencer. Je suppose que j'ai un problème avec IIS.

Que puis-je faire pour résoudre ce problème?

+0

http://forums.asp.net/t/1059073.aspx –

+0

J'ai lu ce message sur le forum. 1.) Comment changez-vous l'emplacement dans web.config? 2.) Comment générer le WSDL dans VS et le mettre sur le serveur? –

Répondre

2

Pouvez-vous essayer d'utiliser wsdl.exe pour générer la classe proxy pour la même URL?

wsdl /out:myProxyClass.cs https://<server>/webservices/myservice.asmx?wsdl 
+0

Merci pour le conseil utile! –

+0

content que ça a marché ..:) –

0

Je doute vraiment qu'il y ait un problème avec les services Internet (IIS), je vous suggère de supprimer la référence à webservice de votre application Windows et de donner à nouveau l'URL correcte du service Web. De plus, l'accès à des services web sur HTTPS apporte son propre partage de pépins séparés, donc je vous suggère d'essayer sans HTTPS d'abord, de le faire fonctionner et de passer ensuite au HTTPS.

+0

MÊME PROBLÈME après avoir suivi les conseils. –

+0

Il serait logique que IIS provoque le problème, car il recherche wsdl au nom de l'ordinateur. Je n'ai jamais tapé le nom local de l'ordinateur dans un code. –

0

Il semble que vous ayez besoin de configurer les liaisons de serveur dans IIS, en particulier la valeur d'en-tête de l'hôte, pour https. Dans IIS 6, vous ne pouvez pas le faire via l'interface utilisateur du gestionnaire IIS. Vous devrez exécuter cscript adsutil.vbs. Jetez un oeil Configuring Server Bindings for SSL Host Headers (IIS 6.0).

+0

J'ai le même problème lorsque je n'utilise pas le SSL –

0

Suivant les conseils de Gulzar, je wsdl.exe utilisé pour générer la classe, puis est allé dans la classe et a changé le nom d'hôte local au nom d'hôte Internet accessible du serveur.

BRILLANT!

Cependant, à l'avenir, je ne serai pas en mesure de faire un clic droit sur la référence web dans mon projet et de choisir UPDATE SOLUTION. MAIS QUI DONNE UN FROMAGE DE FROMAGE?

0

Nous avions un service Web VS 2003 1.1, et nous n'avons pas pu nous connecter avec la définition de wsdl qui ne s'est pas chargée.

Il s'avère que le problème était lié à Uri. J'ai pris deux jours pour comprendre cela.

BAD: [WebService (Namespace = "http://../MyWebService.com/ "]

BON: [WebService (Namespace =" http://tempuri.org/"]

vérifier l'espace de noms par défaut est une adresse absolue

Pour plus d'informations. visitez: http://www.w3.org/TR/wsdl

Hope this helps

+0

-1: @richard: merci d'essayer d'aider, mais votre réponse ne répond pas du tout à la question. C'est juste quelque chose de vaguement similaire "ne pouvait pas utiliser WSDL" qui vous est arrivé, mais qui n'a rien à voir avec la question actuelle. –

+0

Si vous essayez d'ajouter une référence de service Web à partir d'un .Net 2.0, la même erreur est exactement la même pour une webserie écrite en .Net 1.1 avec: Impossible de télécharger les fichiers suivants depuis. https: //webserver/webservices/myservice.asmx? Wsdl Le problème .Net 1.1 était plus laxiste dans sa validation du format WDSL. Le framework .Net 2.0 va valider l'uri et ne pas se connecter au webservice. Ajout de la référence via Visual Studio et aller à la ligne de commande fait la même chose. Cela m'a aidé à comprendre ce qui n'allait pas, mais ne m'a pas dit pourquoi. C'était mon pourquoi, et comme je l'ai dit j'espère que c'est utile à quelqu'un. –

Questions connexes