Сложность с BugzScout.net из-за прокси

Я пытаюсь использовать BugzScout от Fogbugz, чтобы автоматически отправлять неопубликованные исключения из приложений в мою учетную запись Fogbugz по требованию. Я написал для него класс-оболочку, и все выглядит просто замечательно - на моей коробке. Тестируя тот же код в производственной среде, за прокси-сервером, который требует аутентификации, у меня не было ничего, кроме проблем.

Я начал работать над модификацией кода BugzScout, чтобы он аутентифицировался с Прокси-сервером, и после того, как попробовал много разных методов, предложенных через поиск в Google, нашел тот, который работает! Но теперь я получаю ошибку "Соединение активно отказано" от самого Fogbugz, и я не знаю, что делать.

Вот код, где BugzScout подключается через.net WebClient для отправки нового дела, с моими изменениями для работы с нашим прокси. Что я делаю, чтобы Fogbugz отклонил мой запрос? Я удалил весь код, не связанный с веб-клиентом, из процедуры для удобства чтения.

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

URL-адрес правильный и дело заполнено правильно - это было проверено.

РЕДАКТИРОВАТЬ: Дополнительная информация.

  • Использование Fogbugz по требованию.
  • Использование кода FogBugz.net полностью, только с этими дополнениями
       WebProxy proxy = new WebProxy();
       proxy.UseDefaultCredentials = true;            
       client.Proxy = прокси;
  • Ошибка возникает при попытке подключиться как к https://oursite.fogbugz.com/scoutsubmit.asp и к http://oursite.fogbugz.com//scoutsubmit.asp (за исключением того, что один говорит, что порт 443, а другой порт 80, очевидно,)
  • Я ничего не знаю о веб-аутентификации, поэтому я не могу сказать вам, какой тип я использую - если вы скажете мне, где искать, я буду рад ответить за вас.

2 ответа

Решение

Получил исправление от Fogbugz- это соответствующий сетевой код, который можно получить через аутентификацию прокси-сервера, а не неверную аутентификацию с помощью 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();

Использует ли ваш fogbugzUrl базовую аутентификацию HTTP? Является ли это SSL (размещенный на по требованию?)

При активном отказе в соединении сообщение будет исходить от самого веб-сервера, а не от FogBugz.

Можете ли вы опубликовать код статуса HTTP?

Стоит отметить, что если вы используете FogBugz On Demand, вы ДОЛЖНЫ использовать https:// url (а не http url).

Другие вопросы по тегам