CD-Install and version based download protocol

I am trying to create a cd-install for an app. using the -import -codebase features
of javaws. This works as long as I do not have any version information within the
cd based jnlp and the resources.
If a specify a version with a resource (e.g. a jar) I get the following exception from
javaws:
java.io.FileNotFoundException: c:\cd\spirit_core_client.jar?version-id=0.4.5.0 (Die Syntax f�r den Dateinamen, Verzeichnisnamen oder die Datentr�gerbezeichnung ist falsch)
     at java.io.FileInputStream.open(Native Method)
     at java.io.FileInputStream.<init>(Unknown Source)
     at java.io.FileInputStream.<init>(Unknown Source)
     at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
     at com.sun.javaws.net.BasicNetworkLayer.doRequest(Unknown Source)
     at com.sun.javaws.net.BasicNetworkLayer.doHeadRequest(Unknown Source)
     at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
     at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(Unknown Source)
     at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
     at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
     at com.sun.javaws.Launcher.downloadResources(Unknown Source)
     at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
     at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
     at com.sun.javaws.Launcher.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)
It seems that javaws tries to do a file request with a url query string for the version.
This will work with the JnlpDownloadServlet but not for a file request.
What do I have to do?
If I can not specify version information wouldn�t that make the differential (JarDiff)
download impossible? Or can I than only use a timestamp (last-modified) based
download?

I filed a bug ion this. The CD install is implemented by substituting codebases, if the new codebase dosn't implement the version based download protocol, import won't work. The file protocol used when importing from CD cannot implement this. There should be a simple convension to allow versioned requests from file protocols to assume the response-version is equal to the request version (assuming no wildcarding is uded in the request-version).
/Andy

Similar Messages

  • Version Based Downloading w/JBoss Missing Version Field....

    Here we go again, version based downloading difficulties.
    I cannot get version based downloading to work using the version.xml file or using file based versioning.
    My environment is
    JBoss 4.0.3 SP1 (whatever version of tomcat container this contains)
    JRE 1.5.0_06
    I have a .ear file which contains a .war file which contains the appropriate folder format and loose application jars, html, jnlp, etc., as described in the "Packaging JNLP Applications in a Web Archive" document.
    My web.xml file looks like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
        version="2.4">
      <display-name>TotalZilla</display-name>
      <description> TotalVU application </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>jnlpdownloadservlet.log</param-value>
               </init-param>     
       </servlet>
          <servlet-mapping>
         <servlet-name>JnlpDownloadServlet</servlet-name>
         <url-pattern>*.jnlp</url-pattern>
       </servlet-mapping>
      </web-app>
    ]NOTE: changing the <url-pattern> value to anything but *.jnlp causes JBoss to throw an exception during application deployment[i]
    My version.xml file looks like this:
    I believe this to be the culprit but I am at a loss as to why.
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp-versions>
          <resource>
             <pattern>
               <name>utilities.jar</name>
                <version-id>1.0</version-id>
             </pattern>
             <file>utilities.jar</file>
          </resource>
          <resource>
             <pattern>
               <name>totalvu.jar</name>
                <version-id>2.0</version-id>
             </pattern>
             <file>totalvu.jar</file>
          </resource>     
          <resource>
             <pattern>
               <name>images.jar</name>
                <version-id>1.0</version-id>
             </pattern>
             <file>images.jar</file>
          </resource>      
          <resource>
             <pattern>
               <name>common.jar</name>
                <version-id>1.0</version-id>
             </pattern>
             <file>common.jar</file>
          </resource>     
       </jnlp-versions>
    My jnlp file looks like this:
    <?xml version="1.0" encoding="utf-8"?>
    <jnlp
      spec="1.0+"
      codebase="$$codebase"
      href="$$name" context="$$context">
      <information>
        <title>Total VU Application</title>
        <vendor>Perimeter Aquisition Corp.</vendor>
        <homepage href="docs/totalvu.html"/>
        <description>TotalVU application from Perimeter</description>
        <description kind="short">The perfect application.</description>
        <offline-allowed/>
         <shortcut online="false">
          <desktop/>
          <menu submenu="Perimeter - TotalVU"/>
        </shortcut>
      </information>
       <security>
          <all-permissions/>
      </security>
      <resources>
         <j2se version="1.5.0+"/>
        <jar href="totalvu.jar" version="1.0+"/>
        <jar href="utilities.jar" version="1.0"/>
        <jar href="common.jar" version="1.0"/>
        <jar href="images.jar" version="1.0"/>
        <jar href="jlfgr-1_0.jar"/>
        <jar href="jboss-j2ee.jar"/>  
        <jar href="jnpserver.jar"/>
        <jar href="jboss-common-client.jar"/>
        <jar href="jbossmq.jar"/>
        <jar href="concurrent.jar"/>
        <jar href="swing-worker.jar"/>
        <jar href="log4j.jar"/>   
        <extension name="Sun Signed Jars" href="sunsignedjars.jnlp"/>
      </resources>
      <application-desc main-class="com.perimeter.totalvu.framework.TotalVU"/>
    </jnlp>
    The other jnlp file (temporary) which contains a version of activation.jar signed by sun looks like this:
    <?xml version="1.0" encoding="utf-8"?>
        <jnlp spec="1.0+"
          codebase="$$codebase"
          href="$$name"
          context="$$context">
        <information>
            <title>SunSignedJars</title>
            <vendor>Sun Microsystems, Inc.</vendor>
            <description>Jars signed by Sun Microsystems</description>
        </information>
        <security>
          <all-permissions/>
        </security>
        <resources>
            <jar href="activation.jar"/>
        </resources>
       <component-desc>
       </component-desc>
    </jnlp>
    My war file (which is in an ear file) has this format:
    META-INF\MANIFEST.MF
    WEB-INF\lib\jnlp-servlet.jar
    WEB-INF\lib\jardiff.jar
    WEB-INF\lib\jnlp.jar
    version.xml
    *.jar
    *.jnlp
    *.html
    This configuration spits out the famous "Missing version field from server....." that I have seen many times in this forum. The download servlet is getting executed because I am getting a log file generated every time. Debug is the only value that will put out a log. The log output looks like this:
    JnlpDownloadServlet(3): Request: /totalvu/totalvu.jnlp
    JnlpDownloadServlet(3): User-Agent: JNLP/1.5 javaws/1.5.0_06 (b05) J2SE/1.5.0_06
    JnlpDownloadServlet(4): DownloadRequest[path=/totalvu.jnlp isPlatformRequest=false]
    JnlpDownloadServlet(4): Basic Protocol lookup
    JnlpDownloadServlet(4): JnlpResource: JnlpResource[WAR Path: /totalvu.jnlp lastModified=Mon Dec 05 11:17:46 EST 2005]]
    JnlpDownloadServlet(3): Resource returned: /totalvu.jnlp
    JnlpDownloadServlet(4): SupportQuery in Href: true
    JnlpDownloadServlet(4): lastModified: 1133799466000 Mon Dec 05 11:17:46 EST 2005
    JnlpDownloadServlet(3): Request: /totalvu/sunsignedjars.jnlp
    JnlpDownloadServlet(3): User-Agent: JNLP/1.5 javaws/1.5.0_06 (b05) J2SE/1.5.0_06
    JnlpDownloadServlet(4): DownloadRequest[path=/sunsignedjars.jnlp isPlatformRequest=false]
    JnlpDownloadServlet(4): Basic Protocol lookup
    JnlpDownloadServlet(4): JnlpResource: JnlpResource[WAR Path: /sunsignedjars.jnlp lastModified=Mon Dec 05 10:00:20 EST 2005]]
    JnlpDownloadServlet(3): Resource returned: /sunsignedjars.jnlp
    JnlpDownloadServlet(4): SupportQuery in Href: true
    JnlpDownloadServlet(4): lastModified: 1133794820000 Mon Dec 05 10:00:20 EST 2005If I remove the version= tag from the main jnlp file, everything loads fine, but there is no versioning. I have also tried to remove the version.xml file from the package and change my jar files to use file based versioning, but that didn't work either. I rebuilt my jar files with the __V1.0 extension and the complaint was that it couldn't load the resource totalvu.jar. Well, ya, it is now named totalvu__V1.0.jar! Again, versioning is being ignored. The double underscore and V was not recognized as anything special.
    The servlet is running long enough to spit out a log file, no errors. It looks like it succesfully processed the jnlp files, but there is no indication of any versioning.
    Doe the jnlp.jar and jardiff.jar files need to be included in the lib folder in the .war file? I am only including the jnlp-servlet.jar. They were not referenced in the example war file in the documentation, but I have seen them referenced in older doc for other app servers. I did try including them, but it made no difference of course. Guess this question is just a housekeeping question.
    Does anyone have any insight on this problem?
    I am at the point where I think I would like to get the source and debug through it to see what is going on, but that should be unecessary.

    Thanks. I had the same problem.
    As danrak suggests, just add this to your web.xml file to parse .jar and/or .zip file extensions:
    <servlet-mapping>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <url-pattern>*.zip</url-pattern>
    </servlet-mapping>          
    <servlet-mapping>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <url-pattern>*.jar</url-pattern>
    </servlet-mapping>

  • Anyonme got version-based download working ?

    I've scanned all the messages here as well as on vamp, but nowhere do I see an anwser on how to get versioning working.
    My test app is a straight forward one.
    Below are the jnlp and version.xml.
    As long as the attribute [version="1.1"] is included I get the;
    Missing version field in response from server when accessing resource: (http://localhost/Webstart/app/uitrij.jar, 1.1)
    error. When I strip only that attribute the app loads just fine.
    The excpetion that results in the above mentioned error is also listed below.
    Anyone got any ideas ?
    Anne.
    launch.jnlp:
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp codebase="http://localhost/Webstart/app/" href="launch.jnlp">
    <information>
    <title>VSP Uitrij Example 1</title>
    <vendor>Finalist IT</vendor>
    <description>Example of Webstart uitrij app in war</description>
    </information>
    <resources>
    <j2se version="1.2+"/>
    <jar href="uitrij.jar" version="1.1"/>
    </resources>
    <application-desc/>
    </jnlp>
    version.xml:
    <jnlp-versions>
    <resource>
    <pattern>
    <name>uitrij.jar</name>
    <version-id>1.1</version-id>
    </pattern>
    <file>uitrij.jar</file>
    </resource>
    </jnlp-versions>
    Java Webstart Download Error -Exception tab:
    JNLPException[category: Download Error : Exception: null : LaunchDesc: null ]
    at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
    at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(Unknown Source)
    at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
    at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
    at com.sun.javaws.Launcher.downloadResources(Unknown Source)
    at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
    at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:479)

    Hi Marc,
    My impression was that the JnlpDownloadServlet wasOh sorry. I did not recognize that you already used
    the download servlet.Well, you were partially right I think :)
    Problem is that I've been combining two test at the same time.
    In one test I have all the files in a directory(-structure) on a (local) webserver.
    This allows me to do the simple tests.
    And then I create a .war and deploy that to a (local) application server (HP's Bluestone 7.3 in this case).
    The versioning would only work when doing the app server test, as the 'standalone' test has no back-end to interpret the request for a version-specific file (jar), as you pointed out.
    As the deployment using a .war file (still) doesn't seem to work because of the .getRealPath() problem (see http://developer.java.sun.com/developer/bugParade/bugs/4474021.html) I don't even get to versioning in that test.
    So if I want versioning I have a couple of options I guess;
    - Try the jar as provided by BEA as mentioned in
    http://forum.java.sun.com/thread.jsp?forum=38&thread=176243
    If this indeed works (haven't tried it yet), my guess is they 'fixed' the getRealPath() problem(s) themselves. (It doesn't seem like it's fixed in the current jnlpDownloadServlet )
    - Set up the app server as a straight-forward servlet-runner to run the jnlpDownloadServlet without using the std deployment.
    I'd prefer the 1st option to work, as I'd like to be able to deploy using a .WAR.
    The latter would basically come down to what you called 'installing a helper'.
    As far as I understand, you switch from basic to
    version-based
    download by adding the version="x.y" attribute to the
    jar element.And add the version.xml which links the versions to actual files (jars), IIRC.
    What happens next, complete download of the new
    version or the download of a difference jar is up to the jnlpI'm not quite clear on when the diff is done and when a complete file/jar is downloaded, but that at the moment is a moot point for me :)
    My guess is that you did not setup the servlet
    properly or that it doesn't work for some other reason.Several reasons, as mentioned above :)
    The only way to find out is to have a look at the HTTP
    communication between jnlp client and servlet that happens during
    your test.
    Do you know how to do that?Well, one thing I've been trying to get to work is the logging of the jnlpDownloadServlet.
    But even in DEBUG mode it doesn't really give me much information.
    I've also got Webstart's logging on, but again the information in it's logfile is not really informative.
    I've also used Sam Spade to see what responses I get from specific requests.
    Hmm, just thought of something; I haven't looked at the logfile of the web-server yet.
    Not that I think it'll help me much, but might be of interest to look at it all the same.
    <aside>
    Interestingly enough SamSpade gave me two different results when requesting the .jnlp file from the .WAR.
    Using a HTTP 1.0 it gave me a 404
    Using HTTP 1.1 it gave me the jnlp file.
    </aside>
    FWIW; I'm currently leaning towards phasing the implementation of Webstart.
    1st as webserver based solution with only Basic versioning. (This works, that I know for sure :)
    Later on as versioned-download using .WAR deployment.
    Dave,
    I don't have my web.xml here, but yes both .jnlp as /app/ are mapped to the jnlpDownloadServlet. That part of it works. (When doing the app server test that is; no servlet is used in the standalone test).
    Anyway, thanks again for your comments.
    If nothing else they at least made me get my thoughts a bit more straight :)
    Anne.

  • Version Based Download Problems

    Hi All
    Java WebStart is indeed the best java based client installer software ever made. It works really good(even better than Weblogic Zac).
    I started using this software about 1 week back and am really impressed by it. I was previously a great admirer of Weblogic ZAC.
    I was able to download my jars (w/o version id) from the webserver on to my client machine.
    However i have certain problems (confusions) regarding version based downloads.
    1) do i need a version.xml for enabling version based download or will the version tag in the jnlp file will solve the purpose.
    2) Is there any naming convention for the jar file ex: abc_V1.0.jar, abc_V1.1.jar or simply abc.jar.
    If it is abc.jar then how can i put multiple version of the same jar files on the webserver.
    3) How does the jardiff funda works.
    I am listing my jnlp and xml files
    jnlp file:
    <?xml version="1.0" encoding="utf-8"?>
    <!-- JNLP File for REVERA Application -->
    <jnlp spec="1.0+" codebase="$$codebase">
    <information>
    <title>REVERA</title>
    <vendor>Kale Consultants Ltd.</vendor>
    <homepage href="../index.html"/>
    <description>REVERA 7.0</description>
    <description kind="short"></description>
    <icon href="images/REVERALOGO.gif"/>
    <offline-allowed/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.3"/>
    <jar href="revera.jar" main="true" download="eager"/>
    <jar href="lib/UILibrary.jar" download="eager"/>
    <jar href="lib/jacob.jar" download="lazy"/>
    <jar href="lib/jaxp.jar" download="lazy"/>
    <jar href="lib/crimson.jar" download="lazy"/>
    <jar href="lib/xalan.jar" download="lazy"/>
    <jar href="lib/jh.jar" part="javahelp" download="lazy"/>
    <jar href="lib/jboss.jar" download="lazy"/>
    <jar href="lib/jboss-j2ee.jar" download="lazy"/>
    <jar href="lib/jnp-client.jar" download="lazy"/>
    <jar href="lib/jboss-client.jar" download="lazy"/>
    <jar href="lib/jbossmq-client.jar" download="lazy"/>
    <jar href="lib/log4j.jar" download="lazy"/>
    <jar href="lib/oswego-concurrent.jar" download="lazy"/>
    <jar href="lib/wl.jar" download="lazy"/>
    <jar href="lib/ij.jar" download="lazy"/>
    <jar href="lib/jsse.jar" download="lazy"/>
    <jar href="lib/jcert.jar" download="lazy"/>
    <jar href="lib/jnet.jar" download="lazy"/>
    <jar href="lib/j2ee.jar" download="lazy"/>
    <jar href="lib/jaxb-rt-1.0-ea.jar" download="lazy"/>
    <jar href="lib/jaxb-xjc-1.0-ea.jar" download="lazy"/>
    <jar href="lib/classes12_01.zip" download="lazy"/>
    </resources>
    <application-desc main-class="jpraxisapp.uiservices.common.applicationframework.PraxisApp"/>
    </jnlp>
    version.xml
    <?xml version="1.0"?>
    <jnlp-versions>
    <resource>
    <pattern>
    <name>revera.jar</name>
    <version-id>1.0</version-id>
    </pattern>
    <file>revera.jar</file>
    <pattern>
    <name>UILibrary.jar</name>
    <version-id>1.0</version-id>
    </pattern>
    <file>UILibrary.jar</file>
    </resource>
    </jnlp-versions>
    web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
    <web-app>
    <servlet>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <url-pattern>/app/*</url-pattern>
    </servlet-mapping>
    <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>jardiff</extension>
    <mime-type>application/x-java-archive-diff</mime-type>
    </mime-mapping>
    </web-app>
    Thanks :-)
    Robin Paul

    In order to use the version based protocol, you need to run a servlet on the web-server (such as
    the JNLPDownloadServlet included in the developers pack. The naming convension is then up
    to the servlet. The JNLPDownloadServlet uses the abc_V1.0.jar convension, and also
    generates jardiff files dynamically.
    /Andy

  • Can't get version based downloads to work

    I am new to JNLP and trying to get version based downloads to work. I have read everything I can find, but I still seem to be missing something. My setup:
    Tomcat 4.1.18 (running in JDK 1.4.0)
    Java WebStart 1.2
    Win 2k
    files in .war
    -launch.jnlp
    -+1.0
    |-testapp.jar
    |-version.xml
    -+images
    |-Save.gif
    -+META-INF
    |-MANIFEST.MF
    -+WEB-INF
    |-+lib
    | |-jnlp-servlet.jar
    |-web.xmllaunch.jnlp
    TS: 2002-04-23 19:21:05
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp codebase="$$codebase" href="$$name">
       <information>
          <title>ljtest 1</title>
          <vendor>Lance</vendor>
          <description>just an example</description>
          <icon href="images/Save.gif"/>
       </information>
       <resources>
          <j2se version="1.2+"/>
          <jar href="1.0/testapp.jar" version="1.0"/>
       </resources>
       <application-desc main-class="Main"/>
    </jnlp>version.xml
    <jnlp-versions>
       <resource>
          <pattern>
             <name>testapp.jar</name>
             <version-id>1.0</version-id>
          </pattern>
          <file>testapp.jar</file>
       </resource>
    </jnlp-versions>web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
      <web-app>
         <servlet>
            <servlet-name>JnlpDownloadServlet</servlet-name>
            <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
            <init-param>
               <param-name>logLevel</param-name>
               <param-value>DEBUG</param-value>
            </init-param>
         </servlet>
         <servlet-mapping>
            <servlet-name>JnlpDownloadServlet</servlet-name>
            <url-pattern>*.jnlp</url-pattern>
         </servlet-mapping>
      </web-app>Things I have discovered (possibly in error?):
    1) I do not need to include the jaxp.jar and parser.jar files because I am using JDK 1.4
    2) I do not need to change my testapp.jar to testapp_V1.0.jar because I have included the the version.xml file in the 1.0 directory
    I keep getting the following error in WebStart when I loadup the jnlp:
    JNLPException[category: Download Error : Exception: null : LaunchDesc: null ]
         at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
         at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(Unknown Source)I can get everything to work without version based downloads. Does anyone have any clue what I am doing wrong?
    Lance

    I found my own error. After loading up sun's reference implementation server in NetBean's debugger I noticed that it was only handling .jnlp files. Going back to the "Packaging JNLP Applications in a Web Archive" document I found my mistake. My web.xml files should have looked like this.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
        "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
      <web-app>
         <servlet>
            <servlet-name>JnlpDownloadServlet</servlet-name>
            <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
            <init-param>
               <param-name>logLevel</param-name>
               <param-value>DEBUG</param-value>
            </init-param>
         </servlet>
         <servlet-mapping>
            <servlet-name>JnlpDownloadServlet</servlet-name>
            <url-pattern>*</url-pattern>
         </servlet-mapping>
      </web-app>The difference being the <url-pattern> tag. It now tells the web server to handle all files not just .jnlp.
    This allowed me to download version based jnlp entries. I still can't get jarDiff things to work, but I will keep banging my head against the wall till I figure that out.
    Lance

  • Javawebstart: Version based download.

    Hi,
    Anyone has idea about implementing the jnlp version based download.
    We are developing a webstart application, it has around 30 jar files in the jnlp. so every time when we deploy a new version of application, for the first time when we launch the application the time taken is around 30 mins, the further access to jnlp is not a problem coz the applicaiton is getting launched from the local cache.
    Size of the total jar files is around 50MB.
    So for increasing the download speed we are now using the pack200 compression. So now the download time is decreased a bit its around 10-15 mins.
    But i feel if we use version based download, the jar files that were changed in the new version of the application will only be downloaded when we launch the application, the download time will be very less coz it will be downloading only the changed jars.
    as the application is been accessed from remote locations we need to go for the version based download.
    I once tried the the version based download by manually creating the jnlp file and versioning the jar files manually. it worked fine, but this cannot be done everytime. We deploy a new version of the application every week.
    Is there any way that we can automatically build the jnlp file and all the jar files with version, so that we can use version based download.
    Please let me know if any one (ANT task or maven or any properatory tasks .) providing support for building the webstart project automatically with version based download.
    Thanks
    Thiru.

    Hi Roland,
    I think version-based download has nothing to
    do with WAR-files.
    Your servlet container (e.g. Tomcat) only extracts
    Your war file on startup.
    Regards,
    Mathias

  • Update prompt not working with version based download

    Hello All,
    I have a JWS application and it is deployed on my local server. I want my users to get the Update prompt ( There is an optional update, Do you download it ) when ever there is an update and I am using the version based download(version.xml) while updating my application(Jardiff). The problem here is when i change the version number from 1.1 to 1.2 in the jnlp on the server. (EX: <jar href="application.jar" version="1.2" main="true"/> ) . When the user starts the application from desktop shortcut the Jardiff gets downloaded and patched but there is no update prompt.
    The problem here is the JNLP gets refreshed and even though i have the policy = "prompt-update" in update tag( <update check="timeout" policy="prompt-update"> ), i am not getting the update prompt. The update prompt works fine in basic download.
    I am facing this problem from quite a long time. I hope some one has got an answer for this.
    Thanks and regards,
    Anjali

    Hello Andrew,
    Thanks for ur reply.
    This is the JNLP file and version.xml, which i am using: ( I am using the JNLPDownloadServlet)
    launch.jnlp:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN">
    <jnlp spec="6.0+" codebase="$$codebase" href="$$name">
    <information>
            <title>Dummy Product </title>
            <vendor>Dummy Product</vendor>
         <icon kind="shortcut" href="images/image.gif"/>
         <icon kind="splash" href="images/splash.png"/>
            <homepage href="$$context"/>
            <description kind="one-line">Dummy Product</description>
            <offline-allowed/>
         <shortcut online="true">
              <!-- create desktop shortcut -->
              <desktop/>
              <menu submenu="Dummy -product"/>
         </shortcut>
    </information>
    <update check="background" policy="prompt-update"/>
       <security>
        <all-permissions/>
       </security>
       <resources>     
            <java version="1.6+" />
         <java href="http://java.sun.com/products/autodl/javase" version="1.6+"/>
            <jar href="applicationV.jar"  main="true" download="eager" version="1.1"/>
         <jar href="abc.jar"  download="eager"/>
         <jar href="cab.jar"  download="eager"/>
         <jar href="app.jar" download="eager"/>
         <jar href="app1.jar"  download="eager"/>
         <jar href="app2.jar"  download="eager"/>
         <nativelib href="app3.jar" download="eager"/>     
       </resources>
       <application-desc main-class="Mainfile">
         <argument>arg1</argument>
         <argument>arg2</argument>
       </application-desc>
    </jnlp>
    version.xml:
    <jnlp-versions>  
             <resource>
                 <pattern>
                    <name>applicationV.jar</name>
                    <version-id>1.1</version-id>
                 </pattern>
                 <file>application-01_00-us.jar</file>
             </resource>
         <resource>
                  <pattern>
                    <name>applicationV.jar</name>
                    <version-id>1.2</version-id>
                 </pattern>
                 <file>application-02_00-us.jar</file>
             </resource>
    </jnlp-versions>
             Thanks for the support.
    Anjlai

  • Version based download problems on commercial deployment

    Hi,
    Now I'm no IT donkey but this is really annoying. We're a small startup company specialising in Java development for mapping applications (GIS). We've chosen Java Web Start as a means of deploying our product (yes a commercial implementation). When we first used Web Start our test deployments worked great, so we shelved things until later. Now we're about to hit the streets we need to use the version based download, we assumed this would just be a simple addition to the jnlp file plus the addition of version.xml ... wrong, I've now had 3 consecutive days trying to find a solution, no luck, even after reading over 400 forum pages with 'version' in them!!! If I take the version tag off its works!! I've also tried using viewer__V1.0.jar still the same.
    We we're due to send out beta version to a number of select customers yesterday, but unfortunately we cannot get the Web Start working with version based download, so we can't. As we're a small company we have a lot resting on this deployment and we really need some help. Here's all the details if anybody can help I'd be very very grateful.
    Thanks in advance
    Ian
    =======================
    Snowflake Software Ltd
    tel : +44 (0) 23 8030 2036
    http://www.snowflakesoft.co.uk
    =======================
    Our application, if both obsfucated and digitally signed
    My development machine runs Windows 2000 sp2, sdk1.3, and Tomcat 3.3 (I've tried 3.2* same results)
    Directory structure on Tomcat
    our webapp is called viewer this contains
    index.htm
    /app/version.xml
    /app/viewer.jnlp
    /app/viewer.jar
    /WEB-INF/web.xml
    /WEB-INF/lib/jnlp-servlet
    /WEB-INF/lib/jaxp.jar
    /WEB-INF/lib/parser.jar
    viewer.jnlp is
    TS: 2001-11-22 12:28:05
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="$$codebase" href="$$name">
    <information>
    <title>Snowflake Map Viewer</title>
    <vendor>Snowflake Software Ltd.</vendor>
    <description>A Java based map viewer</description>
    <homepage href="http://www.snowflakesoft.co.uk"/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.3+" />
    <jar href="viewer.jar" version="1.0"/>
    </resources>
    <application-desc main-class="uk.co.snowflakesoft.jme.application.Viewer"/>
    </jnlp>
    version.xml is
    <jnlp-versions>
    <resource>
    <pattern>
    <name>viewer.jar</name>
    <version-id>1.0</version-id>
    </pattern>
    <file>viewer.jar</file>
    </resource>
    </jnlp-versions>
    web.xml is
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
    <web-app>
    <servlet>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <servlet-class>com.sun.javaws.servlet.JnlpDownloadServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>JnlpDownloadServlet</servlet-name>
    <url-pattern>/app/*</url-pattern>
    </servlet-mapping>
    <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>jardiff</extension>
    <mime-type>application/x-java-archive-diff</mime-type>
    </mime-mapping>
    </web-app>
    If you've got this far ... thanks ... any ideas?

    Apologies,
    Its been a long week ... thanks Mathias, the error message / exception would help. Basically if I add the version tag I get the following error and exception. Unfortunately its an 'unknown' error which make things difficult. If I take off the version tag it works
    Error from the General Tab of the Java Web Start -> An error occurred while launching/running the application.
    Title: Snowflake Map Viewer
    Vendor: Snowflake Software Ltd.
    Category: Download Error
    Error Code 99 (Unknown error) returned from server when accessing resource: (http://localhost:8080/viewer/app/viewer.jar, 1.0)
    ExceptionJNLPException[category: Download Error : Exception: null : LaunchDesc: null ]
    at com.sun.javaws.cache.DownloadProtocol.doDownload(Unknown Source)
    at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(Unknown Source)
    at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source)
    at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source)
    at com.sun.javaws.Launcher.downloadResources(Unknown Source)
    at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
    at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:484)

  • I have lightroom 5.7 installed, and have just downloaded / installed Lightroom CC, but although lightroom 5 runs ok, Lightroom CC will not run, any ideas please

    I have lightroom 5.7 installed, and have just downloaded / installed Lightroom CC, but although lightroom 5 runs ok, Lightroom CC will not run, any ideas please.

    What seems to be working for many users (myself included) is to sign out of CC and then sign back in.  After signing back in, LR will run.
    John

  • Version-based download without WAR file?

    Hi,
    is it possible to make a version-based download without using WAR files?
    Thanks in advance
    Roland

    Hi Roland,
    I think version-based download has nothing to
    do with WAR-files.
    Your servlet container (e.g. Tomcat) only extracts
    Your war file on startup.
    Regards,
    Mathias

  • My PC is  a Windows xp professional.It don't install and execute  the  download of iTunes 10,it send a message  that the program is in a file  without support  to the down load

    My PC is  a Windows xp professional.It don't install and execute  the  download of iTunes 10,it send a message  that the program is in a file  without support  to the down load

    I'd like to have a closer look at that error message please.
    Generate the error message again. While the error message box is open, hold down the Alt key and hit the PrtSc key. Paste the screenshot into an image file (using a program like Paint), and save the file.
    Start a reply here and click the wee camera icon at the top of the reply window. Click "Choose file", browse to the image file, select the file and click "Open". Now click "Insert file" to insert the screenshot into the reply.

  • HT2292 when i press the download iTunes option, besides downloading the iTunes, it directs to another page saying thank you for installing and it dosent download the itunes...what should i do

    when i press the download iTunes option, besides downloading the iTunes, it directs to another page saying thank you for installing and it dosent download the itunes...what should i do

    See the further information area of Troubleshooting issues with iTunes for Windows updates.
    tt2

  • Webstart version-based download error

    Hi guys,
    Are there known bugs in Sun's JnlpDownServlet? After installing the JNLP developer pack and configuring the directories in how Sun suggested in http://java.sun.com/products/javawebstart/docs/downloadservletguide.html (but using exploded directory structure instead of a WAR file since I am still in development), I keep getting "Missing version field in response from server when accessing resource: (http://localhost:8080/myApp/foo.jar, 1.1)" for <jar href="foo.jar" version="1.1"/> in foo.jnlp,
    but if I don't use version-based as in <jar href="foo.jar" /> the application is downloaded launched properly.
    What am I missing? Please help..

    JayP,
    I've had this error before when there was a mistake in my JNLP on how I specified the jar name and the version.
    Why don't you post your JNLP so we can take a look.

  • Can't upgrade iWork 09 to iWork 13, App Store shows INSTALLED and will NOT download

    When I purchased a MBP in 2010 it came with iWork 09.  Each time I launch either Keynote, Pages, or Numbers it tells me there is a new version available and asks if I would like to install.  If I say "YES" I get taken to the app store and each of the apps says "INSTALLED" and does not have a download option. 
    I tried manually moving /Applications/iWork 09 to /tmp but when I revisit the app store it wants to charge me for the free upgrade.
    No idea how to fix this.
    I wanted to demo this cool new collaboration feature, but it looks like it will have to wait.

    DO NOT GET IWORK 13!!!!!!! IT REDUCES FUNCTIONALITY AND CANNOT OPEN OLD KEYNOTES!!!!! IT DOES NOT SUPPORT EVERYTHING THAT IT USED TO!!!!! ITS NOT WORTH THE EFFORT!!!!!!!!

  • Where are the "Install and Keep Package" Downloads?

    I just did a clean install of 10.5.
    As I wanted to save all the download Apple 10.5 updates to install other macs, I asked Software Update to "Install and Keep Package".
    It downloaded them and installed them, BUT I cant find them on my HD?
    Where are they?

    Same problem here with Install and Save from the Updater.
    I do have a permission issue which is suppose to be solved by installing twice the Update OS X 10.5.8 Combo (?). I don't have speed connection and it took me 26 hours to load this update ...and now I can't find it.

Maybe you are looking for

  • Visual basic with crystal report 8.5 error on reporting

    i am dvelping a program base on accounting Connection Using ADODB through record set... when view the report through compiler using run vb project method the data show is ok but when run application through MDi form the crystal report show blank data

  • 10.5.8 install issues on an external drive

    I did a fresh install of Leopard onto an external drive I keep for emergencies (I never installed it there -- it's been on Tiger for a while) and ran the update after I booted with that as a startup drive. And now I don't have an external bootable dr

  • People hearing themselves talking when on the phone with me

    Everytime someone calls me or I call them, the person can hear themselves when talking to me. They hear themselves repeating what they just said to me and I have looked in my phone for a filter or something to turn it down, but all I know is how to t

  • Photoshop Elements 12.1 hangs in Yosemite

    After upgrading to Yosemite, PSE 12.1 hangs the moment I try to use the "smart brush" feature. This is always repeatable. Anyone else having similar issues? I tried to open a bug at bug report.apple.com, but the site appears to be hung.

  • The screen goes gray while using the iPod

    after, the ipod turns off and apple logo automatically appears as if it were turned off and then turn on