Nous avons installé un site Web ASP.NET sur le serveur d'un client. Ce site dispose d'un service web avec quelques méthodes web qui sont appelées par un objet Flash afin d'afficher un fil de nouvelles. Si vous naviguez sur leur site (ex: www.domain.com), tout fonctionne correctement sauf le flash. Le problème est que lorsque nous naviguons vers le .asmx, l'en-tête montre que l'hôte est un sous-domaine interne à son réseau (internal.domain.com). Évidemment, cela ne résout pas à toute adresse IP publique lors de la navigation de l'extérieur de leur réseau. Cela provoque l'échec du Flash car l'objet flash est incorporé sur une page et exécute donc le côté client.Problème avec les URL incorrectes dans le fichier WSDL d'un service Web .NET
J'ai vérifié le nom de l'ordinateur sur le serveur en question, et il ne correspond même pas "internal.domain.com" - c'est quelque chose de complètement différent. D'où provient cette information. Il ne provient pas d'IIS, car aucun en-tête d'hôte n'est configuré et l'adresse IP du site est définie sur (tous non affectés).
Nous devons soit forcer le service Web à s'exécuter sur un hôte spécifique, soit changer quelque chose sur le serveur afin qu'il se résout en un nom d'hôte public valide. Toute aide est grandement appréciée !!!!
Est-ce un fichier svc WCF ou un service asmx plaine? –
Je ne suis pas tout à fait sûr, car je ne suis pas la personne qui a initialement ajouté le service web dans le projet. Quelle serait la différence? Tout ce que je sais, c'est qu'il y a un fichier .asmx dans un dossier WebServices à la racine du site, et le fichier codebehind (.cs) est dans le répertoire App_Code. C'est à peu près tout ce qu'il y a à faire. – Keith
Nous avons découvert que notre client utilisait un proxy inverse pour son trafic web/réseau, donc l'en-tête de l'hôte qui arrivait ne correspondait pas à l'url/hostname réel. Ils n'étaient pas en mesure de le résoudre, nous avons donc dû supprimer la partie du flash qui appelait le service Web. – Keith