Eclipse proxy setting for XML validation

Running Eclipse 3.5 (= Galileo) under (K)Ubuntu Linux 9.10 . Corporate environment with HTTP proxies.

I have my Preferences | General | Network Connections all set up with HTTP, host, port, Authentication required and the credentials.

Eclipse is asking for my master password at Eclipse startup. So I've provided all the authorization I can think of but it seems to be not enough.

Proxy access is working OK (and without bugging me) for e.g. software updates and SVN updates from the Internet, but apparently fails for XML DTD validations. Eclipse pops up a dialog showing me my proxy host and asks for the proxy password. I would expect it to get this info from the proxy credentials I've set up. This happens quite often so it's very annoying to me. Is there anything I can do to alleviate this?

Answers


Did you try accessing to the internet with Eclipse (for update or XML validation) through manual Active Provider instead of native?

Eclipse shouldn't prompt you for a password at the beginning, and XML validation should work. The bug 82037 was solved a long time ago, and current development settings (like this MOTODEV Studio for Android Installation) recommend manual settings for proxy.

When you are on a network that requires proxy authentication, MOTODEV Studio updates will only occur if the proxy information (including username and password) are manually set for both HTTP and HTTPS connections (in Preferences, under General > Network Connections). This also affects the download and install of the Android SDK during the installation process. If during installation you are asked if you want to change the connection preferences, do so. Change the active provider to "Manual" and provide host, port, user, and password values for both the HTTP and HTTPS schemes.

Just tested it: it does prompt me for my credentials... once. The first time I try to validate an xml file like the one below. But after that, it does not ask me for those credentials again.

<!DOCTYPE catalog
  PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
         "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
         prefer="public">

  <group xml:base="http://www.oasis-open.org/docbook/xml/4.1.2/">
    <public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN"
            uri="docbookx.dtd"/>
    <public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN"
            uri="dbnotnx.mod"/>
    <public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN"
            uri="dbcentx.mod"/>
    <public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN"
            uri="dbpoolx.mod"/>
    <public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN"
            uri="dbhierx.mod"/>
    <public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN"
            uri="dbgenent.mod"/>
    <public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN"
            uri="calstblx.dtd"/>
  </group>

  <public publicId="-//OASIS//DTD DocBook MathML Module V1.0//EN"
      uri="http://www.oasis-open.org/docbook/xml/mathml/1.0/dbmathml.dtd"/>

  <nextCatalog catalog="stylesheets.xml"/>

</catalog>

So basically, Eclipse needs your full internet credentials to be able to validate xml files at any times: proxy, port, username, password. But when you must store the password, then a master password comes in play, and will be asked for at each Eclipse session (once):

The information stored in the secure storage (say, a CVS password) is encrypted with a "master" password. The master password is retrieved from a "password provider module". There are three password provider modules included in the SDK:

  • the default UI module in the org.eclipse.equinox.security.ui
  • the Windows-specific module in the org.eclipse.equinox.security.win32.x86
  • the Mac-specific module in the org.eclipse.equinox.security.macosx

I'm not sure why Eclipse is not using the proxy for DTD download. This sounds like a bug and you should open a defect (if one does not exist).

As a temporary workaround, you can add a user specified catalog contribution to Eclipse. First, download the DTD into a local folder. Then under Preferences->XML->XML Catalog select User Specified Entries and click Add and add your files.


Need Your Help

Crash Reporter for Cocoa app

objective-c cocoa user-experience

I'm working on a Cocoa app targeting Leopard and above, and I'm thinking about adding a crash reporter to it (I'd like to think my app won't crash, but let's get real here). I have some mostly conc...