Appeler un webservice derrière un serveur proxy
J'ai besoin d'ajouter une fonctionnalité dans une application C#), qui permettra d'utiliser un service web XML (SOAP).
Maintenant cette application peut (et surtout) être utilisé dans un environnement d'entreprise qui a un serveur proxy en place.
Je comprends le SAVON services utilisent le protocole HTTP et doivent donc utiliser le port 80, qui est normalement maintenue ouverte. Est-il juste que l'application peut utiliser le service web sans codage spécial ou j'ai besoin d'écrire un code spécial pour détecter les paramètres de proxy ou de quelques autres questions que vous pouvez voir?
EDIT: Webservice est un service accessible à tous sur internet. Ses pas sur le même réseau.
OriginalL'auteur Hemant | 2009-05-13
Vous devez vous connecter pour publier un commentaire.
Il utilise le port 80 par défaut, et vous ne devriez pas avoir à faire tout autre codage.
Si vous avez besoin de passer par un proxy en quelque sorte, tout ce que vous devez faire est d'ajouter les éléments suivants à votre site web.config:
Vous pouvez aussi le faire par le biais de code à l'aide de ceci:
OriginalL'auteur AaronS
Vous pouvez utiliser le réglage par défaut de votre machine:
et dans l'app.config ajouter cette configuration:
OriginalL'auteur kusnaditjung tjung
OK. J'ai donc fait quelques expériences et il s'avère que nous avons besoin d'écrire du code pour le faire fonctionner à partir de derrière le serveur proxy. (Même si j'aurais préféré une meilleure solution)
Si elle a effectivement des exercices en bas à poser des détails du serveur proxy de l'utilisateur et ensuite configurer le proxy de service de classe pour le serveur proxy en tant que ci-dessous:
J'ai écrit une classe de test et il utilise IP De Pays service web gratuit.
À l'aide de code ci-dessus, je risque de consommer le web service avec succès.
J'ai essayé d'utiliser le code (pas de fichier de config tout de même) mais il ne fonctionne pas. En fait l'application que j'avais l'intention de consommer ce service est une application windows. Pas vraiment sûr que c'est important ou pas.
OriginalL'auteur Hemant
La fonction intégrée de code (client web, WCF, HttpWebRequest, etc) tous faire usage de la configuration de WinHTTP pour obtenir la configuration du proxy. Donc tout ce que vous devez faire est de configurer WinHTTP savoir sur le proxy!
En XP, c'est:
qui importe les paramètres de l'utilisateur IE paramètres de proxy (WinInet).
Sur Vista /etc, vous utilisez
(et certains sous-commande comme "importer")
pas testé, mais essayez:
Après cela, votre .NET code doit tous les travaux via le proxy qui l'utilise a sans doute déjà configuré pour utiliser IE etc.
OriginalL'auteur Marc Gravell
Si votre webservice est sur le même réseau que le client en appelant le service web, alors il ne devrait pas passer par un proxy.
OriginalL'auteur jgallant
Aussi longtemps que le trafic web (port 80) est autorisé par le biais, vous ne devriez pas besoin de faire quelque chose de spécial. À partir d'un routeur /proxy point de vue du serveur web, les appels de service sont les mêmes que tout autre trafic HTTP.
OriginalL'auteur Eric Petroelje