This project is read-only.
1
Vote

Bug: 407 - Proxy Authentication Required

description

When I'm acessing the web through a Proxy, the following message is shown when I open XML Explorer, or when I try to get an update: "407 - Proxy Authentication Required". XML Explorer should have a proxy configuration somewhere, and should alert a friendly message whenever this error occurs.

file attachments

comments

jcoon wrote May 12, 2009 at 5:06 PM

Thanks for submitting this information. In order to troubleshoot this, can you do me a favor and check for updates in other programs, like Paint.NET and FileZilla? I'm just curious how they behave, as they check for updates, and do not have dedicated proxy configuration. My understanding is that the .NET WebClient (which I use to check for updates) uses the system settings for proxy configuration. If you open this url in a browser, do you get prompted for credentials? http://www.codeplex.com/xmlexplorer/Project/ProjectRss.aspx?ProjectRSSFeed=codeplex://release/xmlexplorer

LucasProcessi wrote May 12, 2009 at 8:09 PM

I installed Paint.NET, and it shows me the same error (a friendlier error, I must say) when I try to update. I'm a programmer too, and I know it ain't difficult to get IE's proxy configuration. Alternatively, you should create an Option menu, and let the users specify their proxy configuration.
I opened the URL successfully (without any prompt for Proxy Credentials) in Firefox and IE.

LucasProcessi wrote May 12, 2009 at 8:11 PM

therubble wrote Sep 24, 2009 at 12:00 PM

Hi,

I've fixed this issue tested with and without proxy on 2 machines:
I changed the following function in TabbedXMLExplorerWindow.cs

public void CheckForUpdates(bool userRequested)
    {
        WebClient webClient = new WebClient();
        webClient.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
        webClient.DownloadDataCompleted += this.OnDownloadDataCompleted;
        webClient.DownloadDataAsync(new Uri(this.AutoUpdateUrl), userRequested);
    }

thedailycommute wrote Oct 20, 2010 at 12:02 PM

Looks like this problem has been around for a while (and continues - I just checked :-). I had this problem years ago, and the same thing continues to exist today with apps such as Paint.NET and the QuickTime updater. The problem usually manifests when a company (like ours) uses Microsoft's IIS Proxy - all but the simplest of requests require the user authentication (user/password) to be sent multiple times. So far as I can tell, authentication is required for each HTTP GET request, instead of a single time when a connection is opened.

The solution (or at least the solution that works - note present tense! - for me) is to use the Proxomitron Software Proxy (http://www.proxomitron.info/). It hasn't been updated for a long time, but still continues to work fine (I used it in W2K, XP, Vista and now currently in W7). Basically you configure the proxomitron to talk to the corporate proxy - then, whenever the corp. proxy requests authentication, the proxomitron sends it, allowing the calling application to work transparently. The app needs to be configured to use the proxomitron (usually via 127.0.0.1:8080) and in the case of XML Explorer, all that needs to be done is change the IE proxy settings to point to the proxomitron. Et voilà... update checks work again!

Hope this info will help others fix proxy problems (and not just in XML Explorer!)

John

ikrush wrote Dec 27, 2010 at 2:50 PM

Put this on the app.config: