Сложность с BugzScout.net из-за прокси - PullRequest
4 голосов
/ 18 марта 2009

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

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

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

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 = proxy;
  • Ошибка возникает при попытке подключиться к https://oursite.fogbugz.com/scoutsubmit.asp и http://oursite.fogbugz.com//scoutsubmit.asp (за исключением одного говорит, что порт 443, а другой порт 80, очевидно)
  • Я ничего не знаю о веб-аутентификации, поэтому не могу сказать вам, какой тип я использую - если вы скажете мне, где искать, я буду рад ответить за вас.

Ответы [ 2 ]

3 голосов
/ 23 июля 2009

Получил исправление от 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();
0 голосов
/ 31 марта 2009

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

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

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

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

...