OIM 11g Plugin - Third Party Jars : Classloader issue

Hi All,
I am having a Plugins.zip under middleware/Oracle_IDM1/server/plugins folder.  [OIM 11g R2]
This gets invoked from a schedule job.
I have third party Jars (axis.jar) within Plugins.zip/lib. My code within Plugins.zip calls Thrid Party APIs.
Now the issue is:
The APIs (within axis.jar) do not seem to find property files from within their own JARS.
These property files are within their own Third Party Jars and the Third Party APIs should be able to access them by default. I have tested these APIs from stand alone clients and web clients, they work perfectly.
But within the Plugins.zip, these third party APIs do not seem to find property files from within their own JARs.
Looks like some class loader issue. Something must be getting messed up in the way the Third Party JARs from within the Plugins.zip/lib are loaded.
Has anyone faced similar issue.
Any suggestions please?
Thanks,
Sandeep

I placed the required JARs under middleware/Oracle_IDM1/server/ThirdParty.
I also executed UploadJars utility for required JARs.
I have also added to server startup path : .../middleware/Oracle_IDM1/server/ThirdParty/axis.jar.
But I still get the following Error:
java.lang.ExceptionInInitializerError
Caused By: java.util.MissingResourceException: Cannot find resource 'org.apache.axis.i18n.resource'
I'm calling axis APIs from my code. The resource "org/apache/axis/i18n/resource.properties" is clearly present inside axis.jar.
My client works when executed outside of Plugins.zip.
Please see the full stack trace below:
java.lang.ExceptionInInitializerError
        at org.apache.axis.utils.Messages.<clinit>(Messages.java:36)
        at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java:144)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:113)
        at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:160)
        at org.apache.axis.client.Service.getEngineConfiguration(Service.java:813)
        at org.apache.axis.client.Service.getAxisClient(Service.java:104)
        at org.apache.axis.client.Service.<init>(Service.java:113)
        at org.my.company.webservice.SecurityQASyncWS_ServiceLocator.<init>(SecurityQASyncWS_ServiceLocator.java:12)
        at org.my.company.webservice.SecurityQASyncWSClient.invoke(SecurityQASyncWSClient.java:31)
        at com.my.company.idm.xl.schedule.tasks.SecurityQASynchronization.processBatch(SecurityQASynchronization.java:561)
        at com.my.company.idm.xl.schedule.tasks.SecurityQASynchronization.execute(SecurityQASynchronization.java:222)
        at oracle.iam.scheduler.vo.TaskSupport.invokeExecute(TaskSupport.java:183)
        at oracle.iam.scheduler.vo.TaskSupport.access$000(TaskSupport.java:40)
        at oracle.iam.scheduler.vo.TaskSupport$1.processWithoutResult(TaskSupport.java:143)
        at oracle.iam.platform.tx.OIMTransactionCallbackWithoutResult.process(OIMTransactionCallbackWithoutResult.java:9)
        at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:13)
        at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:6)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
        at oracle.iam.platform.tx.OIMTransactionManager.execute(OIMTransactionManager.java:22)
        at oracle.iam.scheduler.vo.TaskSupport.executeJob(TaskSupport.java:125)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at oracle.iam.scheduler.impl.quartz.QuartzJob$TaskExecutionAction.run(QuartzJob.java:268)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.security.Security.runAs(Security.java:41)
        at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
        at oracle.iam.scheduler.impl.quartz.QuartzJob.execute(QuartzJob.java:77)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
Caused By: java.util.MissingResourceException: Cannot find resource 'org.apache.axis.i18n.resource'
        at org.apache.axis.i18n.ProjectResourceBundle.getBundle(ProjectResourceBundle.java:288)
        at org.apache.axis.i18n.MessagesConstants.<clinit>(MessagesConstants.java:32)
        at org.apache.axis.utils.Messages.<clinit>(Messages.java:36)
        at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java:144)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:113)
        at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:160)
        at org.apache.axis.client.Service.getEngineConfiguration(Service.java:813)
        at org.apache.axis.client.Service.getAxisClient(Service.java:104)
        at org.apache.axis.client.Service.<init>(Service.java:113)
        at org.my.company.webservice.SecurityQASyncWS_ServiceLocator.<init>(SecurityQASyncWS_ServiceLocator.java:12)
        at org.my.company.webservice.SecurityQASyncWSClient.invoke(SecurityQASyncWSClient.java:31)
        at com.ets.idm.xl.schedule.tasks.SecurityQASynchronization.processBatch(SecurityQASynchronization.java:561)
        at com.ets.idm.xl.schedule.tasks.SecurityQASynchronization.execute(SecurityQASynchronization.java:222)
        at oracle.iam.scheduler.vo.TaskSupport.invokeExecute(TaskSupport.java:183)
        at oracle.iam.scheduler.vo.TaskSupport.access$000(TaskSupport.java:40)
        at oracle.iam.scheduler.vo.TaskSupport$1.processWithoutResult(TaskSupport.java:143)
        at oracle.iam.platform.tx.OIMTransactionCallbackWithoutResult.process(OIMTransactionCallbackWithoutResult.java:9)
        at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:13)
        at oracle.iam.platform.tx.OIMTransactionCallback.doInTransaction(OIMTransactionCallback.java:6)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
        at oracle.iam.platform.tx.OIMTransactionManager.execute(OIMTransactionManager.java:22)
        at oracle.iam.scheduler.vo.TaskSupport.executeJob(TaskSupport.java:125)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at oracle.iam.scheduler.impl.quartz.QuartzJob$TaskExecutionAction.run(QuartzJob.java:268)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.security.Security.runAs(Security.java:41)
        at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
        at oracle.iam.scheduler.impl.quartz.QuartzJob.execute(QuartzJob.java:77)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)

Similar Messages

  • Third Party Jars in OIM 11G

    Hi All,
    I am trying to invoke a web service stub to call create() functionality.
    From the stand alone program(with out integrating with OIM server), if I just run it from eclipse, I am able to create the user in target system. If I try to invoke through process task adapters, I am getting Connection Exception.
    I think there is something to do with the third party jars. I have copied all the jars to /<Oracle_Home>/Oracle_IDM1/server/ThirdParty and <WEBLOGIC_HOME>Middleware/wlserver_10.3/server/lib.
    Should I run "UploadJars.sh" utility of OIM?
    Should I update the classpath of OIM and weblogic? I heard that from 11g onwards it automatically pick up the third party jars. Isn't so?
    My OIM Server and Target System Application are in different machines. There is no SSL communication. So I think no need to exchange certificates also.
    Please help me to solve this.

    Hello, oimcoder.
    I've removed the jars everywhere (from database and CLASSPATH variable too) besides the ThirdParty folder. When I run my Scheduled task there is a stack trace in log:
    [2011-09-22T12:26:41.717+03:00] [oim_server1] [TRACE] [] [oracle.iam.platform.pluginframework] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: oracle.iam.platform.pluginframework.PluginClassLoader] [APP: oim#11.1.1.3.0] [SRC_METHOD: findClass] in find classorg.apache.cxf.jaxws.JaxWsProxyFactoryBean
    [2011-09-22T12:26:41.717+03:00] [oim_server1] [TRACE] [] [oracle.iam.platform.pluginframework] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: oracle.iam.platform.pluginframework.PluginClassLoader] [APP: oim#11.1.1.3.0] [SRC_METHOD: findClass] Class Not found - org.apache.cxf.jaxws.JaxWsProxyFactoryBean
    [2011-09-22T12:26:41.717+03:00] [oim_server1] [TRACE:32] [] [org.springframework.transaction.jta.JtaTransactionManager] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: org.springframework.transaction.support.AbstractPlatformTransactionManager] [APP: oim#11.1.1.3.0] [SRC_METHOD: triggerBeforeCompletion] Triggering beforeCompletion synchronization
    [2011-09-22T12:26:41.718+03:00] [oim_server1] [TRACE] [] [org.springframework.transaction.jta.JtaTransactionManager] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: org.springframework.transaction.support.AbstractPlatformTransactionManager] [APP: oim#11.1.1.3.0] [SRC_METHOD: processRollback] Should roll back transaction but cannot - no transaction available
    [2011-09-22T12:26:41.718+03:00] [oim_server1] [TRACE:32] [] [org.springframework.transaction.jta.JtaTransactionManager] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: org.springframework.transaction.support.AbstractPlatformTransactionManager] [APP: oim#11.1.1.3.0] [SRC_METHOD: triggerAfterCompletion] Triggering afterCompletion synchronization
    [2011-09-22T12:26:41.718+03:00] [oim_server1] [TRACE:32] [] [org.springframework.transaction.support.TransactionSynchronizationManager] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: org.springframework.transaction.support.TransactionSynchronizationManager] [APP: oim#11.1.1.3.0] [SRC_METHOD: clearSynchronization] Clearing transaction synchronization
    [2011-09-22T12:26:41.718+03:00] [oim_server1] [TRACE] [IAM-1020021] [oracle.iam.scheduler.vo] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: oracle.iam.scheduler.vo.TaskSupport] [APP: oim#11.1.1.3.0] [SRC_METHOD: executeJob] Exception encountered
    [2011-09-22T12:26:41.718+03:00] [oim_server1] [TRACE:16] [] [oracle.iam.scheduler.vo] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: su.jet.idm.otp.saphr.oimdataloader.SaphrLoader] [APP: oim#11.1.1.3.0] [SRC_METHOD: logJobExecution] ENTRY 16В 461 1В 316В 683В 601В 644 1В 316В 683В 601В 718 6 java.lang.Exception: java.lang.NoClassDefFoundError: org/apache/cxf/jaxws/JaxWsProxyFactoryBean
    [2011-09-22T12:26:41.719+03:00] [oim_server1] [TRACE] [] [org.springframework.beans.factory.support.DefaultListableBeanFactory] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: org.springframework.beans.factory.support.AbstractBeanFactory] [APP: oim#11.1.1.3.0] [SRC_METHOD: doGetBean] Returning cached instance of singleton bean 'txManager'
    [2011-09-22T12:26:41.719+03:00] [oim_server1] [TRACE] [] [org.springframework.transaction.jta.JtaTransactionManager] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: org.springframework.transaction.support.AbstractPlatformTransactionManager] [APP: oim#11.1.1.3.0] [SRC_METHOD: getTransaction] Creating new transaction with name [null]: PROPAGATION_REQUIRES_NEW,ISOLATION_DEFAULT
    [2011-09-22T12:26:41.719+03:00] [oim_server1] [TRACE:32] [] [org.springframework.transaction.support.TransactionSynchronizationManager] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: org.springframework.transaction.support.TransactionSynchronizationManager] [APP: oim#11.1.1.3.0] [SRC_METHOD: initSynchronization] Initializing transaction synchronization
    [2011-09-22T12:26:41.719+03:00] [oim_server1] [TRACE] [] [org.springframework.beans.factory.support.DefaultListableBeanFactory] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [SRC_CLASS: org.springframework.beans.factory.support.AbstractBeanFactory] [APP: oim#11.1.1.3.0] [SRC_METHOD: doGetBean] Returning cached instance of singleton bean 'toplinkSession'
    [2011-09-22T12:26:41.719+03:00] [oim_server1] [TRACE:16] [] [org.eclipse.persistence.session.oim.connection] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [APP: oim#11.1.1.3.0] client acquired
    [2011-09-22T12:26:41.719+03:00] [oim_server1] [TRACE:16] [] [org.eclipse.persistence.session.oim.transaction] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [APP: oim#11.1.1.3.0] acquire unit of work: 1992813264
    [2011-09-22T12:26:41.719+03:00] [oim_server1] [TRACE:16] [] [org.eclipse.persistence.session.oim.transaction] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [APP: oim#11.1.1.3.0] TX binding to tx mgr, status=STATUS_ACTIVE
    [2011-09-22T12:26:41.719+03:00] [oim_server1] [TRACE:32] [] [org.eclipse.persistence.session.oim.query] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [APP: oim#11.1.1.3.0] Execute query ReadObjectQuery(referenceClass=JobHistory )
    [2011-09-22T12:26:41.720+03:00] [oim_server1] [TRACE:32] [] [org.eclipse.persistence.session.oim.query] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [APP: oim#11.1.1.3.0] Execute query ReadObjectQuery(referenceClass=JobHistory )
    [2011-09-22T12:26:41.720+03:00] [oim_server1] [TRACE:32] [] [org.eclipse.persistence.session.oim.connection] [tid: OIMQuartzScheduler_Worker-1] [userId: oiminternal] [ecid: 0000JAGRjisCgoYFLryGOA1EUjqc000005,0] [APP: oim#11.1.1.3.0] reconnecting to external connection pool
    [2011-09-22T12:26:41.723+03:00] [oim_server1] [TRACE] [] [org.springframework.jndi.JndiTemplate] [tid: [ACTIVE].ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: xelsysadm] [ecid: 2ec07577f0893da0:3c1077a9:132906edc25:-8000-000000000000040d,0] [SRC_CLASS: org.springframework.jndi.JndiTemplate] [APP: oim#11.1.1.3.0] [SRC_METHOD: lookup] Looking up JNDI object with name [ejb.stateless.SchedulerService#oracle.iam.scheduler.api.SchedulerServiceRemote]

  • Plugin Third party Dependent jars configuration

    Hi,
    We have developed a scheduled task which has thid party dependent jars (jars for webservice client like axis etc). We put this jars under the lib folder which also contains the plugin jar. When we deploy the plugin with plugin registration utility we get classnotfound exception about the third party jars which we already included in the lib directory. What can be the problem here ? any help is strongly appreciated..
    BR,
    Aliye

    If you include Third party jar inside plugin zip it should not produce error.
    However, For Scheduled task Plugin is not required. You upload your Scheduled Task Jar/Third party jar using UploadJars.sh or place inside Scheduled Task,ThirdParty folder.
    Hope currently you have registered your code as plugin. better remove this plugin using ant script or db. and then put your jars at file system and then upload it using UploadJars.sh. Make sure you run
    PurgCache.sh all afterwards.

  • JAR executable do not find third party Jars

    Boy I am beat.
    I am trying to build executable jar that needs bunch of third party jars.
    So I import the jars into a ext folder at the top of the pkg. I jar it all up (using Ant)with a manifast that point the classpath to the jars at the ext folder
    Dir Structure:
    myJar.jar
    |
    +-build
    |main class
    |
    +EXT
    |
    + bunchOfJars
    </pre>
    Manifest-Version: 1.0
    Created-By: Apache Ant 1.5
    Built-By: Ted I Weitz
    Classpath: ext/dom.jar ext/xsltc.jar ext/dt jar ext/vecmath.jar
    ext/j3dcore.jar ext/j3dutils.jar ext/xercesImpl.jar ext/xalan.jar
    Main-Class: myMain
    Command:
    java -jar myJar.jar
    I will be very gratfull for any idea
    Ted

    Just posted on this in another thread I am watching. As far as I know, and every other post I have seen on this topic, there is no way to do this without using a custom classloader that is used by the executing .jar itself to load any .jar files. How I can see this work is the main class is nothing more than a "classloader" launcher. It creates a new instance of this custom classloader. It then opens "itself" (the .jar the main class and all the .jar's are in), reads the manifest file to locate the .jar files the application requires, then either loads them, or somehow is able to reference them without directly loading them. The URLClassLoader is a good one to extend for this. It already opens up any .jar file specified in its path when being created, scanning for any files in there. Basically, you need to "extend" this functionality to scan any .jar's in the .jar, and so on. So, the launcher may be like so:
    public void main (String[] args)
    JarClassLoader jcl = new JarClassLoader(this.getClass().getClassLoader());
    jcl.launchApp(this);
    the jcl.launchApp would be a method that tells the classloader to use THIS class, its "root" dir, to locate the .jar file to open and scan for more jar files. Each time it comes across a .jar file in the .jar, it opens it and scans it as well.
    Keep in mind, when the URLClassLoader contains one or more .jar files, when a class it loaded references a class that is not found in the that classloaders parent loader classpath, it then starts looking in the .jar files in the URL[] path specified to it. It looks at all classes in the .jar files, but it does NOT look in nested .jar files in the .jar file. Basically, you could take the source code of the URLClassLoader, and add the ability to open up any .jar files nested in each .jar file as needed to resolve a class. I would imagine this could take some time at runtime, probably a second or two on slower machines for a single typecast. However, that would be dependent on the number of nested .jar files, the number of .jar's in the classpath of the classloader. I think I may undertake this task when I have time. I gotta finish my plugin engine first, then I may undertake this classloader. I am pretty sure that is the proper approach to take. However, because it is not part of the JVM .jar execution mechanism, a special bit of coding will be required, such as what I posted above. The main class in the .jar file will have to create this classloader and tell it to "execute" the program, passing to it another main class, specifying the location of the .jar file the main class is in, etc. Hell, you could almost bypass the java -jar app.jar and just do a java Classname where by the class and the .jar are bundled together, although this wouldn't be as nice. The reason this might be better is that then you wouldn't have to do any special coding in the .jar main class. I suppose though, by providing the "launcher" class and having a developer just extend it as part of their main class could also work.
    }

  • Unable to access classes in third party jar files packaged with my ejb.jar

    I have packaged some third party jar files in my xxx_ejb.jar file.  The third party jar file contains classes that are accessed by some custom classes which are in turn accessed by my bean classes.  I get the following error when my custom classes attempt to use any of the classes in one of the third party jar files:
    java.lang.NoClassDefFoundError: com/Ostermiller/util/CSVParser
    Shouldn't I be able to access classes in jar files that are packaged with my xxx_ejb.jar file?  I see the xxx_ejb.jar file as a resource of the application classloader that contains it but I don't see the third party jar files.

    As per the Java EE specification, additional JAR files should be packaged on the EAR level. Only WAR files' WEB-INF/lib folder is scanned for JAR files to be added to the classloader.

  • Using third party jars with Oracle Business Rules

    Hi
    I am working on Oracle AS 10g release 2.
    We are using Oracle Business Rules in integration with Oracle BPEL.
    While using third party jars however, Oracle Business Rules end is facing errors.
    Error during unmarshallingProvider com.sun.xml.bind.ContextFactory_1_0_1 not found
    oracle.classloader.util.AnnotatedClassNotFoundException:
    Missing class: com.sun.xml.bind.ContextFactory_1_0_1
    Dependent class: javax.xml.bind.ContextFinder
    Loader: oracle.xml:10.1.0_2
    Code-Source: /D:/oracleasr3/lib/xml.jar
    Configuration: <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in D:\oracleasr3\j2ee\home\oc4j.jar
    Can anybody help in figuring out where Jaxb jars(3rd party jars) are to be kept so that OAS access it?
    We tried using the applib folder to load the jars but we are getting class loading errors.
    When new instances are created, class loading is not happening.
    Pls help.
    Thanks
    Kavya

    Are you using Application Server Release 3 or Release 2? There are different versions listed in your mail.
    I think you probably want to add this as a shared library via EM and then import the shared library to your application with the application's xml config files.

  • Accessing third party jars - please help

    I have an application that I developed and put in a jar file.
    The application will run from the jar file and will run after
    it has been signed with a certificate from the signed jar file.
    I think I followed all the necessary steps according to the developer
    documentation.
    When I attempt the use it under webstart it fails with the
    following messages.
    Unable to open SQL connection. - openSQLConnection - Class not found exception
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
         at com.sun.jnlp.JNLPClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sun.jnlp.JNLPClassLoader.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 ca.wim.passport.startup.openSQLConnection(startup.java:692)
         at ca.wim.passport.startup.main(startup.java:1011)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
         at java.lang.reflect.Method.invoke(Unknown Source)
         at com.sun.javaws.Launcher.executeApplication(Unknown Source)
         at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
         at com.sun.javaws.Launcher.continueLaunch(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)
    The manifest in my jar file looks like this after it is signed.
    Name: ca/wim/passport/
    Sealed: true
    Main-Class: ca.wim.passport.startup
    Class-Path: . images/ jars/commons-collections.jar jars/commons-digester.jar jars/commons-logging.jar jars/commons-logging-api.jar jars/commons-beanutils.jar jars/jasperreports.jar jars/dnsns.jar jars/kunststoff.jar jars/ldapsec.jar jars/localedata.jar jars/mysql-connector-java-3.0.6-stable-bin.jar jars/pjx.jar jars/sound.jar jars/sunjce_provider.jar
    Name: ca/wim/passport/
    Specification-Title: "Passport"
    Specification-Version: "1.0"
    Specification-Vendor: "WIM Consulting"
    Implementation-Title: "passport"
    Implementation-Version: "build34.9"
    Implementation-Vendor: "WIM Consulting"
    Sealed: true
    The classpath in the manifest has "jars/mysql-connector-java-3.0.6-stable-bin.jar"
    I signed all the third party jars and they are in a sub directory "jars" under
    the directory my jar file is in.
    My JNLP file looks like this
    <?xml version="1.0" encoding="utf-8"?>
    <!-- JNLP File for the Passport Application -->
    <jnlp spec="1.0+" codebase="http://localhost:8080/sterlingcrane/" href="passport.jnlp">
    <information>
    <title>Passport</title>
    <vendor>WIM Consulting</vendor>
    <homepage href="http://www.wim.ca"/>
    <description>Sterling Crane Passport.</description>
    <description kind="short">Passport</description>
    <icon href="WIMicon.gif" width="32" height="32"/>
    <icon href="WIMsplash.jpg" kind="splash"/>
    <offline-allowed/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.4+"/>
    <jar href="passport.jar"/>
    </resources>
    <application-desc main-class="ca.wim.passport.startup"/>
    </jnlp>
    I checked the files webstart downloaded and they are all were downloaded.
    The code from my program is as follows:
    String connectionDriver = "jdbc:mysql://localhost/passport?user=root&password="
    Class.forName(connectionDriver); // Load database driverYet I am getting "ClassNotFoundException" as if the program cannot find
    the third party jars.
    Obviously I am missing something?
    rykk

    Thanks I now have it working.
    With your suggestion I added a "jar href"
    for each of the third party jars.
    It does seem rather stupid to have to do this
    as the manifest already has the required information
    in it.
    rykk

  • Question about using third party jar files in Java Web Start Environment

    Hi everybody, I got a very strange problem and still can't figer out how to solve it. Can anyone help to overcome this problem?? Thanks in advance.
    Question: I wrote a simple java swing application to connect to Oracle database. I packed whole my classes and a third party jar file(classes12.jar) to a new jar file named "IRMASSvrMgntGUI.jar" and then use command 'jarsigner' to signed IRMASSvrMgntGUI.jar. There is no problem when I execute 'java -jar IRMASSvrMgntGUI.jar' in the command line. But when I execute this application via Web Start Environment, an "java.lang.NoClassDefFoundError: oracle/jdbc/driver/OracleDriver
    " error occured with the following detail log shown in Jave Web Start Console:
    =============================================================
    java.lang.NoClassDefFoundError: oracle/jdbc/driver/OracleDriver
         at DBConnection.getNewConnection(DBConnection.java:25)
         at IRMASSvrMgntGUI.actionPerformed(IRMASSvrMgntGUI.java:524)
         at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
         at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
         at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
         at javax.swing.AbstractButton.doClick(Unknown Source)
         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
         at javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(Unknown Source)
         at java.awt.Component.processMouseEvent(Unknown Source)
         at java.awt.Component.processEvent(Unknown Source)
         at java.awt.Container.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
         at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)
    ==========================================================================
    contents of the manifest file I used to create this jar file are as follows
    ===================================
    Manifest-Version: 1.0
    Main-Class: IRMASSvrMgntGUI
    Class-Path: classes12.jar
    Created-By: 0.9a (itoh)
    ===================================
    and file structures in "IRMASSvrMgntGUI.jar" is
    ====================================
    META-INF/
    classes12.jar
    DBAuthenticateDialog.class
    DBConnection.class
    IRMASSvrMgntGUI.class
    ====================================

    If you directly include classes12.jar in IRMASSvrMgntGUI.jar, the classloader won't be able to find the classes inside classes12.jar. You should sign classes12.jar separately and include that in jnlp along with your application specific jar. When you're launching your app using "java -jar somefile.jar" then the classpath settings in manifest file are used, but that's not the case when you start using JWS since in this case the classpath is based only on the " <jar href=..." entries in jnlp.

  • Plz suggest me How to use Third party jar files in ODI

    Hi all,
    I need to know how to use the third party jar files or our own customised jar file in ODI.
    regards
    palash

    Hi all,
    I am unable to implement..................
    I have one question, if I add any type 4 coneection supported jar file in my ODI_CLASSPATH can I use them in writing procedure to connect Databases
    I am trying to connect Oracle database by putting Ojdbc14.jar in the class path of ODI_CLASSPATH so that in my procedure I can use it .............but failed I dont know how to solve this problem.
    another thing Open Tools are delivered as a Java package (.zip or .jar) containing several files:
    A compiled Java .class file
    Other resources, such as icon files is it so ..............Then I can use full java apllication by preparing required bunch of classes and by set them appropriately in open tool
    need ur suggestion....
    regards
    palash

  • How to include third party .jar files into my jar file

    Hi,
    how do i include a open source third party jar file into an executable jar?
    i have a class called BlogBox.java and it uses org.apache.commons.net.ftp.FTPClient, i want to create an executable file, where do i put the .jar file containing FTPClient aka Apache Commons Net?
    currently i'm getting the following error from when executing my BlogBox.jar
    C:\MyJava\BlogBox>java -jar BlogBox.jar
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/net/ftp/FTPClient
    at blogbox.BlogBox.<init>(BlogBox.java:27)
    at blogbox.BlogBox.main(BlogBox.java:103)
    Any suggestions? i have searched google and this forum but could not find the solution to my problem, thanks
    [edited msg] do i need to add the classpath at execution or something of the apache commons net library?
    Message was edited by:
    gekkokid

    When you use an executable jar the normal class path
    is ignored, but you can put a classpath inside the
    jar. The usual trick is to place the library jar
    files in a directory inside the application directory
    and direct the manifest file to it. The manifest file
    live in the jar inside the META-INF directory and
    it's called manifest.mf
    The two heavilly used entries are Main-class: and
    Class-path: lines. Class-path just has a
    comma-separated list of library paths.
    The jar utility has a special option to load it up.Thanks :) I created a "/lib" directory, placed in the packages in there and redirected the Class-Path: lib/commons-net-1.4.1.jar
    and it works,
    thank you everyone :)

  • How to Call third party Jar into Application

    Hi Can any Expert help ?
    I want to put third party Jar into my application but i have some problem occur.
    1. how to call jar with parameter in application ?
    2. when i exit the third party jar task, it will exit my main task too. How to set my main tast exit stats standalone ?
    3. I have over 10 jar files in one application, how can i set a classpath for client to call JNLP, instread of load all jar to client before run.
    Thanks.
    Sanki Poon ([email protected])

    1) Sounds like you are trying to launch the third party from it's application main instead of using it as an API How does your code interact with it or is that not important?. You don't call a jar, you load a class. You could use a exec http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runtime.html to run the java launcher and pass it all it's command line stuff(But this may not be possible security wise via WebStart).
    2) if it is launched in the same JVM and it calls a System.exit there is nothing you can do about your app closing too. It would need to be in another instance of the JVM
    3) Under the resources tag you can have as many jar tags as needed.
        <resources>
            <j2se version="1.5.0" java-vm-args="-esa -Xnoclassgc"/>
            <jar href="/jsf-wita/apps/MathMLWebEditor.jar"/>
        </resources>

  • Best way to make a jar with third party jars

    hi, i have a question.
    i have an application that uses different third party jars. For the moment i make my jar like this :
    a) i include all my third party jars (it is working)
    or is it better to
    b) include the jars in the jnlp file
    if b is better should i :
    b1) link to them to another jnlp file, like this :
    <extension name ....
    or
    b2) just put them as resources
    Another question :
    i sign my jar, but can't access the local file system. if i use solution a from above, do i have also to sign the jars that i include in my jar...
    for solution b i think i will have to sign all the jars... right ?
    Thx for your help

    hi, i have a question.
    i have an application that uses different third party
    jars. For the moment i make my jar like this :
    a) i include all my third party jars (it is working)
    or is it better to
    b) include the jars in the jnlp file
    this is best, leaving the third party jars alone.
    if b is better should i :
    b1) link to them to another jnlp file, like this :
    <extension name ....
    If you app needs all-permissions, it is best to do it this way, you can, for example, sign your jar, and then ask for all-permissions in the main jnlp file, then not ask for all-permissions in the extension jnlp file. Or you can ask for all-permission in the extension as well, if the third party jars are signed, and need all-permissions to run properly.
    or
    b2) just put them as resources
    if you don't need all-permissions anywhere, this is easiest.
    If you do need all-permissions everywhere, you could also do this, but you would need to sign the third party jars with the same certificate chain as you signed your jar.
    If the third party jars are allready signed by the third party, or if all-permissions are only needed in some of the jars, the b1 is beter.
    >
    Another question :
    i sign my jar, but can't access the local file
    system. if i use solution a from above, do i have
    also to sign the jars that i include in my jar...
    You need to add :
    <security> <all-permissions/> </security>
    to your jnlp file. In that case, all the jars listed as resources in that jnlp file need to be signed, and by the same certificate.
    for solution b i think i will have to sign all the
    jars... right ?
    yes
    Thx for your help/Andy

  • Problems with the ActiveX bridge for Java beans when using third-party .jar

    I encountered the following problem when using the ActiveX bridge for a java bean:
    I am using JDK 1.4.2_09 and MS Visual Basic 6.0 (SP6). I wrote a java bean called ProcessViewer (my class ProcessViewer inherits from JComponent and implements the interfaces Serializable and AdjustmentListener) which I would like to use within a VB 6.0 application. I used the ActiveX bridge (packager.exe) to generate a DLL (ProcessViewer.dll) and registered it successfully. The java bean GUI-control works fine within my VB 6.0 application unless my java bean (ProcessViewer.jar) uses any third-party .jar files.
    But when I tried to add a reference to some third-party class (com.sap.xxx.xxx....) I got some problems. I could solve the problem with packager.exe by setting the correct CLASSPATH. But at runtime my VB 6.0 application does not work. It crashes or it reports an error like this: "The control ... could not be loaded from axbridge.dll" (although I deployed my .jar file correctly to the directory C:\Programme\Java\j2re1.4.2_09\axbridge\bin and lib). Setting the CLASSPATH environment variable before calling my VB 6.0 application (exe) did not solve the problem.
    How can I teach my VB 6.0 application (containing the Java bean ActiveX control) where to find the third-party .jar file? Copying the third-party .jar file to the JRE lib-folder or to the axbridge\lib folder did not solve the problem either.
    I studied the documentation about the ActiveX bridge given at:
    http://java.sun.com/j2se/1.4.2/docs/guide/beans/axbridge/developerguide/index.html
    but I am missing informations on how the third-party .jar files can be found during runtime of the ActiveX container (e. g. a VB 6.0 application).

    See how to solve your problem with JNI:
    http://codeproject.com/cpp/OOJNIUse.asp
    More examples (for SWING) in tools setup:
    http://www.simtel.net/product.php[id]95126[SiteID]simtel.net
    http://www.simtel.net/product.php[id]94368[SiteID]simtel.net
    http://www.simtel.net/product.php[id]93174[SiteID]simtel.net

  • Where to put Third Party Jars in an .ear file

    Where to put Third Party Jar files in an .ear file so that they can be packaged along with the entire application and thus bypass the trouble of putting the third party .jars inside the application server lib directory and set the class path.

    Just put them in the root of your EAR. You can specify them in the classpath of your EJB JAR's manifest.

  • Accessing third party jars in Web Start. (Urgent)

    hi!
    I have developed an application using jbuilder which uses thirdparty jars, i specify the jars in the project properties & the application runs fine , I tried to deploy that application using Java web start ,i copied all the third party jars in the same directory as the jnlp file's directory.
    my jnlp file has a tag-<jar href="accessor.jar" />
    in the manifest file of accessor.jar-I specified :-Class-Path: a1.jar a2.jar...........an.jar
    since the application access the local file system,
    i gave <security> <all-permissions/> </security>
    i signed all the jar files.
    When i deploy the application i get the following exception
    java.lang.NoClassDefFoundError: a1/StringData
    StringData is a class in a1.jar.
    thus my application cannot access "a1.jar"
    How do i solve this problem?
    Thanks
    Sudhanshu

    The following is the jnlp file:-
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="http://localhost:8080/AccessorApp" href="A.jnlp">
    <information>
    <title>Acessor Application</title>
    <vendor>abcd</vendor>
    <homepage href="A.html" />
    </information>
    <resources>
    <j2se version="1.3+" />
    <jar href="accessor.jar" />
    <jar href="a1.jar" />
    </resources>
    <security> <all-permissions/></security>
    <application-desc main-class="accessor.DataAccess" />
    </jnlp>
    I hope Duck Creek Software -JNLP Wrapper solves this problem.
    Sudhanshu........

Maybe you are looking for

  • Problem with variable substitution.

    Hello, I asked this before but now I want to change the question focus. I have scenario from IDOC to XML file. The scenario is digital invoice for our company in Mexico and I end this scenario with java mapping that I import from SAP marketplace. Now

  • My 2011 MacBook Pro 13 stopped seeing my external monitor

    My 2011 MacBook Pro 13 stopped seeing my external monitor. It is an Acer led monitor connected via hdmi cable Running mountain lion

  • Skype falsely suspended, huge loophole in Skype's ...

    Hello, I have a skype (Baddieisboss) which I have used for over 2 years to run a business. I have accumulated over 5000 contacts throughout the 2 years which were customers and potential customers. Today I woke up, my skype was logged off and it had

  • Sync Address Books w/o iphone

    Is it possible to sync address books on two computers (same OSX) without a .mac account nor an iphone? I also tried working through google. And although I have the sync with google option in pref of address book, when I click on it nothing happens af

  • Printing Receipt Problem

    Hello for all iam trying to print receipt invoice iam using BIXOLON SRP-350plusII printer when iam printing my report it doesn't print any but when chage report mod to charcter it prints . but not all my report and arabic fonts does't appear in agood