Einen Webservice von einem Proxyserver aus aufrufen

7

Ich muss eine Funktionalität in einer Anwendung (C #) hinzufügen, die einen Web-Service (XML-SOAP-Dienst) verwendet.

Jetzt kann diese Anwendung (und meistens) in einer Unternehmensumgebung verwendet werden, in der ein Proxy-Server vorhanden ist.

Ich verstehe, dass die SOAP-Dienste das HTTP-Protokoll verwenden und daher Port 80 verwenden sollten, der normalerweise geöffnet bleibt. Ist es richtig, dass die Anwendung den Web-Service ohne spezielle Kodierung verwenden kann oder ich speziellen Code schreiben muss, um Proxy-Einstellungen oder andere Probleme zu erkennen, die Sie sehen?

EDIT: Webservice ist ein öffentlich verfügbarer Dienst im Internet. Es ist nicht im selben Netzwerk.

    
Hemant 13.05.2009, 17:11
quelle

6 Antworten

6

OK. Also habe ich einige Experimente gemacht und es stellt sich heraus, dass wir etwas Code schreiben müssen, damit es hinter dem Proxy-Server funktioniert. (Obwohl ich eine bessere Lösung bevorzugt hätte)

Es wird also tatsächlich versucht, Details des Proxy-Servers vom Benutzer abzufragen und dann die Dienst-Proxy-Klasse für den Proxy-Server wie folgt zu konfigurieren:

%Vor%

Ich schrieb eine Testklasse und es verwendet IP To Country kostenlosen Webservice.

Mit dem obigen Code konnte ich den Web-Service erfolgreich verwenden.

    
Hemant 15.05.2009, 11:59
quelle
10

Es wird standardmäßig Port 80 verwendet, und Sie sollten keine weitere Codierung vornehmen müssen.

Wenn Sie einen Proxy irgendeiner Art durchgehen müssen, müssen Sie lediglich Folgendes zu Ihrer web.config hinzufügen:

%Vor%

Sie können dies auch über den folgenden Code tun:

%Vor%     
AaronS 13.05.2009 17:28
quelle
7

Sie können die Standardeinstellung Ihres lokalen Computers verwenden:

%Vor%

und in app.config fügen Sie diese Konfiguration hinzu:

%Vor%     
kusnaditjung tjung 16.07.2012 12:14
quelle
5

Der integrierte Code (WebClient, WCF, HttpWebRequest usw.) nutzt die WinHTTP-Konfiguration, um die Proxy-Konfiguration zu erhalten. Alles, was Sie tun müssen, ist WinHTTP zu konfigurieren, um den Proxy zu kennen!

In XP ist dies:

%Vor%

importiert die Einstellungen von den IE-Proxy-Einstellungen des Benutzers (WinInet).

Unter Vista / etc verwendest du

%Vor%

(und ein Unterbefehl wie "importieren")

ungetestet, aber versuchen Sie:

%Vor%

Danach sollte Ihr .NET-Code über den Proxy funktionieren, den die Benutzer vermutlich bereits konfiguriert haben, um IE usw. zu verwenden.

    
Marc Gravell 13.05.2009 20:01
quelle
-1

Wenn sich Ihr Webservice im selben internen Netzwerk wie der Client befindet, der den Webservice aufruft, sollte er keinen Proxy durchlaufen.

    
jgallant 13.05.2009 17:14
quelle
-1

Solange Webverkehr (Port 80) erlaubt ist, sollten Sie nichts Besonderes tun. Aus der Sicht eines Routers / Proxy-Servers sind Web-Service-Aufrufe die gleichen wie bei jedem anderen HTTP-Verkehr.

    
Eric Petroelje 13.05.2009 17:20
quelle

Tags und Links