[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Cant read JNLP file, help!

Posted on 2011-04-21
8
Medium Priority
?
1,410 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

0
Comment
Question by:gagaliya
  • 4
  • 2
  • 2
8 Comments
 
LVL 47

Expert Comment

by:for_yan
ID: 35445379
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

0
 
LVL 47

Expert Comment

by:for_yan
ID: 35445382
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 35446491
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
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 1

Author Comment

by:gagaliya
ID: 35447977
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

0
 
LVL 86

Expert Comment

by:CEHJ
ID: 35448122
>>http://someserver/weblogic.jar

Again, are you able to download that 'manually'?
0
 
LVL 1

Author Comment

by:gagaliya
ID: 35450292
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.

0
 
LVL 86

Accepted Solution

by:
CEHJ earned 2000 total points
ID: 35453651
Yes, it's probably not signed properly. If it's for internal use only, you could look at adapting your policy file:

http://mindprod.com/jgloss/policyfile.html
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 35467676
:)
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
The viewer will learn how to implement Singleton Design Pattern in Java.
Suggested Courses

873 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question