Java Webstart
|
|
|
Troubleshooting Java Webstart
Error : java.io.IOException: missing version response from server
Source code in DownloadEngine package com.sun.deploy.net indicate that the downloadVersion and the versionString should not be null
Sun Specifications :
For the version-based download protocol, all resources are uniquely identified by a URL/version-id pair. Thus, a JNLP Client can at any given time request a specific version of a resource located at a specific URL.
The
JNLP Client
issues an HTTP GET request that includes the specific version of the resource that it needs. The request includes the field version-id, which specifies the requested version.
For example, given the following jar element:
<jar href="http://www.mysite.com/b.jar" version="2.3+"/>
then the JNLP Client must issue the following HTTP GET request14:
http://www.mysite.com/c.jar?version-id=2.3%2B
The JNLP Client must examine the HTTP response status code and MIME type to determine if the result was successful. The valid responses are described in section 6.1.2. For the above jar element, theapplication/x-java-archive-diff MIME type cannot be returned. It can only be returned for incremental requests.
The version string used in the request is not necessarily exact, e.g., 2.3+. The Web server must specify the exact version-id of the resource that is returned in the response by setting the HTTP header field: x-java-jnlp-version-id. The exact version returned must be one that matches the requested version string.
If you are executing in your file system it looks like you can't use the version attribute
If you are using
Maven
to generate your
JNLP
use the
outputJarVersions
to prevent the creation of the versions attribute for the jar resources
BadFieldException[ The field <jnlp>href has an invalid value: app.jnlp,app.jnlp]
If you have executed multiple times your Webstart application it seems that you can have this message
Webstart not executed but downloaded
If your Webstart application is not executed and the source code of your jnlp file is displayed you don't have the jnlp mime type defined in your web server. If you have an apache server, find the mime.type file and add the following line
or create an .htaccess
Your jnlp files is now interpreted as a Webstart application and your browser is able to execute it as an application
Tags: http , version , webstart , application , jnlp , request , client