gagaliya
asked on
Cant read JNLP file, help!
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?
web.xml
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)
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>
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
Test the downloadability of the jnpl through a dumb medium such as wget, or even a raw GET with telnet
ASKER
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:
wrapper exception:
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)
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)
ASKER
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.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
:)
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