2009-03-18 16 views
4

J'essaye 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 d'emballage pour cela et tout semble être juste groovy - sur ma boîte. Testant le même code dans l'environnement de production, derrière un proxy qui nécessite une authentification, je n'ai eu que des problèmes.Difficulté avec BugzScout.net de derrière un proxy

Je suis allé travailler en modifiant le code de BugzScout afin de l'authentifier avec le proxy, et après avoir essayé plusieurs méthodes différentes suggérées via une recherche Google, j'ai trouvé celui qui fonctionne! Mais maintenant, je reçois une erreur "Connexion activement refusée" de Fogbugz lui-même, et je ne sais pas quoi faire.

Voici le code dans lequel BugzScout se connecte via un .Net WebClient pour soumettre un nouveau cas, avec mes modifications pour traiter notre Proxy. Que suis-je en train de faire pour que Fogbugz refuse ma demande? J'ai enlevé tout le code non client-client de la procédure 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 boitier est rempli correctement - cela a été vérifié.

EDIT: Informations supplémentaires.

  • Utilisation de Fogbugz on Demand.
  • En utilisant le code FogBugz.net dans son intégralité, avec seulement ces ajouts
 
     WebProxy proxy = new WebProxy(); 
     proxy.UseDefaultCredentials = true;    
     client.Proxy = proxy;
+0

Avez-vous déjà trouvé cela? écrivez-moi au prénom à fogcreek –

Répondre

3

J'ai obtenu le correctif de Fogbugz - c'est le code réseau approprié pour obtenir l'authentification du proxy et ne pas s'authentifier 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(); 
+1

La seule ligne dont j'avais réellement besoin était request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials; – jimconstable

0

Votre fogbugzUrl utilise-t-il l'authentification de base HTTP? Est-ce SSL (hébergé sur On Demand?)

Le message de connexion activement refusé proviendrait du serveur Web lui-même, pas vraiment FogBugz.

Pouvez-vous publier le code d'état HTTP? Une chose à noter si vous utilisez FogBugz On Demand est que vous devez utiliser le https: // url (pas l'URL http).