AnsweredAssumed Answered

Weblogic External Java Code

Question asked by T.Rudie on Mar 21, 2016
Latest reply on Mar 25, 2016 by rusad02

I am having issues deploying custom java code to Identity Manager 12.6.05.0.386 set up in WebLogic Version 10.3.6.0.

I use the following to test the function within Netbeans:

com.siemens.IDM.webkey.New.CreateCNTRTR_Webkey(null ,new String[] {"Joese","Bob","zz2b5f"});

 

Within Identity Manager I have PX set the action to:

PXexample.png

The method that iI am attempting to call is here

package com.siemens.IDM.webkey;
public class New extends Request {
public static void CreateCNTRTR_Webkey(IMContext im, String[] args) throws Exception 

 

My point of confusion is where do i put the class (or Jar) file(s). I have looked into the following documents on how to deploy this into weblogic.

     How to call external java methods from Policy Xpress ?

      Deploying Run Time Files - CA Identity Manager - 12.6.5 - CA Technologies Documentation

 

I currently having the class files copeid into the following locations

..weblogic/weblogic1036/Middleware/user_projects/domains/Admin_domain/applications/iam_im.ear/custom/com/siemens/idm/webkey/

..weblogic/weblogic1036/Middleware/user_projects/domains/Admin_domain/applications/iam_im.ear/user_console.war/WEB-INF/classes/com/siemens/IDM/webkey/

 

The action still fails with the following crashdump;

23:41:25,703 ERROR [com.netegrity.ims.exception.EventExecuteStateException] Exception:
com.ca.identitymanager.policyxpress.exceptions.PxEnvironmentException: Class com.siemens.IDM.webkey.New cannot be found in classpath


        at com.ca.identitymanager.policyxpress.plugins.shared.JavaClassAction.execute(JavaClassAction.java:73)
        at com.ca.identitymanager.policyxpress.plugins.events.JavaActionEvent.execute(JavaActionEvent.java:48)
        at com.netegrity.ims.businessprocess.IMSEventController.executing(IMSEventController.java:265)
        at com.netegrity.ims.businessprocess.IMSController.executing(IMSController.java:59)
        at com.netegrity.ims.bootstrap.IMSMessageListener.processEventToNextSavePoint(IMSMessageListener.java:406)
        at com.netegrity.ims.bootstrap.IMSMessageListener.handleMessage(IMSMessageListener.java:194)
        at com.netegrity.ims.bootstrap.IMSMessageListener.onMessage(IMSMessageListener.java:103)
        at com.netegrity.ejb.message.subscriber.SubscriberMessageBean.onMessage(SubscriberMessageBean.java:71)
        at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583)
        at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486)
        at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:389)
        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659)
        at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345)
        at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3822)
        at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115)
        at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
Caused by: java.lang.ClassNotFoundException: Class bytes found but defineClass()failed for: 'com.siemens.IDM.webkey.New'
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:276)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:52)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at com.ca.identitymanager.policyxpress.plugins.shared.JavaClassAction.execute(JavaClassAction.java:71)
        ... 18 more
Caused by: java.lang.UnsupportedClassVersionError: com/siemens/IDM/webkey/New : unsupported classversion 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:343)
        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:302)
        at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:52)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at com.ca.identitymanager.policyxpress.plugins.shared.JavaClassAction.execute(JavaClassAction.java:71)
        at com.ca.identitymanager.policyxpress.plugins.events.JavaActionEvent.execute(JavaActionEvent.java:48)
        at com.netegrity.ims.businessprocess.IMSEventController.executing(IMSEventController.java:265)
        at com.netegrity.ims.businessprocess.IMSController.executing(IMSController.java:58)
        at com.netegrity.ims.bootstrap.IMSMessageListener.processEventToNextSavePoint(IMSMessageListener.java:406)
        at com.netegrity.ims.bootstrap.IMSMessageListener.handleMessage(IMSMessageListener.java:192)
        at com.netegrity.ims.bootstrap.IMSMessageListener.onMessage(IMSMessageListener.java:103)
        at com.netegrity.ejb.message.subscriber.SubscriberMessageBean.onMessage(SubscriberMessageBean.java:71)
        at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:583)
        at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:486)
        at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:388)
        at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659)
        at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345)
        at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821)
        ... 5 more
23:41:25,704 ERROR [com.netegrity.ims.exception.EventExecuteStateException] Execution of event: JavaActionEvent failed.  Exception encountered: PxEnvironmentException:Class com.siemens.IDM.webkey.New cannot be found in classpath

 

The Java on the server is:

 

java version "1.7.0_71"

OpenJDK Runtime Environment (rhel-2.5.3.1.el6-x86_64 u71-b14)

OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

 

The code is compiled with same version of Java.

 

What am I missing here?

Outcomes