We help IT Professionals succeed at work.

Cant read JNLP file, help!

gagaliya
gagaliya asked
on
1,509 Views
Last Modified: 2012-05-11
Hi, this is really driving me crazy.

I migrated an existing jdk 1.4 java webstart app to java 1.6 by changing the compiler etc..to jdk 1.6 and deploying it on weblogic 10.  However when I try to launch the app using webstart via the weblogic server url, it gives the below exception.  The java runtime doesnt even start, it seems as if the jnlp file itself is not found.

When right click on the jnlp link and do save target, it says IE cannot download launch.jnlp from server.

But I verified at least 5 times the deployed war file have the jnlp file, and it is in the correct location. I also verified the web.xml file (which i didnt change) and it has the url pattern correctly.

Anyone know what can possibly causing this?

java.lang.NullPointerException
	at java.io.File.(File.java:222)
	at com.sun.javaws.servlet.DownloadRequest.(DownloadRequest.java:62)
	at com.sun.javaws.servlet.JnlpDownloadServlet.handleRequest(JnlpDownloadServlet.java:91)
	at com.sun.javaws.servlet.JnlpDownloadServlet.doGet(JnlpDownloadServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
	at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
	at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
	at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3590)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
	at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
	at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
	at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
 

Open in new window


web.xml
<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>/launch/*</url-pattern>
  </servlet-mapping>
  <mime-mapping>
    <extension>jnlp</extension>
    <mime-type>application/x-java-jnlp-file</mime-type>
  </mime-mapping>
</web-app>

Open in new window

Comment
Watch Question

Awarded 2011
Awarded 2011

Commented:
Which minor version of Java 1.6 you installed?

Don't know if it is the same issue but our corporate WebStart apps
are not running with Java 1.6.0_24 but are running with Java 1.6.0_19

Awarded 2011
Awarded 2011

Commented:
CERTIFIED EXPERT
Top Expert 2016

Commented:
Is this something we can try?

Test the downloadability of the jnpl through a dumb medium such as wget, or even a raw GET with telnet

Author

Commented:
Hi,  after doing a rebuild, redeploy, and clear all cache from java console, the jnlp is able to launch java now ( i am still not sure what the issue was).  But now it's giving another security exception while launching.

I verified weblogic jar is in the right place, and it's signed using a certificate generated from sourceforge's keytool plugin for eclipse.  All the other jars signed using the same seem to be ok except for weblogic.jar.  

Is there a way to just completely disable all this security signing/verification for webstart? it's such a pain in the rear, my app is on our intranet only and has its own security logins. Wasting so much time.

thanks

exception:
com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://someserver/weblogic.jar
	at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
	at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Open in new window


wrapper exception:

java.io.IOException: cannot verify signature block file META-INF/EDITOR
	at com.sun.deploy.cache.CacheEntry$9.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source)
	at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source)
	at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
	at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
	at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

Open in new window

CERTIFIED EXPERT
Top Expert 2016

Commented:
>>http://someserver/weblogic.jar

Again, are you able to download that 'manually'?

Author

Commented:
Yes i can download it manually via url.  When i switched to use wlsfullclient.jar instead of the existing weblogic.jar from wls81, it worked. But then that created a whole host of other issues with missing classes etc.. as weblogic 10+ split out the weblogic.jar into dozens of separate jars.

CERTIFIED EXPERT
Top Expert 2016
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
CERTIFIED EXPERT
Top Expert 2016

Commented:
:)
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.