Problems with signed JAR files in JWS/JRE6 environment.

Hello All,
I'm encountering a problem running our desktop application as a Java Web Start deployment in a JRE 6 environment. There were never any problems when running the same application as a JWS deployment in JRE 1.4, or 5, environments. There are also currently no problems in a JRE 6 environment when running the application as a standard desktop application.
The problem which I am having has nothing to do with launching the application. But for good measure, I verified the JNLP file with JaNeLA. A couple things we out of order, which I addressed to make JaNeLA happy, but my problem still persists. Here is my JNLP file (anonymized to protect the innocent):
TS: 2010-10-18 17:04:46
<?xml version="1.0" encoding="UTF-8"?>
<jnlp codebase="$$codebase" href="$$name">
     <information>
          <title>Acme Desktop</title>
          <vendor>Acme Corporation</vendor>
          <homepage href="http://www.acme.com/"/>
          <description>Acme Client for Acme Server</description>
          <description kind="tooltip">Acme Client for Acme Server</description>
          <icon href="desktop.gif"/>
          <offline-allowed/>
     </information>
     <security>
          <all-permissions/>
     </security>
     <resources>
          <j2se version="1.5+"/>
          <jar href="acmedesktop.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/antlr-2.7.2.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/backport-util-concurrent.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/commons-codec-1.3.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/commons-httpclient.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/commons-logging.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/acmeapi.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/HelpJavaDT.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/HelpJavaDT_es.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/jacorb.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/Multivalent.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/slf4j-api-1.5.6.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/slf4j-jdk14-1.5.6.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/snow.jar" download="lazy" version="8.00.01.00+"/>
          <jar href="lib/AcmeTMClient.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/xercesImpl.jar" download="eager" version="8.00.01.00+"/>
          <jar href="lib/xml-apis.jar" download="eager" version="8.00.01.00+"/>
          <extension name="installer" href="desktopInstaller.jnlp" />
          <extension name="Java Help" href="help.jnlp"/>
          <property name="java.library.path" value="./lib"/>
          <property name="admin" value="false"/>
          <property name="webstart" value="true"/>          
          <!-- The following two lines are for SSO implementation only
          <property name="urladdress" value="http://localhost:8080/AcmeDesktop/servlet/AcmeServlet"/>
          <property name="cookiespec" value="RFC2109"/>
          -->          
     </resources>
     <resources os="Windows">
          <nativelib href="lib/jniWin32.jar" version="8.00.01.00+"/>
     </resources>
     <application-desc main-class="desktop"/>     
</jnlp>-----
When running as a JWS deployment, on JRE 6, the application will be functioning normally for a little while, and then suddenly the following exception is thrown, and the current operation fails because the class in question cannot be accessed:
java.lang.SecurityException: class "acmeapi.communication.CDocImpl"'s signer information does not match signer information of other classes in the same package
     at java.lang.ClassLoader.checkCerts(ClassLoader.java:807)
     at java.lang.ClassLoader.preDefineClass(ClassLoader.java:488)
     at java.lang.ClassLoader.defineClassCond(ClassLoader.java:626)
     at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
     at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
     at com.sun.jnlp.JNLPClassLoader.findClass(JNLPClassLoader.java:288)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
     at acmeapi.common.CDoc.getAnnotationsInfo(CDoc.java:493)
     at acmedesktop.communication.CCommunicationManager.privateGetAnnotations(CCommunicationManager.java:1976)
     at acmedesktop.communication.CCommunicationManager.getAnnotations(CCommunicationManager.java:1828)
     at acmedesktop.annotations.CViewAnnotations.getAnnotations(CViewAnnotations.java:826)
     at acmedesktop.annotations.CViewAnnotations.createView(CViewAnnotations.java:583)
     at acmedesktop.annotations.CViewAnnotations.setData(CViewAnnotations.java:736)
     at acmedesktop.annotations.CViewAnnotations.init(CViewAnnotations.java:205)
     at acmedesktop.hitspanel.CHitsPanel.viewAnnotations(CHitsPanel.java:281)
     at acmedesktop.hitspanel.CHitsTab$3.mousePressed(CHitsTab.java:316)
     at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263)
     at java.awt.Component.processMouseEvent(Component.java:6260)
     at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
     at java.awt.Component.processEvent(Component.java:6028)
     at java.awt.Container.processEvent(Container.java:2041)
     at java.awt.Component.dispatchEventImpl(Component.java:4630)
     at java.awt.Container.dispatchEventImpl(Container.java:2099)
     at java.awt.Component.dispatchEvent(Component.java:4460)
     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
     at java.awt.Container.dispatchEventImpl(Container.java:2085)
     at java.awt.Window.dispatchEventImpl(Window.java:2478)
     at java.awt.Component.dispatchEvent(Component.java:4460)
     at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
     at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
     at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
     at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)-----
The classes of our desktop product are contained within the 'acmedesktop' and 'acmeapi' packages. It requires access to the hard drive of the workstation, and therefore, all jar files included with the application are signed using the following ANT task when compiled:
<signjar keystore="resources/codesigning/keystore.pfx" storetype="pkcs12" storepass="myPassword" alias="myAlias">
     <fileset dir="${jws_dist}/app" includes="*.jar"/>
     <fileset dir="${jws_dist}/app/lib" includes="*.jar" excludes="jhall__V${dt_version}.jar"/>
</signjar>-----
Therefore, all classes, within all jar files, are signed with the same certificate (with the exception of the JavaHelp libraries, which are already signed by Sun - but the class in question attempting to be loaded here is not contained within the JavaHelp jar file anyway). So, the point being, that the exception message stating that the "signer information of the acmeapi.communication.CDocImpl class doesn't match the signer information of other classes in the same package", is simply not correct. All classes within that jar file were signed using the same certificate.
I downloaded the JRE 6 source from dev.java.net and picked through this issue with a debugger. The ClassLoader.checkCerts() method compares the certificate used to sign the current class which is attempting to be loaded, with the certificates which signed all other previously loaded classes within the same package. If they don't match, the exception above is thrown. What is causing the issue is when the checkCerts() method attempts to get the certificates which signed the currently loading class, null is returned. And obviously, comparing null, with an array of the certificates which signed the previously loaded classes, isn't going to match; therefore this exception is thrown.
The checkCerts() method gets the certificates of the currently loading class by calling the java.security.CodeSource.getCertificates() method. Tracing deeper in the debugger, the CodeSource object ultimately gets the certificates from the 'signersRef' member variable of the com.sun.deploy.cache.CachedJarFile class. signerRef is a SoftReference object and can therefore be garbage collected at some point. If it has already been garbage collected, the CachedJarFile class will attempt to retrieve it again from the loaded cache entry by calling com.sun.deploy.cache.MemoryCache.getLoadedResource().
The MemoryCache class maintains the cache entries to the jar files as MemoryCache.CachedResourceReference objects, which subclass WeakReference, and therefore these objects can be garbage collected as well. If the cache entries have also been garbage collected, this leaves the CachedJarFile class with no ability to repopulate the CachedJarFile.signerRef object. Therefore it is completely out of luck getting the certificates which signed the currently loading class, which ultimately causes the above exception.
When the com.sun.deploy.cache.Cache class attempts to retrieve a cache entry using its getCacheEntry() method, it will attempt to get the entry from the MemoryCache class, if null is returned, it will recreate the cache entry and add it back to the MemoryCache. In contrast, when the CachedJarFile class attempts to get a cache entry from the MemoryCache class, if null is returned, it just gives up.
(from com.sun.deploy.cache.CachedJarFile:244)
private CacheEntry getCacheEntry() {
     /* if it was not created by Cache do not search for entry */
     if (resourceURL == null)
          return null;
     CacheEntry ce = (CacheEntry) MemoryCache.getLoadedResource(resourceURL);
     if (ce == null) {
          //This should not happen because CacheEntry should not get collected
          // before CachedJarFile is collected.
          Trace.println("Missing CacheEntry for " + resourceURL + "\n" + ce,
               TraceLevel.CACHE);
     return ce;
When debugging, code execution falls within the code block with the comment stating "This should not happen...", but it is happening in my case.
On an interesting side note, using the jvisualvm.exe tool included with JDK 6, I was able to tell that it seems as though these objects are collected the first time that the JVM allocates more heap space, and then the issue will occur. If I set the initial heap size very large (using -Xms) this issue won't occur at all. But that is kind of a bad solution which I would rather not do, but it is interesting to note for the sake of troubleshooting this issue. The max heap size (-Xmx) is plenty big enough, so the issue is not that we are running out of memory here.
Does anyone have any insight as to what could be causing this? I've searched, and found a couple threads with similar problems but with no clear solutions. It is not just one workstation either, it happens everywhere I deploy the app as a Java Web Start application in a JRE 6 environment. I have been using version 1.6.0_18 on XP, but it seems to happen on any update version of 1.6. Is the fact that the CachedJarFile class doesn't attempt to reload the resource when it can't retrieve it from MemoryCache a bug? I've dug as deep as I can on this and I'm at wits end, does anybody have any ideas?
Thank you
Jake
Edited by: jkc532 on Nov 12, 2010 10:35 AM

jkc532 wrote:
.. Is the fact that the CachedJarFile class doesn't attempt to reload the resource when it can't retrieve it from MemoryCache a bug? From your comprehensive investigation and report, it seems so to me.
..I've dug as deep as I can on this and I'm at wits end, does anybody have any ideas?Just after read the summary I was tired, so I have some understanding of the effort you have already invested in this (the 'wits' you have already spent). I think you should raise a bug report and seek Oracle's response.

Similar Messages

  • Problems with Signed jar

    I am having a problem with signed jar and deploy in html
    get this error on the page
    self signed
    /dist/testfx.html
    JavaFX application could not launch due to system configuration. See java.com/javafx for troubleshooting information.Unsigned jar works perfectly but has security and permission issues when using classes.
    This was working in beta 45

    Can you post an example project that demonstrates the problem? There were changes to the ant tasks and netbeans support around B45 that could cause problems depending on which version of the SDK and NetBeans you have. Similarly, if you wrote ant scripts prior to B44 and then use them with a later build you could have problems. And of course, if you're producing the Jar file and deployment artifacts without using the provided ant tasks (for example, using the normal ant jar task) you'll have problems.
    I've verified that this works as expected in the FX 2.0 GA release using ant from the command line, and with the NetBeans 7.1 beta release using the FX 2.0 GA release.

  • Turning off jar cache causes classnotfound with signed jar files

    Hi,
    I have a problem with applet signed jars when the java cache is turned off.
    With the cache turned off, I get a class not found for the first class it attempts to use from the signed jar file from an applet.
    If I turn the jar caching on, all works perfectly with no other changes.
    Anyone have any ideas? This is java 6u16.
    Thanks

    jkc532 wrote:
    .. Is the fact that the CachedJarFile class doesn't attempt to reload the resource when it can't retrieve it from MemoryCache a bug? From your comprehensive investigation and report, it seems so to me.
    ..I've dug as deep as I can on this and I'm at wits end, does anybody have any ideas?Just after read the summary I was tired, so I have some understanding of the effort you have already invested in this (the 'wits' you have already spent). I think you should raise a bug report and seek Oracle's response.

  • Problems with signed jar, HTTPS and forms 10.1.2.3

    I have been facing a hard problem for some days concerning jar signed and HTTPS. The server can be accessed both internally, on our intranet, by a local ip address, and externally, on the internet. The first access doesn't require https,as hosts are under our domain. Externally, however, we use https. That's de logic:
    A local server , a proxy server (on our DMZ) and externals hosts (internet). The proxy server is responsible for getting the information on our local forms server, applying the https security and connection to the external reequests.
    Concerning my application, it uses some signed jars. All of them were signed by using 'sign_webutil.bat', located in java bin directory.
    When the access is made internally, everything works fine. The jar files are downloaded correctly on the user machine and the applets run well. On the other hand, when we the access is made on internet, we get many errors concerning the classes inside frwebutil:
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class with cookie "JSESSIONID=4D4A8E49A46D4134112177FBACABE7B4"
    java.lang.ClassNotFoundException: oracle.forms.webutil.clientInfo.GetClientInfo
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class
    at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    I don't know what to do.

    Hi, Michael!
    Thanks for your reply. I read the article you suggested and I signed ther many jar files I use with the same certificate, however the problem remais the same. Without HTTPS, all works fine. With HTTPS:
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.clientInfo.GetClientInfo
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/clientInfo/GetClientInfo.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/file/FileFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/file/FileFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/file/FileFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/file/FileFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/file/FileFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.file.FileFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/file/FileFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/host/Host.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/host/Host.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/host/Host.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/host/Host.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/host/Host.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.host.Host
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/host/Host.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/session/SessionFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/session/SessionFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/session/SessionFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/session/SessionFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/session/SessionFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.session.SessionFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/session/SessionFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/fileTransfer/FileTransfer.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/fileTransfer/FileTransfer.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/fileTransfer/FileTransfer.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/fileTransfer/FileTransfer.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/fileTransfer/FileTransfer.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.fileTransfer.FileTransfer
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/fileTransfer/FileTransfer.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/ole/OleFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/ole/OleFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/ole/OleFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/ole/OleFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/ole/OleFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.ole.OleFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/ole/OleFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/cApi/CApiFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/cApi/CApiFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/cApi/CApiFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/cApi/CApiFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/cApi/CApiFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.cApi.CApiFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/cApi/CApiFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Cache entry not found [url: https://200.253.113.26/lib/oracle/forms/webutil/browser/BrowserFunctions.class, version: null]
    network: Connecting https://200.253.113.26/lib/oracle/forms/webutil/browser/BrowserFunctions.class with proxy=DIRECT
    network: Cache entry not found [url: https://200.253.113.26/forms/java/oracle/forms/webutil/browser/BrowserFunctions.class, version: null]
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/browser/BrowserFunctions.class with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/java/oracle/forms/webutil/browser/BrowserFunctions.class with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    java.lang.ClassNotFoundException: oracle.forms.webutil.browser.BrowserFunctions
         at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at oracle.forms.handler.UICommon.instantiate(Unknown Source)
         at oracle.forms.handler.UICommon.onCreate(Unknown Source)
         at oracle.forms.handler.JavaContainer.onCreate(Unknown Source)
         at oracle.forms.engine.Runform.onCreateHandler(Unknown Source)
         at oracle.forms.engine.Runform.processMessage(Unknown Source)
         at oracle.forms.engine.Runform.processSet(Unknown Source)
         at oracle.forms.engine.Runform.onMessageReal(Unknown Source)
         at oracle.forms.engine.Runform.onMessage(Unknown Source)
         at oracle.forms.engine.Runform.sendInitialMessage(Unknown Source)
         at oracle.forms.engine.Runform.startRunform(Unknown Source)
         at oracle.forms.engine.Main.createRunform(Unknown Source)
         at oracle.forms.engine.Main.start(Unknown Source)
         at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: open HTTP connection failed:https://200.253.113.26/forms/java/oracle/forms/webutil/browser/BrowserFunctions.class
         at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
         at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         ... 20 more
    network: Connecting https://200.253.113.26/forms/lservlet;jsessionid=08AA4CF07F761424418619C068213911 with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/lservlet;jsessionid=08AA4CF07F761424418619C068213911 with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    network: Connecting https://200.253.113.26/forms/lservlet;jsessionid=08AA4CF07F761424418619C068213911 with proxy=DIRECT
    network: Connecting https://200.253.113.26/forms/lservlet;jsessionid=08AA4CF07F761424418619C068213911 with cookie "JSESSIONID=08AA4CF07F761424418619C068213911"
    basic: Applet started

  • Strange problem with signed jars, axis

    I have an application that uses axis to communicate with the server that contains the business logic. I have configured my application to run with java web start. I have been signed all the jars to grant full access to my application to system resources.
    On the jnlp file I specify
    <security>
    <all-permissions/>
    </security>
    The problem is that when I execute calls to my business logic that return a DataHandler (files) I get a security expection with an access denied message.
    I thought that signing my jars (application and libraries) and specifying all-permissions should make my application run as a local application. If I execute my application locally (no java webstart) it runs fine.
    Is there something that I am missing ?
    The exeption I receive is :
    24-may-2006 15:47:56 org.apache.axis.Message writeTo
    GRAVE: Exception:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: java.security.AccessControlException: access denied (java.io.FilePermission C:\DOCUME~1\development\CONFIG~1\Temp\Axis62567.att read)
    faultActor:
    faultNode:
    faultDetail:
         {http://xml.apache.org/axis/}stackTrace:java.security.AccessControlException: access denied (java.io.FilePermission C:\DOCUME~1\development\CONFIG~1\Temp\Axis62567.att read)
         at java.security.AccessControlContext.checkPermission(Unknown Source)
         at java.security.AccessController.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkRead(Unknown Source)
         at java.io.FileInputStream.<init>(Unknown Source)
         at org.apache.axis.attachments.ManagedMemoryDataSource$Instream.read(ManagedMemoryDataSource.java:784)
         at java.io.InputStream.read(Unknown Source)
         at javax.activation.DataHandler.writeTo(DataHandler.java:289)
         at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1209)
         at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:709)
         at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:271)
         at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:67)
         at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:839)
         at javax.activation.DataHandler.writeTo(DataHandler.java:295)
         at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1209)
         at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1614)
         at org.apache.axis.attachments.MimeUtils.writeToMultiPartStream(MimeUtils.java:202)
         at org.apache.axis.attachments.AttachmentsImpl.writeContentToStream(AttachmentsImpl.java:493)
         at org.apache.axis.Message.writeTo(Message.java:545)
         at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:511)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at com.test.logic.services.adm.AdmManagerSoapBindingStub.getResourceManagement(AdmManagerSoapBindingStub.java:4290)
         at com.test.logic.adm.ResouceManagement.run(ResouceManagement.java:355)
         at java.lang.Thread.run(Unknown Source)
         {http://xml.apache.org/axis/}hostname:development
    java.security.AccessControlException: access denied (java.io.FilePermission C:\DOCUME~1\development\CONFIG~1\Temp\Axis62567.att read)
         at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
         at org.apache.axis.attachments.AttachmentsImpl.writeContentToStream(AttachmentsImpl.java:512)
         at org.apache.axis.Message.writeTo(Message.java:545)
         at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:511)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
         at org.apache.axis.client.Call.invoke(Call.java:2767)
         at org.apache.axis.client.Call.invoke(Call.java:2443)
         at org.apache.axis.client.Call.invoke(Call.java:2366)
         at org.apache.axis.client.Call.invoke(Call.java:1812)
         at com.test.logic.services.adm.AdmManagerSoapBindingStub.getResourceManagement(AdmManagerSoapBindingStub.java:4290)
         at com.test.logic.adm.ResouceManagement.run(ResouceManagement.java:355)
         at java.lang.Thread.run(Unknown Source)
    Caused by: java.security.AccessControlException: access denied (java.io.FilePermission C:\DOCUME~1\development\CONFIG~1\Temp\Axis62567.att read)
         at java.security.AccessControlContext.checkPermission(Unknown Source)
         at java.security.AccessController.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkPermission(Unknown Source)
         at java.lang.SecurityManager.checkRead(Unknown Source)
         at java.io.FileInputStream.<init>(Unknown Source)
         at org.apache.axis.attachments.ManagedMemoryDataSource$Instream.read(ManagedMemoryDataSource.java:784)
         at java.io.InputStream.read(Unknown Source)
         at javax.activation.DataHandler.writeTo(DataHandler.java:289)
         at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1209)
         at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:709)
         at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:271)
         at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:67)
         at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:839)
         at javax.activation.DataHandler.writeTo(DataHandler.java:295)
         at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1209)
         at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1614)
         at org.apache.axis.attachments.MimeUtils.writeToMultiPartStream(MimeUtils.java:202)
         at org.apache.axis.attachments.AttachmentsImpl.writeContentToStream(AttachmentsImpl.java:493)
         ... 15 moreI

    I have been able to solve the problem with the post
    http://forum.java.sun.com/thread.jspa?forumID=38&threadID=704885
    I do not know why this is not reported on the Java Web Start FAQ. This is a very frustating error.

  • I believe I have a problem with my Jar file build.

    Hi, there. New to Java/JavaFX. Testing language features. Operating System: Windows 7; java version 1.7.0_03; javafx version 2.0.3.
    This is a simple test with 2 classes: Test1.class resides in base directory "MyJavaFX"; TextFileLoader.class resides in sub-directory "inout" of "MyJavaFX"(i.e. MyJavaFX\inout).
    Test1.class has an import statement "import inout.TextFileLoader;" TextFileLoader.class has a package statement "package inout;"
    Both classes compile without problems and jar file is created using Ant tasks.
    Within "MyJavaFX" as my current directory, When running Application Test1 (java -jar Test1.jar)
    getting error "ClassNotFoundException: inout.TextFileLoader".
    I believe it has to do with how Test1.jar file is built. I believe line 4 should say "inout/TextFileLoader.class"
    instead of just the simple class name but I can't get my Ant task to set it up that way.
    This is "Test1.jar":
    META-INF/
    META-INF/MANIFEST.MF
    Test1.class
    TextFileLoader.class
    com/
    com/javafx/
    com/javafx/main/
    com/javafx/main/Main$1.class
    com/javafx/main/Main.class
    com/javafx/main/NoJavaFXFallback.class
    This is my "build.xml" file:
    <project name="JavaFxTest" default="default" basedir="."
         xmlns:fx="javafx:com.sun.javafx.tools.ant">
    <target name="default">
         <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
         uri="javafx:com.sun.javafx.tools.ant"
         classpath="C:/Program Files/Oracle/JavaFX 2.0 SDK/tools/ant-javafx.jar"/>
         <fx:application id="Test1"
         name="Java Test Program"
         mainclass="Test1"/>
         <fx:resources id="appRes">
         <fx:fileset dir="C:/Program Files/Oracle/JavaFX 2.0 Runtime/lib"/>
         </fx:resources>
         <fx:jar destfile="C:/MyjavaFX/Test1.jar">
         <fx:application refid="Test1"/>
         <fx:resources refid="appRes"/>
         <fileset dir="." includes="Test1.class"/>
         <fileset dir="inout" includes="TextFileLoader.class"/>
         </fx:jar>
    </target>
    </project>

    if javaw fails to launch the VM then a dialog should be displayed with an error. The first time I launch an application with javaw (after installing the JVM on a new machine it takes a long time for it to happen. have you tried from the command line >javaw -jar D.jar? I'm wondering if the installation of java went well on your machine. It's supposed to set up things correctly. did you install a new version of java over an existing one? maybe there was a java plugin previously installed on the machine before you installed j2sdk.
    walker

  • Help with signing jar files

    hi,
    Iam trying to let a applet do file acces on a client. Therefore I must sign a applet so it may access the filesystem. This works, but the code keeps screaming about security violations.
    Now ive vopied the code from a example from Oracle and I found one difference.
    next to the fileUploader class that I also have in my jar file there is a
    FileUploader$1.class with the following code:
    import oracle.ewt.thread.Task;
    import oracle.ewt.thread.TaskEvent;
    final synchronized class FileUploader$1 implements Task
        private final FileUploader this$0 = fileUploader;
        private final boolean val$nf = flag;
        private final Object val$val = object;
        public void runTask(TaskEvent taskEvent)
            FileUploader.access$0(this$0, val$val, val$nf);
        FileUploader$1(boolean flag, FileUploader fileUploader, Object object)
    }but if I try to compile this code then I get all sorts of error telling me Iam missing vars and methods.
    Can anyone tell me why this class is there and what it does and if its nessesary for the fileaccess then how can I create it

    hi,
    Iam trying to let a applet do file acces on a client.
    Therefore I must sign a applet so it may access the
    filesystem. This works, but the code keeps screaming
    about security violations.
    Now ive vopied the code from a example from Oracle and
    I found one difference.
    next to the fileUploader class that I also have in my
    jar file there is a
    FileUploader$1.class with the following code:
    import oracle.ewt.thread.Task;
    import oracle.ewt.thread.TaskEvent;
    final synchronized class FileUploader$1 implements
    Task
    private final FileUploader this$0 = fileUploader;
    private final boolean val$nf = flag;
    private final Object val$val = object;
    public void runTask(TaskEvent taskEvent)
    FileUploader.access$0(this$0, val$val,
    al$val, val$nf);
    FileUploader$1(boolean flag, FileUploader
    der fileUploader, Object object)
    }but if I try to compile this code then I get all sorts
    of error telling me Iam missing vars and methods.
    Can anyone tell me why this class is there and what it
    does and if its nessesary for the fileaccess then how
    can I create it
    a Name1$Name2.class file is generated from an inner class Name2 in a class Name1.
    in your case you want to look at and compile FileUploader.java. This will then generate any inner class FileUploader$innerclass.class files necessary

  • Problems with a jar file in wsad

    hi, my name is carlos and I am working with WebSphere Studio Application developer.
    my problem: Some people give me a jar file for start to build a web app, when finish one part i wish test in the sever enviorment embed in the wsad, then appear this error:
    [5/10/05 15:58:31:125 COT] 61255324 WebGroup E SRVE0026E: [Error de servlet]-[co/edu/uautonoma/siunac/business/BIFactory]: java.lang.NoClassDefFoundError: co/edu/uautonoma/siunac/business/BIFactory
    and other stuff.....
    i dont know what means this error, do you any idea????
    thanks for your help...

    It means the jar needs another jar which contains the class which is missing.

  • Problems with rt.jar file

    Hi
    I've created some application using Netbeans and generate jar file. When I try to run it using "java -jar" command I get message: "File was not found".
    I use "-verbose" option and to look what is wrong and get this "File was not found" message below this line:
    [Loaded javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread$1 from C:\Program Files\Java\jre6\lib\rt.jar]
    Any idea what's wrong ?

    Execute java -version in the cmd window. Does it reply with the Java version?
    If so, change to the directory (cd command) that the jar file is in. Execute
    java -jar <nameOfJar>.jar from that directory.

  • Problem with executable jar file

    Hi,
    I wrote a simple little xml based app in eclipse, it had xalan and xerces in build path. I created an executuable jar that ran fine on my machine; I was able to move it to different directories and launch it successfully, but when I put the jar file on a network directory and asked a coworker to try running it, they got a message that said it couldn't find the main class.
    how do you deal with that?
    thanks,
    bp

    they got a message that said it couldn't find the main class.
    Are you sure?
    If you are sure then none of the other responses will help.
    That error suggests one of the following
    1. The jar you moved is not the jar that you are running.
    2. Your co-workers did not execute it correctly.
    3. You do not have an executable jar (and you are not testing it correctly on your box.)
    How exectly did they run it?
    The standard double click will give an error about "Main-Class" with that specific text when you attempt to run a jar that is not in fact an executable jar.
    That error is NOT the same as the standard class not found error.

  • Newbie's problem with executable jar file

    hello
    i create an executable jar file and it seems ok except it fails to locate all of my image files.
    when i use
    java -jar myproject.jar
    it fails to display included pictures and files.
    however, when i extract this jar file and run, it works fine (displays everything).
    do i need to do add some informations about these included file's information into Manifest file?
    thank you

    thank you for the reply.
    i have searched through java, and find "class javax.commerce.cassette.JARCassetteLoader". is this one you referred? i have used file related examples from the java-swing samples.
    //post - return the file path
    protected static ImageIcon getImageIcon(String path)
    java.net.URL imgURL = TestDialog.class.getResource(path);
    if (imgURL != null)
    return new ImageIcon(imgURL, description);
    else
    System.out.println("Couldn't find file: " + path);
    return null;
    then i just use
    ImageIcon icon = getImageIcon("images"+File.separator+"simple.gif"); // images\simple.gif
    thank you

  • Problems with my jar file

    Here is another jar question, which you have probably heard about a million times so far. I have created the following java program, which I compile and run from c:\j2sdk1.4.2\bin directory:
    public class Test2{
    public Test2() {}
    public static void main(String[] args){
    System.out.println("It runs");
    Both the Test2.java and Test2.class are in the ..\bin directory.
    I create my Manifest.mf file as:
    Main-Class: Test2
    Then I follow the instructions from the Java API to create my jar file:
    jar cmvf Manifest.mf Test2.jar Test2.class
    I get the following message on the command prompt:
    added Manifest
    adding Test2.class(in = 411)(out = 283)(deflated 31%)
    The Test2.jar file is placed in the ...\bin directory
    I then double click on the Test2.jar icon and get the following error
    message from the Java Virtual Machine Launcher:
    Failed to load Main-Class manifest attribute from C:\j2sdk1.4.2\bin\Test2.jar
    Similar error message when I type "java -jar Test2.jar" on the command prompt.
    Any clues, hints, etc etc. of what is wrong????
    vxc

    I know. I followed the instructions, but still didn't work. See error message from Java Virtual Machine in previous message of this thread.
    Any clues how to solve it though?
    vxc

  • Problem with uploading a file in Clustered Environment

    Hi,
    I have a problem with uploading a file in a clustered environment. I have an iview component which facilitates an upload action of an xml config file. The problem is that the upload of the modified XML file is reflected only in the central instance of the cluster and not in the dialog instances. The dialog instances hold the old config file.
    Is there any solution to upload the file to all the nodes in the cluster.
    Thanks
    Kiran

    Hi,
    This is a known problem with clustered environment. Remember that your portal component runs on just on dialog instance and it doesn't automatically have access to the other nodes.  However, there are some ways to get around this
    1. Use KM to store files. KM is a common repository for all application servers and therefore you needn't worry more
    2. Use an external batch oriented product (suresync/robocopy) to synch folders on the different DIs. You basically use your existing portal component, but there is a batch job which makes sure the upload folder is identical on all DIs (however, there is a slight delay depending on how often you run the batch job)
    3. Store the files on a shared disk directly from the portal component.
    Cheers
    Dagfinn

  • Peculiar issue with signed .jars and Linux (Debian unstable, 2.4.20-custom)

    BACKGROUND:
    I am a developer working on a Java3D application, which is to be deliverable over
    the Web. Delivery as an applet seemed a natural choice, and so I spent a considerable amount of effort learning (I won't say "mastering") the process of
    creating a self-signed .jar containing java3d-<some_version>.exe. I have in fact
    successfully created a fully-fuctional from-scratch JPI/Java3D/myapp install. By
    this I mean that Windows machine with only stock IE installed could hit my URL,
    get the proper JPI installed, followed by the Java3D runtime I'd chosen, as well
    as a third-party DXF loader, and finally (after much clicking of 'Yes', 'Accept',
    'OK', etc.) see my app in a browser window.
    That was on my old, slow, Windows2000 workstation. Now I have a shiny, new
    workstation upon which my employer has graciously allowed me to run Linux. Sadly,
    the re-creation of the self-signed .jar files under a new JDK has not gone smoothly.
    PROBLEM DESCRIPTION:
    When a user attempts to download the self-signed .jar containing the auto-install
    executable for the Java3D runtime, the normal security warning prompts are displayed (one for granting to install the extension, one to accept the "suspect" certificate from me alone). The plugin happily downloads the .jar file, and then
    a NullPointerException is thrown, with a
    stack trace like:
    NPE!
    at java.util.zip.ZipFile.getInputStream (unknown source)
    at java.util.jar.JarFile.getInputStream (unknown source)
    <something>doPrivileged<something>
    etc.
    I apologize for the lack of a full stack trace; I would essentially have to type it in by hand after printing it out on the remote test box; I hope that I've caught the important details above.
    After this, the pure-java signed .jar is downloaded and installed, and then the applet "loads" with the predictable ClassNotFoundException for javax.media.j3d.SceneGroup.
    Downloading and installing the J3D runtime by hand and then re-visiting the URL results in a fully-functional applet.
    I've tried Blackdown Linux JDKs 1.4 and 1.3.1, as well as Sun's JDKs 1.3.1_07 and 1.3.1_05 for the compiling, jar'ing, and jarsigner'ing of these files, all with the same result. At each new JDK, I re-did the HTML conversion so that he appropriate
    JPI version was required on the client. I did complete uninstallations of all client JPI instances (including Web Start for 1.4.1_x, as well as cleaning the registry on the client).
    When this strategy worked, it was on Sun JDK 1.3.1_05 for Windows runnning on Windows2000, unknown service pack.
    DESIRED BEHAVIOR:
    I would like my clients to be able to go from stock Windows2K/IE (this being an intranet without any other options) to some JPI version running the J3D extension, with only the need to click 'OK', 'Accept', 'Grant This Session', etc. a bunch of times on the part of the user. I want this to happen without my having to resurrect my decrepit old Compaq Deskpro just to play the role of "build host" for my
    Java3D and loader .jar files, if at all possible.
    FILES:
    Here's what gets merged into the "main" applet's mainfest at creation time:
    Manifest-Version: 1.0
    Extension-List: java3d DxfLoader
    java3d-Extension-Name: javax.media.j3d
    java3d-Implementation-Vendor-Id: com.sun
    java3d-Implementation-Version: 1.3
    java3d-Specification-Title: Java 3D API Specification
    java3d-Specification-Version: 1.3
    java3d-Specification-Vendor: Sun Microsystems, Inc
    java3d-Implementation-URL: http://10.1.1.1/heartcad/lib/java3d.jar
    DxfLoader-Extension-Name: eupla.dxfloader
    DxfLoader-Implementation-Title: Eupla DXFLoader
    DXFLoader-Implementation-URL: http://10.1.1.1/heartcad/lib/DxfLoader.jar
    And into the manifest for the J3D .jar:
    Manifest-Version: 1.0
    Implementation-Version: 1.3
    Specification-Version: 1.3
    Extension-Installation: "java3d-1_3-windows-i586-directx-rt.exe"
    Extension-Name: javax.media.j3d
    Implementation-Vendor-Id: com.sun
    Implementation-Vendor: Sun Microsystems, Inc
    Specification-Vendor: Sun Microsystems, Inc

    I have seen that bug, and the problem I'm having seems to be different than it. The extension installer is in the first extension .jar my applet asks for, and it
    never works automatically, regardless of how many times the applet is loaded.
    The second .jar, which doesn't have to run any installer, always works fine, but the first one will never work (a manual install of the Java3D runtime is required). This seems to not be the behavior described in the bug.
    I will continue to search for an answer to this problem, and of course if I should find anything I'll post it here.

  • Three questions about signed jar file and applet

    I use three signed jar file. Each of them signed by different certificate. First of JARs contain applet class. When I start applet from html page I see message &#8220;This applet was signed by&#8230;&#8230; but Java cannot verify it&#8230; Do you trust&#8230;?&#8221;. All times I press &#8220;Yes I trust&#8221; and after this questions applet stop to work end exit. If I use only one certificate for signing of three JARs then applet continue to work after question. 1) What should I do to fix this bug? 2) Is it any method to check from applet that user press Trust button? Is it any method to emulate work of SecurityManager to check that Certificate object is trusted (I want do call some method check(Certificate) and if certificate is not trusted I want to see message with question: &#8220;Do you want to trust this certificate&#8221; and so on)?

    Hello Jarman,
    1. If I have a signed jar file, then as long as the
    certificate is recognised as trusted that applet can
    run as a fully trusted application on the client
    machine. So I should not have to add lines such as
    permission java.lang.RuntimePermission
    "readFileDescriptor", "read" ;
    permission java.lang.RuntimePermission
    "writeFileDescriptor", "write" ;
    to my java.policy file. true/false ?true
    2. If I am running a signed jar file in the Java
    plugin then I do not need to have a verisign or thawte
    certificate (however to allow my certificate to be
    accepted I do have to import it into the cacerts file
    on the client machine). True/false?true
    3. Following on from question 2, if I want to be able
    to run an applet on a client machine, without messing
    around with ANY files on those machines, I need a
    verisign or thawte certificate. True/false?true
    4. (And finally) Apart from a security exception
    saying that I need to add one of the lines like those
    of question 1, is there any way I can get other debug
    information as to why the signed jar file is not being
    recognised as signed?No. This could be a problem of importing your certifcate into the wrong place.
    The information on the following link is a little bit dated but it helped me to successfully install a testcertificate and sign an applet with it.
    http://www.suitable.com/Doc_CodeSigning.shtml

Maybe you are looking for

  • Few apps don't work after Anna update

    I got a new N8 recently (my last one was stolen, insurance covered most of it though) but with the same product code and everything. Of corse, it didn't come with Anna pre-installed (it actually came with PR1.0 and I remembered how horrible the phone

  • How do I convert a pdf file to a word document so I can fill out a form

    hhow do I covert a pdf file into a word document so I can fill out a form

  • Java.sql.SQLException: statement handle not executed

    hello, i am calling a stored procedure and its returns a REF CURSOR and i am getting intermittent exceptions below, org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not execute query; uncategorized SQLException for SQL [

  • Printing a form in portal

    I am trying to create a form via the Wizard and need to create an extra button for PRINTING the current form. How do I do this?

  • TO 2 steps confirmation BAPI.

    Hi everybody, I'm trying to perform a 2 steps confirmation of a TO with the FM L_TO_CONFIRM, but I don't find anything in the FM, where I can specify that is a 2 steps confirmation (first pick and then transfer). Do you know how can I do that? or Do