Name: gm110360 Date: 02/12/2002 FULL PRODUCT VERSION : java version "1.4.0-rc" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-rc-b91) Java HotSpot(TM) Client VM (build 1.4.0-rc-b91, mixed mode) FULL OPERATING SYSTEM VERSION : Windows 2000 5.1 x86 locale: NL A DESCRIPTION OF THE PROBLEM : The client tries to access a password-protected website containing an applet (Java 1.2 Swing) splitted in 4 jars. The web-server (Apache) is additionally protected by a proxy in our DMZ. The HTML-pages and the jars for the applet are both protected by authentication basic. The client uses Internet-Explorer, Java-Plugin 1.4.0-RC1 and Microsoft ISA-Server for accessing the internet. The browser loads the HTML-pages after entering the user and password, but the plugin can not load the applet. It returns the following error: java.io.IOException: Server returned HTTP response code: 407 for URL: http://myurl.com/myjar.jar at sun.net.www.protocol.http.HttpURLConnection.getInputStream (HttpURLConnection.java:691) at sun.plugin.net.protocol.http.HttpURLConnection.getInputStrea m(HttpURLConnection.java:369) at sun.net.www.protocol.http.HttpURLConnection.getHeaderFields (HttpURLConnection.java:1133) at sun.plugin.net.protocol.http.HttpURLConnection.checkCookieHe ader(HttpURLConnection.java:330) at sun.plugin.net.protocol.http.HttpURLConnection.getInputStrea m(HttpURLConnection.java:367) at sun.plugin.net.protocol.http.HttpUtils.followRedirects (HttpUtils.java:39) at sun.plugin.cache.CachedJarLoader.download (CachedJarLoader.java:311) at sun.plugin.cache.CachedJarLoader.load (CachedJarLoader.java:131) at sun.plugin.cache.JarCache.get(JarCache.java:175) at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect (CachedJarURLConnection.java:71) at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFil e(CachedJarURLConnection.java:56) at sun.misc.URLClassPath$JarLoader.getJarFile (URLClassPath.java:498) at sun.misc.URLClassPath$JarLoader.<init> (URLClassPath.java:459) at sun.misc.URLClassPath$2.run (URLClassPath.java:255) at java.security.AccessController.doPrivileged (Native Method) at sun.misc.URLClassPath.getLoader (URLClassPath.java:244) at sun.misc.URLClassPath.getLoader (URLClassPath.java:221) at sun.misc.URLClassPath.getResource (URLClassPath.java:134) at java.net.URLClassLoader$1.run (URLClassLoader.java:190) at java.security.AccessController.doPrivileged (Native Method) at java.net.URLClassLoader.findClass (URLClassLoader.java:186) at sun.applet.AppletClassLoader.findClass (AppletClassLoader.java:132) at sun.plugin.security.PluginClassLoader.findClass (PluginClassLoader.java:189) at java.lang.ClassLoader.loadClass (ClassLoader.java:306) at sun.applet.AppletClassLoader.loadClass (AppletClassLoader.java:112) at java.lang.ClassLoader.loadClass (ClassLoader.java:262) at sun.applet.AppletClassLoader.loadCode (AppletClassLoader.java:473) at sun.applet.AppletPanel.createApplet (AppletPanel.java:548) at sun.plugin.AppletViewer.createApplet (AppletViewer.java:1621) at sun.applet.AppletPanel.runLoader (AppletPanel.java:477) at sun.applet.AppletPanel.run(AppletPanel.java:290) at java.lang.Thread.run(Thread.java:536) Another client who uses a different proxy-software (WinProxy from Ositis) reports no problems. An overview of the connection: Client (Internet Explorer 5) | Client Proxy (Microsoft ISA-Server) | Internet | DMZ Proxy | Webserver (Apache) Is this a problem of the ISA-Server or does the plugin not know what to do with a HTTP-status of 407 ? Usually it should display the dialog for entering user and password, but it does not do so !! If there is no solution, it will make applets on protected site not useable. STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : 1. create a password protected website with a Java 1.2 Applet (basic authentication) 2. protect the webserver by using a proxy in the DMZ 3. connect from client by using ISA-Server from Microsoft EXPECTED VERSUS ACTUAL BEHAVIOR : Expected: The plugin shows up a dialog for entering user and password for authentication basic and after entering show the applet Actual: dialog does not appear and applet only shows ClassNotFoundException, console shows stack trace ERROR MESSAGES/STACK TRACES THAT OCCUR : java.io.IOException: Server returned HTTP response code: 407 for URL: http://myurl.com/myjar.jar at sun.net.www.protocol.http.HttpURLConnection.getInputStream (HttpURLConnection.java:691) at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream (HttpURLConnection.java:369) at sun.net.www.protocol.http.HttpURLConnection.getHeaderFields (HttpURLConnection.java:1133) at sun.plugin.net.protocol.http.HttpURLConnection.checkCookieHeader (HttpURLConnection.java:330) at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream (HttpURLConnection.java:367) at sun.plugin.net.protocol.http.HttpUtils.followRedirects (HttpUtils.java:39) at sun.plugin.cache.CachedJarLoader.download(CachedJarLoader.java:311) at sun.plugin.cache.CachedJarLoader.load(CachedJarLoader.java:131) at sun.plugin.cache.JarCache.get(JarCache.java:175) at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect (CachedJarURLConnection.java:71) at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile (CachedJarURLConnection.java:56) at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:498) at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:459) at sun.misc.URLClassPath$2.run(URLClassPath.java:255) at java.security.AccessController.doPrivileged(Native Method) at sun.misc.URLClassPath.getLoader(URLClassPath.java:244) at sun.misc.URLClassPath.getLoader(URLClassPath.java:221) at sun.misc.URLClassPath.getResource(URLClassPath.java:134) at java.net.URLClassLoader$1.run(URLClassLoader.java:190) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:186) at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:132) at sun.plugin.security.PluginClassLoader.findClass (PluginClassLoader.java:189) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:112) at java.lang.ClassLoader.loadClass(ClassLoader.java:262) at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:473) at sun.applet.AppletPanel.createApplet(AppletPanel.java:548) at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1621) at sun.applet.AppletPanel.runLoader(AppletPanel.java:477) at sun.applet.AppletPanel.run(AppletPanel.java:290) at java.lang.Thread.run(Thread.java:536) This bug can be reproduced always. ---------- BEGIN SOURCE ---------- use any applet that is stored in several jars ---------- END SOURCE ---------- (Review ID: 139290) ======================================================================
|