Missing version filed in response from server when accessing resource

Hello all,

I am getting the following error when trying to do jar version download in webstart.

Missing version field in response from server when accessing resource(http://lo alhost:8080/jdc/jnlp/new/SimpleGUI.jar,1.0)

I am using Tomcat 5.5.

My web.xml looks like this,

<web-app>

<display-name>Tomcat Examples</display-name>

<description>

Tomcat Example servlets and JSP pages.

</description>

<servlet>

<servlet-name>

JnlpDownloadServlet

</servlet-name>

<servlet-class>

jnlp.sample.servlet.JnlpDownloadServlet

</servlet-class>

<init-param>

<param-name>

logLevel

</param-name>

<param-value>

DEBUG

</param-value>

</init-param>

<init-param>

<param-name>

logPath

</param-name>

<param-value>

c:\logs\jnlpdownloadservlet.log

</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>JnlpDownloadServlet</servlet-name>

<url-pattern>/jdc/*</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>JnlpDownloadServlet</servlet-name>

<url-pattern>*.jnlp</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>JnlpDownloadServlet</servlet-name>

<url-pattern>*.jar</url-pattern>

</servlet-mapping>

</web-app>

My version.xml file.

<jnlp-versions>

<resource>

<pattern>

<name>SimpleGUI_v1.0.jar</name>

<version-id>1.0</version-id>

<locale>en_US</locale>

<locale>en</locale>

</pattern>

<file>SimpleGUI_v1.0.jar</file>

</resource>

<resource>

<pattern>

<name>SimpleGUI_v2.0.jar</name>

<version-id>2.0</version-id>

<locale>en_US</locale>

<locale>en</locale>

</pattern>

<file>SimpleGUI_v2.0.jar</file>

</resource>

</jnlp-versions>

My jnlp file is as follows,

<?xml version="1.0" encoding="UTF-8"?>

<jnlp spec="1.0+" codebase="http://localhost:8080/jdc/jnlp/new" href="SimpleGUI.jnlp">

<information>

<title>SimpleGUI</title>

<vendor>Java Developer Connection</vendor>

<homepage href="/jdc/jnlp/new/index.html" />

<description>Demonstration of JNLP</description>

</information>

<offline-allowed/>

<resources>

<j2se href="http://java.sun.com/products/autodl/j2se" version="1.5+ " />

<jar href="SimpleGUI_v1.0.jar" version="1.0"/>

<jar href="AddLogic_v1.0.jar"/>

<jar href="SimpleGUI_v2.0.jar" version="2.0"/>

<jar href="AddLogic_v2.0.jar"/>

</resources>

<application-desc main-class="com.logic.SimpleGUI" />

</jnlp>

For the codebase if I use $$codebase then it reports an error showing,

The field <jnlp> codebase has an invalid value:$$codebase

I think the JnlpDpwnloadServlet is not getting invoked. I cant figure out my mistake. I am tired searching in forums and there is no proper answer to this problem. Any help is appreciated.

Thanks in advance.

Regards,

robi

[3722 byte] By [screen_14021982a] at [2007-11-26 13:58:57]
# 1

Thanks for including all your code. I've ran into version download problems before also. In the jar reference don't include the actual __V.jar file name, just include all pre __V.jar. <jar href="AddLogic_v1.0.jar"/> would become <jar href="AddLogic.jar"/>. Now I haven't done it with the version.xml before I just did it with making file named *__V.jar.

I just re-read all that you did, if you title your files with the __V.jar notation you don't need a version.xml file.

<jar href="SimpleGUI_v1.0.jar" version="1.0"/>

Should become

<jar href="SimpleGUI.jar" version="1.0"/>

And you would have SimpleGUI_v1.0.jar on your server. Also might need it to be a capital "V" not sure.

Message was edited by:

javaunixsolaris

javaunixsolarisa at 2007-7-8 1:39:32 > top of Java-index,Desktop,Deploying...