Frage

Ich versuche, eine WSDL-Datei zu analysieren, die in einem anderen Server ist aber schwer codded „localhost“ im ganzen Dokument.

Wenn ich es holen, offensichtlich das Programm beschwert „Verbindung abgelehnt“, weil nichts in meinem Rechner läuft.

Meine Frage ist: Ist es möglich, einen Webproxy (wie Fiedler) zu verwenden, um die localhost Anfrage an meinen anderen Server umgeleitet werden, so dass die WSDL-Referenzen sind vollständig

- /

Danke

P. S. Ich konnte immer haben die remote „wsdl“ behoben, aber der Typ an Ladung wird hier bis zur nächsten Woche, und ich möchte heute anfangen zu arbeiten.

War es hilfreich?

Lösung

Sie könnten Fiddler als Proxy von Ihrem Computer verwenden und dann die WSDL haben umschreiben localhost auf die richtigen Computernamen zu ändern.

Die FiddlerScript Cookbook ein Beispiel darauf hat, wie diese Art schreiben von Skript. Gehen Sie zu dieser Seite und suchen Sie nach „Entfernen Sie alle DIV-Tags (und Inhalt innerhalb des DIV-Tag)“. Ändern Sie einfach den regulären Ausdruck übereinstimmen localhost und auf den Computernamen Sie die ersetzen verwenden soll.

Andere Tipps

Wenn Sie SSH-Zugriff auf das Gerät haben, sollten Sie in der Lage sein, SSH Port-Weiterleitung zu verwenden, um dies zu erreichen. Ich gehe davon aus Sie Windows (basierend auf dem C #-Tag), so können Sie Putty verwenden, wie hier erläutert: mit Port-Forwarding mit PuTTY . Folgen Sie einfach diesen Anweisungen, um den gewünschten Port auf „localhost“ an den Server zu übermitteln, die die WSDL dient.

Wenn Sie alternativ auf einer * nichts-basierte Maschine oder einen Mac sind, verwenden Sie SSH w / den folgenden Befehl ein:

ssh -L PORTYOUWILLUSE:localhost:PORTONSERVER username@serverhostname

Zum Beispiel, wenn der WSDL auf Port 80 bedient wurde, könnten Sie tun,

ssh -L 80:localhost:80 username@server

Wenn Sie in (entweder mit Methode) angemeldet sind, werden alle Anfragen an Port auf localhost 80 werden an den Server umgeleitet werden.

Wenn Sie es nur für ein paar Minuten ändern möchten, während Sie die WSDL analysieren, können Sie möglicherweise die Host-Datei und Punkt „localhost“ Adresse der Remote-IP ändern. Die Hosts-Datei ist in "C: \ Windows \ System32 \ drivers \ etc". Unter Windows Vista / XP

Es gibt ein paar Möglichkeiten, wie Sie dies erreichen könnte, sind keine besonders robust als langfristige Lösungen, aber Sie erwähnen Sie wollen einfach nur etwas vorübergehend, bis die Entwickler zurückkommt.

Wenn alles nach der Domäne übereinstimmt (wenn Ihre Remote-URL ist ansonsten das gleiche wie die localhost ein), können Sie Ihren Eintrag localhost in Ihrer Host-Datei bearbeiten.

In system32 \ drivers \ etc, kopieren Sie die Datei "hosts" auf Ihrem Desktop. Öffnen Sie im Editor und ändern Sie die folgende Zeile:

127.0.0.1   localhost

Ändern Sie die IP-Adresse (127.0.0.1) zu Ihrer Remote-Domäne. Dann kopieren Sie die Datei die Gastgeber wieder in das Verzeichnis etc. (Hinweis: Es ist nicht möglich, diese Datei direkt zu bearbeiten, als Administrator oder aus anderen Gründen).

Wenn Sie mehrere Domänen auf dem Remote-Web-Service haben, in IIS, müssen Sie die Website ändern, um Anfragen zu dienen „localhost“, könnte dies ein wenig seltsam erscheinen, aber es wird funktionieren, weil Ihre Maschine machen Anfragen an den IP-Adresse des Servers, sondern die Anfrage Domäne als „localhost“ angeben. Rechtsklicken Sie auf die Website in IIS, und wählen Sie Eigenschaften, dann fügen Sie die Domain „localhost“ in die Liste der HTTP-Header-Werte, die von dieser Website unterstützt. Sie können alle diese ignorieren, wenn Ihre Website in IIS Inhalt dienen, wenn Sie es über eine IP-Adresse zugreifen. Wenn das einzelne IP-Adresse zwischen mehreren Websites gemeinsam genutzt wird (das ist in der Regel der Fall ist), werden Sie ein „Bad-Hostname“ Fehler von IIS zu erhalten, wie es versucht, „localhost“ zu suchen und nicht finden können, die Website zu lenken die Anforderung an.

Eine andere Möglichkeit ist es, ein persönlicher Proxy-Server zu verwenden, genannt Proxomitron . Es ist ein wenig alt und nicht mehr in der Entwicklung, aber es ist sehr einfach zu installieren und sehr solide.

Wenn Sie es installiert haben, öffnen Sie es und klicken Sie auf „Config“ - ändern Sie die Port es hört auf zu 80. Als nächstes müssen Sie eine Umleitung Regel erstellen (es ist nicht wirklich eine Umleitung, eher ein Umschreiben der URL) . Sie werden eine schnelle Lesen der docs haben müssen zu verstehen, wie Sie Ihre eigene Umleitung hinzufügen, aber es gibt viele Beispiele, die mit dem App versenden. Die Regel Sie suchen ist RDIR:

  

$ RDIR () Ist mehr hinterhältig und leitet die Verbindung in Proxomitron, ohne den Browser zu sagen. Dies ist nützlich, wenn Sie Ihren Browser es geht einem Ort zu denken, wenn in Wirklichkeit es woanders gehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top