Pregunta

Estoy intentando utilizar el BugzScout de Fogbugz para enviar automáticamente excepciones de aplicación no administradas a mi cuenta de Fogbugz on demand. He escrito una clase de envoltura para ello y todo parece estar simplemente genial, en mi caja. Al probar el mismo código en el entorno de producción, detrás de un Proxy que requiere autenticación, no he tenido más que problemas.

Trabajé modificando el código BugzScout para que se autenticara con el Proxy, y después de probar muchos métodos diferentes sugeridos a través de una búsqueda en Google, ¡encontré uno que funciona! Pero ahora estoy obteniendo una "Conexión rechazada activamente" error del propio Fogbugz, y no sé qué hacer.

Aquí está el código donde BugzScout se conecta a través de un cliente web .net para enviar un nuevo caso, con mis modificaciones para tratar con nuestro Proxy. ¿Qué estoy haciendo para que Fogbugz rechace mi solicitud? Eliminé todo el código no relacionado con el cliente web del procedimiento para facilitar la lectura.

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;
    }

La url es correcta y el caso se rellena correctamente, esto se ha verificado.

EDITAR: Información adicional.

  • Uso de Fogbugz on Demand.
  • Usando el código FogBugz.net en su totalidad, con solo estas adiciones
       WebProxy proxy = new WebProxy();
       proxy.UseDefaultCredentials = true;            
       client.Proxy = proxy;
¿Fue útil?

Solución

Obtuve la solución de Fogbugz: este es el código de red apropiado para obtener la autenticación proxy y no autenticar mal con 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();

Otros consejos

¿Su fogbugzUrl está utilizando la autenticación básica HTTP? ¿Es SSL (alojado bajo demanda?)

El mensaje de conexión rechazada activamente vendría del servidor web en sí, no realmente de FogBugz.

¿Puedes publicar el código de estado HTTP?

Una cosa a tener en cuenta si está utilizando FogBugz On Demand es que TIENE que usar https: // url (no la http url).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top