Difficulté avec BugzScout.net derrière un proxy
Question
J'essaie d'utiliser BugzScout de Fogbugz afin de soumettre automatiquement des exceptions d'application non gérées à mon compte Fogbugz on demand. J'ai écrit une classe de wrapper pour cela et tout semble être simplement groovy - sur ma boîte. En testant le même code dans l'environnement de production, derrière un proxy qui requiert une authentification, je n'ai eu que des problèmes.
Je me suis mis au travail pour modifier le code BugzScout afin de l’authentifier auprès du proxy, et après avoir essayé différentes méthodes suggérées via une recherche Google, en ai trouvé une qui fonctionne! Mais maintenant, je reçois une "connexion activement refusée". erreur de Fogbugz elle-même, et je ne sais pas quoi faire.
Voici le code où le BugzScout se connecte via un WebClient .net pour soumettre un nouveau cas, avec mes modifications pour traiter avec notre proxy. Qu'est-ce que je fais pour que Fogbugz refuse ma demande? J'ai supprimé de la procédure tous les codes non liés au client Web pour faciliter la lecture.
public string Submit(){
WebClient client = new WebClient();
WebProxy proxy = new WebProxy();
proxy.UseDefaultCredentials = true;
client.Proxy = proxy;
Byte[] response = client.DownloadData(fogBugzUrl);
string responseText = System.Text.Encoding.UTF8.GetString(response);
return (responseText == "") ? this.defaultMsg : responseText;
}
L'URL est correcte et le cas est renseigné correctement - cela a été vérifié.
EDIT: Informations supplémentaires.
- Utilisation de Fogbugz on Demand.
- Utiliser le code FogBugz.net dans son intégralité, avec uniquement ces ajouts
WebProxy proxy = new WebProxy(); proxy.UseDefaultCredentials = true; client.Proxy = proxy;
- Une erreur s'est produite lors de la tentative de connexion aux deux https://oursite.fogbugz.com/scoutsubmit.asp. et http://oursite.fogbugz.com//scoutsubmit.asp (sauf que l’un dit le port 443 et l’autre le port 80, évidemment)
- Je ne connais rien à l'authentification Web, je ne peux donc pas vous dire quel type j'utilise - si vous me dites où regarder, je me ferais un plaisir de vous répondre.
La solution
Vous avez trouvé le correctif de Fogbugz: il s’agit du code de réseau approprié pour obtenir l’authentification du proxy et ne pas vous authentifier de manière incorrecte avec Bugzscout.
WebRequest.DefaultWebProxy.Credentials = CredentialCache.DefaultNetworkCredentials;
WebRequest request = WebRequest.Create(fogBugzUrl);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
Autres conseils
Votre fogbugzUrl utilise-t-il l'authentification HTTP de base? Est-ce SSL (hébergé sur demande?)
Le message de connexion activement refusé proviendrait du serveur Web lui-même, pas vraiment de FogBugz.
Pouvez-vous publier le code de statut HTTP?
Une chose à noter si vous utilisez FogBugz On Demand, vous DEVEZ utiliser l’URL https: // (pas l’URL http).