Customer has used webstart 1.0.1 and JRE 1.3.* successfully on a number of boxes to auto-download and update both the webstart to 1.2 and the JRE 1.4.1. It worked flawlessly.
However, when they try to upgrade the JRE to 1.4.2. and latest webstart they get:
Error Code 11 (11 could not locate requested version) returned from server when
accessing resource: (http://java.sun.com/products/autodl/j2se, 1.4.2)
The same problem occurs with JRE 1.4.2 webstart 1.4.2 b28. In the jnlp file <j2se version="1.4.2*" /> doesn't work. Nor do other variations including <j2se version="1.4.2*" href="http://jsp.java.sun.com/servlet/javawsExtensionServer" /> (taken from the java.sun.com/products/javawebstart/faq.html#49)
Test setup
----------
The following files are attached to aid replication of the problem:
PrintTest.jnlp
index.html
PrintTest.jar
Place them in the document root of a webserver (we used the webserver from sun-one app server) and to run the test click on the link (from index.html).
Test One
--------
Windows XP client. IE 6.0. JRE 1.3 webstart 1.0.1
In my jnlp file I have: <j2se version="1.4.2"/>
I get the same error as the customer:
The application requested a version of the Java 2 Platform (JRE) that is currently not installed. ...
Error Code 11 (11 could not locate requested version) returned from server when accessing resource: (http://java.sun.com/products/autodl/
j2se, 1.4.2)
what if I try other values in jnlp file?
<j2se version="1.4"/> works
it wants to download and install JRE 1.4.2_04, which is fine.
<j2se version="1.4+"/> works also
<j2se version="1.4*"/> works
<j2se version="1.4.2*" /> works
With this jnlp setting: <j2se version="1.4.2*" /> the download and update works ok.
An ethereal trace shows the following:
No. Time Source Destination Protocol Info
7 3.542451 199.103.116.133 199.103.116.181 HTTP GET http://199.103.116.176/PrintTest.jnlp HTTP/1.0
9 3.568493 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 200 OK (application/x-java-jnlp-file)
22 13.469451 199.103.116.133 199.103.116.181 HTTP HEAD http://199.103.116.176/PrintTest.jnlp HTTP/1.1
24 13.493092 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 200 OK
32 13.732945 199.103.116.133 199.103.116.181 HTTP HEAD http://199.103.116.176/PrintTest.jar HTTP/1.1
34 13.748483 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 200 OK
47 14.191538 199.103.116.133 199.103.116.181 HTTP GET http://java.sun.com/webapps/jawsautodl/AutoDL/j2se/javaws-1_
0_1-j2re-1_4_2_04-native-windows-i586.jar HTTP/1.1
49 14.553309 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 302 Moved Temporarily
59 14.612842 199.103.116.133 199.103.116.181 HTTP GET http://jal.sun.com/webapps/jawsautodl/AutoDL/j2se/javaws-1_0
_1-j2re-1_4_2_04-native-windows-i586.jar HTTP/1.1
61 15.102455 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 302 Moved Temporarily
71 15.137960 199.103.116.133 199.103.116.181 HTTP GET http://sunsdlc1-23.sun.com/servlet/EComFileServlet/main_prod
ucts/SDLC//ESD4/AUTODL/j2se/javaws-1_0_1-j2re-1_4_2_04-native-windows-i586.jar?ActionId=verify&TicketId=3KL0lVCJPh5R&TicketServerUrl=ed1i
Zn1OYD0GRi%2FrP%2FNK6SCfOCdzU2B4Ux1gqXu5S7Jw3mV3MhUga1pQVbBooQGsR8xkfyEY&GroupName=5PoE HTTP/1.1
I have attached capture_work_1.4.2.star which is the complete trace up to where it wants to download the new version having found it.
If I browse to the URL specified in record 71 in the trace, I get a file containing:
<?xml version="1.0" encoding="utf-8"?><jnlp codebase="http://java.sun.com/webapps/jawsautodl/AutoDL/j2se"> <information> <title>J2RE
1.4.2_04 Installer</title> <vendor>Sun Microsystems, Inc.</vendor> </information> <security> <all-permissions/> </security> <
resources> <j2se version="1.3+" href="http://java.sun.com/products/autodl/j2se"/> <jar href="javaws-1_0_1-j2re-1_4_2_04-inst-window
s-i586.jar" download="lazy" size="41513"/> <jar href="javaws-1_0_1-j2re-1_4_2_04-data-windows-i586.jar" download="lazy" size="13380375
"/> <property name="javaVersion" value="1.4.2_04"/> <property name="platformVersion" value="1.4"/> <property name="i
nstallerLocation" value="javaws-1_0_1-j2re-1_4_2_04-data-windows-i586.jar"/> <property name="installerEntry" value="jre.dat"/> <
property name="licenseEntry" value="LICENSE"/> <property name="lib" value="j2re-installer"/> <property name="msv
crt.versionMS" value="60000"/> <property name="msvcrt.versionLS" value="20910000"/> <property name="execString" value="{0}
{1}"/> <property name="javaPath" value="bin\javaw.exe"/> <property name="verbose" value="true"/> <property n
ame="hopper" value="true"/> <property name="isWindowsInstall" value="true"/> <nativelib href="javaws-1_0_1-j2re-1_4_2_0
4-native-windows-i586.jar" size="13617"/> </resources> <installer-desc main-class="com.sun.webstart.installers.Main"/></jnlp>
Test Two
--------
Windows 2000 client. IE 5. JRE 1.4.1_07 Webstart 1.2.0_07
<j2se version="1.4.2" /> gives error code 11
<j2se version="1.4.2*" /> also gives error code 11
<j2se version="1.4" /> works - doesn't need to download a new java
<j2se version="1.4+" /> works - doesn't need to download a new java
Test Three
----------
Windows 2000 client. IE 5. JRE 1.4.2 webstart 1.4.2 b28
With this jnlp setting: <j2se version="1.4.2*" /> it is again unable to locate a newer java.
An ethereal trace shows:
2 1.828699 199.103.116.134 199.103.116.181 HTTP GET http://199.103.116.176/PrintTest.jnlp HTTP/1.0
3 1.838182 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK (application/x-java-jnlp-file)
40 33.014747 199.103.116.134 199.103.116.181 HTTP HEAD http://199.103.116.176/PrintTest.jnlp HTTP/1.1
42 33.039226 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK
43 33.126877 199.103.116.134 199.103.116.181 HTTP GET http://199.103.116.176/PrintTest.jnlp HTTP/1.1
44 33.135804 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK
45 33.150675 199.103.116.181 199.103.116.134 HTTP Continuation
47 33.508789 199.103.116.134 199.103.116.181 HTTP HEAD http://199.103.116.176/PrintTest.jnlp HTTP/1.1
48 33.528402 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK
97 45.001943 199.103.116.134 199.103.116.181 HTTP GET http://java.sun.com/products/autodl/j2se?platform-version-id
=1.4.2*&arch=x86&os=Windows+2000&locale=en_US&known-platforms=1.4+ HTTP/1.1
106 46.691393 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 301 Moved Permanently
114 46.731659 199.103.116.134 199.103.116.181 HTTP GET http://java.sun.com/webapps/jawsautodl/AutoDL/j2se?platform-
version-id=1.4.2*&arch=x86&os=Windows+2000&locale=en_US&known-platforms=1.4+ HTTP/1.1
116 47.210814 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 302 Moved Temporarily
170 57.968736 199.103.116.134 199.103.116.181 HTTP GET http://jal.sun.com/webapps/jawsautodl/AutoDL/j2se?platform-v
ersion-id=1.4.2%2a&arch=x86&os=Windows%2b2000&locale=en_US&known-platforms=1.4%2b HTTP/1.1
175 58.757252 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK (application/x-java-jnlp-error)
The ethereal trace file capture_fail_1.4.2.star is attached.
If I browse to the URL specified in record 170 in the trace, I get a file containing:
"11 Could not locate requested version"
However, when they try to upgrade the JRE to 1.4.2. and latest webstart they get:
Error Code 11 (11 could not locate requested version) returned from server when
accessing resource: (http://java.sun.com/products/autodl/j2se, 1.4.2)
The same problem occurs with JRE 1.4.2 webstart 1.4.2 b28. In the jnlp file <j2se version="1.4.2*" /> doesn't work. Nor do other variations including <j2se version="1.4.2*" href="http://jsp.java.sun.com/servlet/javawsExtensionServer" /> (taken from the java.sun.com/products/javawebstart/faq.html#49)
Test setup
----------
The following files are attached to aid replication of the problem:
PrintTest.jnlp
index.html
PrintTest.jar
Place them in the document root of a webserver (we used the webserver from sun-one app server) and to run the test click on the link (from index.html).
Test One
--------
Windows XP client. IE 6.0. JRE 1.3 webstart 1.0.1
In my jnlp file I have: <j2se version="1.4.2"/>
I get the same error as the customer:
The application requested a version of the Java 2 Platform (JRE) that is currently not installed. ...
Error Code 11 (11 could not locate requested version) returned from server when accessing resource: (http://java.sun.com/products/autodl/
j2se, 1.4.2)
what if I try other values in jnlp file?
<j2se version="1.4"/> works
it wants to download and install JRE 1.4.2_04, which is fine.
<j2se version="1.4+"/> works also
<j2se version="1.4*"/> works
<j2se version="1.4.2*" /> works
With this jnlp setting: <j2se version="1.4.2*" /> the download and update works ok.
An ethereal trace shows the following:
No. Time Source Destination Protocol Info
7 3.542451 199.103.116.133 199.103.116.181 HTTP GET http://199.103.116.176/PrintTest.jnlp HTTP/1.0
9 3.568493 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 200 OK (application/x-java-jnlp-file)
22 13.469451 199.103.116.133 199.103.116.181 HTTP HEAD http://199.103.116.176/PrintTest.jnlp HTTP/1.1
24 13.493092 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 200 OK
32 13.732945 199.103.116.133 199.103.116.181 HTTP HEAD http://199.103.116.176/PrintTest.jar HTTP/1.1
34 13.748483 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 200 OK
47 14.191538 199.103.116.133 199.103.116.181 HTTP GET http://java.sun.com/webapps/jawsautodl/AutoDL/j2se/javaws-1_
0_1-j2re-1_4_2_04-native-windows-i586.jar HTTP/1.1
49 14.553309 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 302 Moved Temporarily
59 14.612842 199.103.116.133 199.103.116.181 HTTP GET http://jal.sun.com/webapps/jawsautodl/AutoDL/j2se/javaws-1_0
_1-j2re-1_4_2_04-native-windows-i586.jar HTTP/1.1
61 15.102455 199.103.116.181 199.103.116.133 HTTP HTTP/1.0 302 Moved Temporarily
71 15.137960 199.103.116.133 199.103.116.181 HTTP GET http://sunsdlc1-23.sun.com/servlet/EComFileServlet/main_prod
ucts/SDLC//ESD4/AUTODL/j2se/javaws-1_0_1-j2re-1_4_2_04-native-windows-i586.jar?ActionId=verify&TicketId=3KL0lVCJPh5R&TicketServerUrl=ed1i
Zn1OYD0GRi%2FrP%2FNK6SCfOCdzU2B4Ux1gqXu5S7Jw3mV3MhUga1pQVbBooQGsR8xkfyEY&GroupName=5PoE HTTP/1.1
I have attached capture_work_1.4.2.star which is the complete trace up to where it wants to download the new version having found it.
If I browse to the URL specified in record 71 in the trace, I get a file containing:
<?xml version="1.0" encoding="utf-8"?><jnlp codebase="http://java.sun.com/webapps/jawsautodl/AutoDL/j2se"> <information> <title>J2RE
1.4.2_04 Installer</title> <vendor>Sun Microsystems, Inc.</vendor> </information> <security> <all-permissions/> </security> <
resources> <j2se version="1.3+" href="http://java.sun.com/products/autodl/j2se"/> <jar href="javaws-1_0_1-j2re-1_4_2_04-inst-window
s-i586.jar" download="lazy" size="41513"/> <jar href="javaws-1_0_1-j2re-1_4_2_04-data-windows-i586.jar" download="lazy" size="13380375
"/> <property name="javaVersion" value="1.4.2_04"/> <property name="platformVersion" value="1.4"/> <property name="i
nstallerLocation" value="javaws-1_0_1-j2re-1_4_2_04-data-windows-i586.jar"/> <property name="installerEntry" value="jre.dat"/> <
property name="licenseEntry" value="LICENSE"/> <property name="lib" value="j2re-installer"/> <property name="msv
crt.versionMS" value="60000"/> <property name="msvcrt.versionLS" value="20910000"/> <property name="execString" value="{0}
{1}"/> <property name="javaPath" value="bin\javaw.exe"/> <property name="verbose" value="true"/> <property n
ame="hopper" value="true"/> <property name="isWindowsInstall" value="true"/> <nativelib href="javaws-1_0_1-j2re-1_4_2_0
4-native-windows-i586.jar" size="13617"/> </resources> <installer-desc main-class="com.sun.webstart.installers.Main"/></jnlp>
Test Two
--------
Windows 2000 client. IE 5. JRE 1.4.1_07 Webstart 1.2.0_07
<j2se version="1.4.2" /> gives error code 11
<j2se version="1.4.2*" /> also gives error code 11
<j2se version="1.4" /> works - doesn't need to download a new java
<j2se version="1.4+" /> works - doesn't need to download a new java
Test Three
----------
Windows 2000 client. IE 5. JRE 1.4.2 webstart 1.4.2 b28
With this jnlp setting: <j2se version="1.4.2*" /> it is again unable to locate a newer java.
An ethereal trace shows:
2 1.828699 199.103.116.134 199.103.116.181 HTTP GET http://199.103.116.176/PrintTest.jnlp HTTP/1.0
3 1.838182 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK (application/x-java-jnlp-file)
40 33.014747 199.103.116.134 199.103.116.181 HTTP HEAD http://199.103.116.176/PrintTest.jnlp HTTP/1.1
42 33.039226 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK
43 33.126877 199.103.116.134 199.103.116.181 HTTP GET http://199.103.116.176/PrintTest.jnlp HTTP/1.1
44 33.135804 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK
45 33.150675 199.103.116.181 199.103.116.134 HTTP Continuation
47 33.508789 199.103.116.134 199.103.116.181 HTTP HEAD http://199.103.116.176/PrintTest.jnlp HTTP/1.1
48 33.528402 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK
97 45.001943 199.103.116.134 199.103.116.181 HTTP GET http://java.sun.com/products/autodl/j2se?platform-version-id
=1.4.2*&arch=x86&os=Windows+2000&locale=en_US&known-platforms=1.4+ HTTP/1.1
106 46.691393 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 301 Moved Permanently
114 46.731659 199.103.116.134 199.103.116.181 HTTP GET http://java.sun.com/webapps/jawsautodl/AutoDL/j2se?platform-
version-id=1.4.2*&arch=x86&os=Windows+2000&locale=en_US&known-platforms=1.4+ HTTP/1.1
116 47.210814 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 302 Moved Temporarily
170 57.968736 199.103.116.134 199.103.116.181 HTTP GET http://jal.sun.com/webapps/jawsautodl/AutoDL/j2se?platform-v
ersion-id=1.4.2%2a&arch=x86&os=Windows%2b2000&locale=en_US&known-platforms=1.4%2b HTTP/1.1
175 58.757252 199.103.116.181 199.103.116.134 HTTP HTTP/1.0 200 OK (application/x-java-jnlp-error)
The ethereal trace file capture_fail_1.4.2.star is attached.
If I browse to the URL specified in record 170 in the trace, I get a file containing:
"11 Could not locate requested version"
- relates to
-
JDK-4836169 Insufficient JRE update releases for auto-download
- Closed
-
JDK-4827788 Webstart will not install 1.4.1_01 or 1.4.1_02 when specified in .jnlp
- Closed