JDK-6806833 : JNLP fails for 403 error on codebase access in java 6 update 12
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u12
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2009-02-18
  • Updated: 2011-02-16
  • Resolved: 2009-02-27
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
C:\>java -version
java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]

A DESCRIPTION OF THE PROBLEM :
When starting JNLP files with applet support using:
=======================
<applet-desc main-class="au.gov.qld.health.s8online.swt.client.SwtApplet" name="SWT" width="600" height="400">
   	<param name="appFolder" value="C:/Program Files/swt"/>
   </applet-desc>
=======================
applet fails to start with:
#### Server returned HTTP response code: 403 for URL: https://domain.com/folder/

Suspect this is related to the jnlp attribute codebase="https://domain.com/folder/" - the JNLP launcher now appears to be trying to access this resource directly, but for security, this URL is denied to allow directory listings, so the server returns a 403. The JNLP now appears to abort on receiving this 403 error.

Please note - this error only occurs with Java 6 update 12, and only when using the "applet-desc" to support legacy applets. This same JNLP file works in java 6 update 10. It is only java 6 update 12 that is causing this problem.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Ensure java 6 update 12 is installed
2. Access JNLP file
3. Observer error

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
JNLP applet should start
ACTUAL -
  From java web start console:
java.io.IOException: Server returned HTTP response code: 403 for URL: https://stsmanagementtest.health.qld.gov.au/prov/
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at sun.plugin2.applet.viewer.JNLP2Viewer.run(Unknown Source)
	at sun.plugin2.applet.viewer.JNLP2Viewer.main(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplet(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.io.IOException: Server returned HTTP response code: 403 for URL: https://stsmanagementtest.health.qld.gov.au/prov/
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
	at java.net.URL.openStream(Unknown Source)
	at sun.plugin2.applet.viewer.JNLP2Viewer.run(Unknown Source)
	at sun.plugin2.applet.viewer.JNLP2Viewer.main(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplet(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Uninstall java 6 update 12 (revert to previous version).

Release Regression From : 6u10
The above release value was the last known release where this 
bug was not reproducible. Since then there has been a regression.