JDK-8000555 : BasicService.showDocument() API fails to launch the browser in Windows XP
Type:Bug
Component:deploy
Sub-Component:webstart
Affected Version:6u34,7u6
Priority:P2
Status:Resolved
Resolution:Fixed
OS:windows_xp
CPU:x86
Submitted:2012-10-08
Updated:2014-02-12
Resolved:2013-07-02
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
Comments
justification: showdocument does not work in windows XP. low risk fix and only affects XP case. showdocument is a popular API.
03-07-2013
SQE-OK to get the issue fixed for 7u40.
03-07-2013
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.
25-06-2013
Cannot reproduce on latest Java 8 (1.8.0-ea-b92) build
Reproduced on Java 7 u25
Reproduced on Java 7 u40-ea-b28