JDK-8000555 : BasicService.showDocument() API fails to launch the browser in Windows XP
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
The issue is that BasicService.showDocument() API fails to launch the browser in Windows XP. This is reproducible with the test case below and also it is reproducible in both Java6 and Java7
justification: showdocument does not work in windows XP. low risk fix and only affects XP case. showdocument is a popular API.
SQE-OK to get the issue fixed for 7u40.
The issue is that the URL length exceeds internal buffer size which is used by ShellExecute on Windows XP.
The attached applet dynamically constructs URL from 3 parts. CONST1+URLREWRITE+CONST2. To get URLREWRITE part the applet makes a call to the server and uses it response to produce it. On jre8 this call during getting URLREWRITE part fails witth IllegalState exception so URLREWRITE becomes an empty string as a result the whole URL becomes shorter and ShellExecute works fine in that case.
The proper fix could be to detects such case and create a temporary Internet shortcut file that contains the long URL and pass the Internet shortcut file to ShellExecute.
Cannot reproduce on latest Java 8 (1.8.0-ea-b92) build
Reproduced on Java 7 u25
Reproduced on Java 7 u40-ea-b28