Dificuldade com BugzScout.net por trás de um proxy
Pergunta
Eu estou tentando usar BugzScout de Fogbugz, a fim de enviar automaticamente excepções de aplicação unhanded ao meu Fogbugz em conta a demanda. Eu escrevi uma classe wrapper para ele e tudo parece ser apenas Groovy - na minha caixa. Testando o mesmo código no ambiente de produção, atrás de um proxy que requer autenticação, eu não tinha nada, mas problemas.
eu fui para o trabalho modificando o código BugzScout, a fim de obtê-lo para autenticar com o proxy, e depois de tentar vários métodos sugeridos através de uma pesquisa no Google, encontrei um que funciona! Mas agora eu estou recebendo um "Conexão ativamente recusada" erro da própria Fogbugz, e eu não sei o que fazer.
Aqui está o código onde o BugzScout conecta através de um .net WebClient para enviar um novo caso, com minhas modificações para lidar com nosso Proxy. O que estou fazendo que causaria Fogbugz de recusar o meu pedido? Eu removi todo o código não relacionados web-cliente a partir do procedimento para facilitar a leitura.
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;
}
O url está correta e que o caso seja preenchido properly- esta foi verificada.
EDIT: Informações adicionais.
- Usando Fogbugz on Demand.
- Usando o código FogBugz.net em sua totalidade, com apenas estas adições
WebProxy proxy = new WebProxy(); proxy.UseDefaultCredentials = true; client.Proxy = proxy;
- Erro ocorre ao tentar conectar-se tanto https://oursite.fogbugz.com/scoutsubmit.asp e http://oursite.fogbugz.com//scoutsubmit.asp (exceto se diz porta 443, ea outra porta 80, obviamente)
- Eu não sei nada sobre a autenticação web, então não posso dizer-lhe que tipo eu sou using- se você me dizer onde olhar Eu ficaria feliz em responder isso para você.
Solução
Got a correção de Fogbugz- este é o código de rede apropriada para obter embora a autenticação de proxy e não mis-autenticar com 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();
Outras dicas
é seu fogbugzUrl utilizando HTTP autenticação básica? É SSL (hospedado em On Demand?)
A conexão mensagem recusou ativamente estaria vindo do servidor web em si, não é realmente FogBugz.
Você pode postar o HTTP Status Código?
Uma coisa a nota, se você estiver usando FogBugz On Demand é que você tem que usar o https:. // url (não o http url)