Question

Je suis en train d'analyser un fichier WSDL qui est dans un autre serveur, mais a codded dur « localhost » dans le document.

Quand je vient le chercher, évidemment, le programme se plaint « connexion refusée » parce que rien ne fonctionne dans ma machine.

Ma question est: Est-il possible d'utiliser un WebProxy (comme Fiddler) pour rediriger les demande de localhost à mon autre serveur de sorte que les références WSDL sont complètes

: - /

Merci

p.s. Je pourrais toujours avoir fixé la télécommande « wsdl » mais le gars en charge sera ici la semaine prochaine et je voudrais commencer à travailler aujourd'hui.

Était-ce utile?

La solution

Vous pouvez utiliser Fiddler comme proxy de votre machine, puis l'avoir réécrit le WSDL pour changer localhost au nom de la machine correcte.

Le FiddlerScript CookBook a un exemple sur la façon d'écrire ce genre de scénario. Aller à cette page et recherchez « supprimer tous les tags DIV (et contenu dans la balise DIV) ». Il suffit de changer le regex pour correspondre localhost et définissez le remplacer au nom de la machine que vous souhaitez utiliser.

Autres conseils

Si vous avez un accès SSH à la machine, vous devriez être en mesure d'utiliser la redirection de port SSH pour y parvenir. Je suppose que vous utilisez Windows (basé sur l'étiquette C #), vous pouvez donc utiliser Putty comme expliqué ici: Utiliser la redirection de port avec PuTTY. Il suffit de suivre les instructions pour transmettre le port souhaité sur « localhost » au serveur qui sert le WSDL.

Par ailleurs, si vous êtes sur une machine à base * nix ou un Mac, utilisez SSH w / la commande suivante:

ssh -L PORTYOUWILLUSE:localhost:PORTONSERVER username@serverhostname

Par exemple, si le WSDL était servi sur le port 80, vous pouvez le faire

ssh -L 80:localhost:80 username@server

Une fois que vous êtes connecté (soit la méthode), toute demande localhost sur le port 80 sera redirigé vers le serveur.

Si vous voulez seulement changer pendant quelques minutes pendant que vous analysez le WSDL, vous pourriez être en mesure de modifier le fichier hôte et le point « localhost » à l'adresse IP distante. Le fichier hosts est dans "C: \ Windows \ System32 \ drivers \ etc". Dans Windows Vista / XP

Il y a quelques façons dont vous pourriez y parvenir, ne sont particulièrement robustes que des solutions à long terme, mais vous mentionnez que vous voulez juste quelque chose de temporaire jusqu'à ce que le dev revienne.

Si tout après le domaine correspond (si votre URL à distance est par ailleurs identique à l'localhost un), vous pouvez modifier votre entrée localhost dans votre fichier hosts.

Dans system32 \ drivers \ etc, copiez le fichier "hosts" sur votre bureau. Ouvrez dans le bloc-notes et modifier cette ligne:

127.0.0.1   localhost

Modifier l'adresse IP (127.0.0.1) à votre domaine distant. Copiez ensuite le fichier hosts de nouveau dans le répertoire etc. (Remarque: il est impossible de modifier ce fichier directement, en tant qu'administrateur ou autre).

Si vous avez plusieurs domaines sur le service Web à distance, dans IIS, vous devez changer le site Web pour servir pour les demandes de « localhost », cela peut sembler un peu bizarre, mais ça va marcher parce que votre machine fera demande à l'adresse IP du serveur, mais spécifier le domaine de requête comme « localhost ». Cliquez droit sur le site dans les propriétés IIS et sélectionnez, puis ajoutez le domaine « localhost » à la liste des valeurs en-tête HTTP pris en charge par ce site Web. Vous pouvez ignorer tout cela si votre site Web dans IIS servira le contenu si vous y accédez via une adresse IP. Si cette adresse IP unique est partagée entre plusieurs sites web (ce qui est généralement le cas), vous obtiendrez un « nom d'hôte Bad » erreur de IIS car il tente de rechercher « localhost » et ne peut pas trouver quel site Web pour diriger la demande.

Une autre possibilité est d'utiliser un serveur proxy personnel appelé Proxomitron . Il est un peu vieux, et non plus en cours de développement, mais il est très facile à installer et très solide.

Une fois que vous l'avez installé, ouvrez-le et cliquez sur « Config » - changer le port il écoute sur 80. Ensuite, vous devez créer une règle de redirection (ce n'est pas en fait une redirection, plus d'une réécriture de l'URL) . Vous aurez besoin d'avoir une lecture rapide du docs de comprendre comment ajouter votre propre redirect, mais il y a beaucoup d'échantillons livrés avec l'application. La règle que vous cherchez est RDIR:

  

$ RDIR () est plus sournoise et redirige la connexion à Proxomitron sans indiquer à votre navigateur. Ceci est utile lorsque vous voulez que votre navigateur penser qu'il va dans un lieu où, en réalité, il va ailleurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top