Obiee 11.1.1.6  Actions- Invoke a Java Method screen is empty

Hi All,
I have created and deployed an EJB for obiee11g by using the example provided in the below link
http://www.rittmanmead.com/2010/09/oracle-bi-ee-11g-action-framework-java-ejbs-and-pdf-watermarks/
I have mapped oracle.bi.actions also
But I am not able to see the java method in the obiee11g Actions- Invoke a Java Method screen .The screen is empty
I have configured the ActionFrameworkConfig.xml as follows
<?xml version="1.0" encoding="UTF-8"?>
<obi-action-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="afconfig.xsd">
<aliases/>
<registries>
<registry>
<id>reg05</id>
<name>WaterMark EJBS</name>
<content-type>java</content-type>
<provider-class>oracle.bi.action.registry.java.EJBRegistry</provider-class>
<description>WaterMark BIEE</description>
<location>
<path/>
</location>
<custom-config>
<ejb-targets>
<appserver>
<context-factory>weblogic.jndi.WLInitialContextFactory</context-factory>
<jndi-url>t3://localhost:9704</jndi-url>
<server-name>localhost</server-name>
<account>WLSJNDI</account>
<ejb-exclude>mgmt</ejb-exclude>
<ejb-exclude>PopulationServiceBean</ejb-exclude>
</appserver>
<ejb-app>
<server>localhost</server>
<app-context>watermark</app-context>
</ejb-app>
</ejb-targets>
</custom-config>
</registry>
</registries>
<content-types>
<content-type>
<typename>webservices</typename>
<displayname>Web Services and BPEL Processes</displayname>
<actionType>WebServiceActionType</actionType>
</content-type>
<content-type>
<typename>misc</typename>
<displayname>Mixed Services</displayname>
<actionType>URLActionType</actionType>
</content-type>
<content-type>
<typename>java</typename>
<displayname>Java Services</displayname>
<actionType>JavaActionType</actionType>
</content-type>
</content-types>
<accounts>
<account>
<name>WLSJNDI</name>
<description>Account used to access WLS JNDI.</description>
<adminonly>false</adminonly>
<credentialkey>JNDIUser</credentialkey>
<credentialmap>oracle.bi.actions</credentialmap>
</account>
</accounts>
</obi-action-config>
Please help me to resolve this issue
Regards
Deepz

1. check your t3 port no, in my case it's 7001.
so i changed "<jndi-url>t3://localhost:9704</jndi-url>" to "<jndi-url>t3://localhost:7001</jndi-url>"
2. if you run obiee 11.1.1.6.0 above, you don't need below.
<credentialmap>oracle.bi.actions</credentialmap>
so please drop this line.
3. restart your server and check there's no error log when loading ActionFrameworkConfig.xml.
Good Luck !!!

Similar Messages

  • Oracle BI EE 11g – Action Framework - Invoke a Java Method from Action links

    Hello All,
       I have a requirement to save OBIEE 11g report into shared drive. I have created a EJB by using the below link and successfully deployed the application in server(bi_server1) .
    http://www.rittmanmead.com/2010/09/oracle-bi-ee-11g-action-framework-java-ejbs-and-pdf-watermarks/
    When Im trying to call Invoke a Java method, it is showing "No Content" . Can anybody please share with me the sample "ActionFrameworkConfig.xml" file used for Invoke a Java method.
    My OBIEE version is : 11.1.1.7.131017
    Thanks.

    1. check your t3 port no, in my case it's 7001.
    so i changed "<jndi-url>t3://localhost:9704</jndi-url>" to "<jndi-url>t3://localhost:7001</jndi-url>"
    2. if you run obiee 11.1.1.6.0 above, you don't need below.
    <credentialmap>oracle.bi.actions</credentialmap>
    so please drop this line.
    3. restart your server and check there's no error log when loading ActionFrameworkConfig.xml.
    Good Luck !!!

  • How to Invoke two java methods parallaly

    Hi,
    I need to invoke two Java methods parallaly ,for example if i am having two methods in a class
    public class Test {
        public Test() {
        public static void main(String[] args)
        Test test = new Test();
        String returnString1 = test.test1();
        String returnString2 = test.test2();
        public String test1(){
        String newString1 = "";
        return newString1;
        public String test2(){
        String newString2 = "";
        return newString2;
    }if i run the above class two methods will be invoked one by one(Sequentially).is there any possibility to invoke these two methods parallaly (ie) both methods need to be invoked at the same time.

    import java.lang.reflect.Method;
    class Paralell implements Runnable{
          private Object srcObject;
          private String methodName;
          private Class parameterTypes[];
          private Object parameterArgs[];
          private Object returnObject;
          public Paralell(Object srcObject, String methodName, Class parameterTypes[], Object parameterArgs[]){
              this.srcObject = srcObject;
              this.methodName = methodName;
              this.parameterTypes = parameterTypes;
              this.parameterArgs = parameterArgs;
          public Object getReturnObject(){
             return this.returnObject;
          public void run(){
               Method method = null;
                try{
                    method =  srcObject.getClass().getDeclaredMethod(this.methodName,this.parameterTypes);
                    this.returnObject =method.invoke(this.srcObject,this.parameterArgs);  
                }catch(Exception exp){
                   exp.printStackTrace();
                }finally{
                    method = null;
    }

  • FATAL ERROR in native method: Wrong method ID used to invoke a Java method

    When calling the same method second time , I get message ::
    <FATAL ERROR in native method: Wrong method ID used to invoke a Java method>
    void myFunction(int myVal)
    JNIEnv *env = NULL;
    jclass odbcconnls;
    jint res;
    printf("\nInitilaizing class ");
    res = (jvm)->AttachCurrentThread((void **)&env,NULL);
    if (res < 0) {
    fprintf(stderr, "Can't get Env \n");
    (jvm)->DestroyJavaVM();
    return SQL_ERROR;          
    if(res == JNI_OK)
    printf("\nThe env is initialized ");
    if(*(&env) == NULL)
    printf(" the env is NULL ");
    printf("\nenv :::::: %s ", env);     
    // the jobject (dbc->actualConn) is a global reference
    odbcconnls = (env)->GetObjectClass(dbc->actualConn);
    if (odbcconnls == NULL) {
    goto destroy;
    switch(myVal){
    case 1:
    jmethodID methodId ;
    jboolean jbool;
    SQLINTEGER Val = (SQLINTEGER )Value;
    SQLINTEGER val1 = *Val;
    methodId = (env)->GetMethodID( odbcconnls,"myFun1","(Z)V");
    if(methodId == NULL){
    goto destroy;
    if(val1 == SQL_FALSE )
    jbool = 0;
    else
    jbool =1;
    env->CallVoidMethod(dbc->actualConn,methodId,jbool);
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId);
    jvm->DetachCurrentThread();
    return ;
    case 2 :
    jmethodID methodId1 ;
    SQLUINTEGER* Level;
    methodId1 = (env)->GetMethodID( odbcconnls,"myFun2","(I)V");
    if(methodId1 == NULL){
    goto destroy;
    Level = (SQLUINTEGER *)Value;
    env->CallVoidMethod(dbc->actualConn,methodId1,(int)*Level);
    dbc->txn_isolation = (SQLUINTEGER)Value;
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId1);
    jvm->DetachCurrentThread();
    return ;
    case 3 :
    SQLCHAR* Cate;
    jmethodID methodId2 ;
    jstring jStrCat;
    methodId2 = (env)->GetMethodID(odbcconnls,"myFun3","(Ljava/lang/String;)V");
    if(methodId2 == NULL){
    goto destroy;
    Cate = new SQLCHAR[20];
    strcpy((char *)CCatalog,(char *)Value);
    jStrCat = env->NewStringUTF((char *) Cate);
    printf("\n got jSTring ");
    env->CallVoidMethod(dbc->actualConn,methodId2,jStrCat);
    printf("\n after called method ");
    int len = strlen((char *)Cate);
    dbc->Cate = new SQLCHAR[len+1];
    strcpy((char *)dbc->Cate,(char *)Cate);
    printf("\n copied result ");
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId2);
    jvm->DetachCurrentThread();
    return ;
    destroy:
    if ((env)->ExceptionOccurred()) {
    (env)->ExceptionDescribe();
    jvm->DetachCurrentThread();
    (jvm)->DestroyJavaVM();
    return SQL_ERROR;
    When case 1 is called second time this error is thrown..
    plz help me..
    Thanx
    MittalSunita.

    When calling the same method second time , I get
    message ::
    <FATAL ERROR in native method: Wrong method ID used
    d to invoke a Java method>
    void myFunction(int myVal)
    JNIEnv *env = NULL;
    jclass odbcconnls;
    jint res;
    printf("\nInitilaizing class ");
    res = (jvm)->AttachCurrentThread((void **)&env,NULL);
    if (res < 0) {
    fprintf(stderr, "Can't get Env \n");
    (jvm)->DestroyJavaVM();
    return SQL_ERROR;          
    if(res == JNI_OK)
    printf("\nThe env is initialized ");
    if(*(&env) == NULL)
    printf(" the env is NULL ");
    printf("\nenv :::::: %s ", env);     
    // the jobject (dbc->actualConn) is a global
    reference
    odbcconnls = (env)->GetObjectClass(dbc->actualConn);
    if (odbcconnls == NULL) {
    goto destroy;
    switch(myVal){
    case 1:
    jmethodID methodId ;
    jboolean jbool;
    SQLINTEGER Val = (SQLINTEGER )Value;
    SQLINTEGER val1 = *Val;
    methodId = (env)->GetMethodID(
    ( odbcconnls,"myFun1","(Z)V");
    if(methodId == NULL){
    goto destroy;
    if(val1 == SQL_FALSE )
    jbool = 0;
    else
    jbool =1;
    env->CallVoidMethod(dbc->actualConn,methodId,jbool);
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId);
    jvm->DetachCurrentThread();
    return ;Why do you delete a local reference???
    Did you ever call the get local reference?
    case 2 :
    jmethodID methodId1 ;
    SQLUINTEGER* Level;
    methodId1 = (env)->GetMethodID(
    ( odbcconnls,"myFun2","(I)V");
    if(methodId1 == NULL){
    goto destroy;
    Level = (SQLUINTEGER *)Value;
    env->CallVoidMethod(dbc->actualConn,methodId1,(int)*Le
    el);
    dbc->txn_isolation = (SQLUINTEGER)Value;
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId1);
    jvm->DetachCurrentThread();
    return ;
    case 3 :
    SQLCHAR* Cate;
    jmethodID methodId2 ;
    jstring jStrCat;
    methodId2 =
    (env)->GetMethodID(odbcconnls,"myFun3","(Ljava/lang/St
    ing;)V");
    if(methodId2 == NULL){
    goto destroy;
    Cate = new SQLCHAR[20];
    strcpy((char *)CCatalog,(char *)Value);
    jStrCat = env->NewStringUTF((char *) Cate);
    printf("\n got jSTring ");
    env->CallVoidMethod(dbc->actualConn,methodId2,jStrCat)
    printf("\n after called method ");
    int len = strlen((char *)Cate);
    dbc->Cate = new SQLCHAR[len+1];
    strcpy((char *)dbc->Cate,(char *)Cate);
    printf("\n copied result ");
    env->DeleteLocalRef((jobject)res);
    env->DeleteLocalRef((jobject)odbcconnls);
    env->DeleteLocalRef((jobject)methodId2);
    jvm->DetachCurrentThread();
    return ;
    destroy:
    if ((env)->ExceptionOccurred()) {
    (env)->ExceptionDescribe();
    jvm->DetachCurrentThread();
    (jvm)->DestroyJavaVM();
    return SQL_ERROR;
    When case 1 is called second time this error is
    thrown..
    plz help me..
    Thanx
    MittalSunita.

  • Invoking a Java Method from Peoplecode

    Hello,
    We are tasked to do a Single Sign On from a third-party to PeopleSoft HRHD using 3DES encryption method based from the email of the user from the third party. We managed to get the java program that was used to encrypt the email and use this to process the decryption on the Peoplesoft side.
    First, are we correct in enabling the SignOn Peoplecode and then creating a Record Peoplecode that process the encrypted string that was passed via the URL?
    Supposing we are correct in this first step, how do we call this java method? We have placed the java class in the PS_HOME/appserv/classes directory and we are somehow stuck on this part of the Peoplecode.
    <Peoplecode>
    &oDecrypt = CreateJavaObject("SSOCrpyto");
    &strDecEmail=&oDecrypt.decryptString(&strEncEmail);
    The decryptString part of the Java class is constructed like this.
    public String decryptString(byte[] message) throws Exception {
    ...code here...
    We are not familiar on how the parameter is passed when the datatype in java is an array of byte[] (If I understood it correctly).
    Thank you.
    Jeremy Leung
    Edited by: 934351 on May 15, 2012 12:36 AM

    Hello Hakan and Jim. Thank you for your replies. I, however, was wondering where do the method decryptString come in, in the Peoplecode? Pardon me if I post the entire Java class here. I am not very well-versed with the Java language, but upon reading most Java-related programs regarding Encryption/Decryption they are identical with the Java class pasted below.
    import java.security.MessageDigest;
    import javax.crypto.Cipher;
    import javax.crypto.SecretKey;
    import javax.crypto.spec.IvParameterSpec;
    import javax.crypto.spec.SecretKeySpec;
    public class SAPSSOCrypto {
         public byte[] encrypt(String message) throws Exception {
              final MessageDigest md = MessageDigest.getInstance("md5");
              final byte[] digestOfPassword =
                   md.digest("password".getBytes("utf-8"));
              final byte[] keyBytes = new byte[24];//Arrays.copyOf(digestOfPassword, 24);
              System.arraycopy(digestOfPassword,0,keyBytes,0,digestOfPassword.length);
              for (int j = 0, k = 16; j < 8;) {
                   keyBytes[k++] = keyBytes[j++];
              final SecretKey key = new SecretKeySpec(keyBytes, "DESede");
              final IvParameterSpec iv = new IvParameterSpec(new byte[8]);
              final Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");
              cipher.init(Cipher.ENCRYPT_MODE, key, iv);
              final byte[] plainTextBytes = message.getBytes("utf-8");
              final byte[] cipherText = cipher.doFinal(plainTextBytes);
              // final String encodedCipherText = new sun.misc.BASE64Encoder()
              // .encode(cipherText);
              return cipherText;
         public String decryptString(byte[] message) throws Exception {
              final MessageDigest md = MessageDigest.getInstance("md5");
              final byte[] digestOfPassword =
                   md.digest("password".getBytes("utf-8"));
              final byte[] keyBytes = new byte[24]; //Arrays.copyOf(digestOfPassword, 24);
              System.arraycopy(digestOfPassword,0,keyBytes,0,digestOfPassword.length);
              for (int j = 0, k = 16; j < 8;) {
                   keyBytes[k++] = keyBytes[j++];
              final SecretKey key = new SecretKeySpec(keyBytes, "DESede");
              final IvParameterSpec iv = new IvParameterSpec(new byte[8]);
              final Cipher decipher = Cipher.getInstance("DESede/CBC/PKCS5Padding");
              decipher.init(Cipher.DECRYPT_MODE, key, iv);
              // final byte[] encData = new // sun.misc.BASE64Decoder().decodeBuffer(message);
              final byte[] plainText = decipher.doFinal(message);
              return new String(plainText, "UTF-8");
    }

  • Invoking java methods from C/C++ on the machine with different JREs

    I implemented Windows NT Service instantiating JVM and invoking several java methods. Everything works but I have an issue with running the service on the machine where multiple different versions of JRE have been installed. The service is calling java methods that require JRE 1.3 or later so I wrote the code that is setting system PATH from within the service based on the configuration stored in the external file. The problem is that the service requires jvm.dll to be in the PATH prior lunching it since this library is instantiated through the implicit linking. When I put jvm.dll in the same path as the service binary I can lunch it but JNI_CreateJavaVM fails and returns -1. This happens even if JRE 1.3 is in the system PATH prior lunching the service.
    Everything works if the system PATH contains references to JRE 1.3 and jvm.dll is removed from the service's directory.
    I am looking for an advice on what is the proper way to deal with invoking java methods from the C/C++ executable in the environment with different versions of JRE.
    Thanks, Kris.

    Here's a way I have done what you are asking about:
    What you want to do is make all of your linking happen at runtime, rather than at compile time. This way, you can edit the PATH variable before the jvm.dll gets loaded.
    Following is some code that I used to handle a dll of my own in this manner. You can decide if you want to write a "wrapper" dll, or if you find it simpler to approach the jvm.dll in this way.
    // Define pointer type for DLL entry point.
         typedef void JREPDLL_API (*EXECUTEREQUEST)(char*, Arguments&);
    // Set up path, load dll, and pass everything off to it.
    HINSTANCE javaServer = javaServer = LoadLibrary("jrepdll.dll");
    if (javaServer != NULL) {
    EXECUTEREQUEST executeRequest = (EXECUTEREQUEST)GetProcAddress(javaServer, "ExecuteRequest");
    if (executeRequest != NULL) {
    if (argc == 1)
         // Execute the request.
         executeRequest("-run", args);
    else
         // Execute the request.
         executeRequest("-console", args);
    Here's some code for how to edit the PATH:
              // Edit the PATH environment variable so that we use our private java.
    char *appendPt;
    char *newPath;
    char *path;
              char tmp[_MAX_PATH];
              // Get the current PATH variable setting.
    path = getenv("PATH");
              // Allocate space for an edited path setting.
              if (path != NULL)
                   newPath = (char*)malloc((_MAX_PATH * 2) + strlen(path));
              else
                   newPath = (char*)malloc((_MAX_PATH * 2));
              // Get upper part of path to desired directories.
              strcpy(tmp, filepath);
              appendPt = strstr(tmp, "dbin\\jreplicator");
              appendPt[0] = '\0';
    sprintf(newPath, "PATH=%sjava\\jre1.2.2\\bin;%sjava\\jre1.2.2\\bin\\classic", tmp, tmp);
    // Append the value of the existing PATH environment variable.
    // If there is anything, append it.
    if (path != NULL) {
         strcat(newPath, ";");
         strncat(newPath, path, (sizeof(newPath) - strlen(newPath) - 2));
    // Set new PATH value.
    _putenv(newPath);
              free(newPath);

  • Urgent please ! How to invoke java method with diffrent argument types?

    Hi,
    I am new to JNI.
    I had gone through documentation but it is not of much help.
    Can any one help me out how to invoke the below java method,
    // Java class file
    public class JavaClassFile
    public int myJavaMethod(String[] strArray, MyClass[] myClassArray, long time, int[] ids)
    // implementation of method
    return 0;
    // C++ file with Invokation API and invokes the myJavaMethod Java method
    int main()
    jclass cls_str = env->FindClass("java/lang/String");
    jclass cls_MyClass = env->FindClass("MyClass");
    long myLong = 2332323232;
    int intArray[] = {232, 323, 32, 77 };
    jclass cls_JavaClassFile = env->FindClass("JavaClassFile");
    jmethodID mid_myJavaMethod = env->GetMethodID( cls_JavaClassFile, "myJavaMethod", "([Ljava/lang/String;[LMyClass;J[I)I");
    // invoking the java method
    //jint returnValue = env->CallIntMethod( cls_JavaClassFile, mid_myJavaMethod, stringArray, myClassArray, myLong, intArray ); --- (1)
    //jint returnValue = env->CallIntMethodA( cls_JavaClassFile, mid_myJavaMethod, ...........); --- (2)
    //jint returnValue = env->CallIntMethodV( cls_JavaClassFile, mid_myJavaMethod, ...........); --- (3)
    Can any one tell me what is the correct way of invoking the above Java method of (1), (2) and (3) and how ?
    The statement (1) is compilable but throws error at runtime, why ?
    How can I use statements (2) and (3) over here ?
    Thanks for any sort help.
    warm and best regards.

    You are missing some steps.
    When you invoke a java method from C++, the parameters have to be java parameters, no C++ parameters.
    For example, your code appears to me as thogh it is trying to pass a (C++) array of ints into a java method. No can do.
    You have to construct a java in array and fill it in with values.
    Here's a code snippet:
    jintArray intArray = env->NewIntArray(10); // Ten elments
    There are also jni functions for getting and setting array "regions".
    If you are going to really do this stuff, I suggest a resource:
    essential JNI by Rob Gordon
    There is a chapter devoted to arrays and strings.

  • Invoke Java method from C++

    hello, I hope you can help me.
    In the moment I am trying to use Global Hotkeys.
    I am able to register global Hotkeys from Java in C++. My problem: I can't invoke an other java method as result of pressing my hotkey.
    void OnHotKey(void *)
         printf("invoke my java method");
    so I want to do a backcall to java in a c++ method. At Beginning Java registers my global Hotkeys in an c++ native method.

    (My JNI is rusty, and the tutorial is gone),
    Something like (Pusdo code, see JNI Spec: Accessing Fields and Methods ):
            JNIEnv * g_env, jobject g_obj;
         void OnHotKey(void *)
              // cut from the example posted above
              jclass cls;
              jmethodID mid;
              cls = (*env)->FindClass(env,"my.Class");
              if( cls == NULL ) {
                        return;
              mid=(*env)->GetMethodID(env, cls, "onHotKey", "()V");
              (*env)->CallVoidMethod( obj, mid );
         CHotkeyHandler hk;
         JNIEXPORT void JNICALL Java_gui_Gui_activateGlobalHotkeys
         (JNIEnv * env, jobject obj) {
              int err, id;
                 hk.RemoveHandler(id = 0);
              hk.InsertHandler(MOD_CONTROL | MOD_ALT, 'A', OnHotKey, id);
              // We need this in OnHotKey
              g_env = env;
              g_obj = obj;
              err = hk.Start("calc.exe");
              if (err != CHotkeyHandler::hkheOk)
                   printf("Error %d on Start()\n", err);
         JNIEXPORT void JNICALL Java_gui_Gui_deactivateGlobalHotkeys
         (JNIEnv * env, jobject obj) {
              int err = hk.Stop();
    }

  • OBIEE 11.1.1.7 Action link is Missing *Navigate to e-business suite* Menu

    In OBIEE 11.1.1.7 Action link from menu '*Navigate to e-business suite*' is Missing in Menu. When i click on Menu >> Action >> Navigate ( '*Navigate to e-business suite*) is not showing but i am able to see Navigate to Bi content and Navigate to web page . So from OBIEE 11.1.1.7 Dashboards to Oracle EBS navigation which Action link should i use in or this is a bug?
    Regards
    Sher Ulllah

    Thats the default options you will have. You need to configure the authenticationschemas.xml and few other instanceconfig.xml and actionframework.xml files inorder for you to see those options
    See this Integrating Oracle Business Intelligence Applications (OIBEE 11g) With Oracle E-Business Suite [ID 1343143.1]
    Open the ActionFrameworkConfig.xml. The file can be found at: <Oracle Middleware Home>\user_projects\domains\bifoundation_domain\config\fmwconfig\biinstances\coreapplication
    2. Edit the ActionFrameworkConfig file to include the following element: <ebusinesssuiteconfig><visible>true</visible></ebusinesssuiteconfig>
    3. Save and close the file
    Mark if it helps

  • How to pass parameters to a page invoked using java script.--- Very Urgent.

    Hello,
    I have an advanced Table in my page. In the first column there is a
    messageChoice. In the second column there is link item.On the link item i have set the following value for destination uri.
    javascript:var a=window.open('OA.jsp?page=/AutoSales/oracle/apps/per/auto/webui/AutoSurrogatesPG&retainAM=Y','a','height=500,width=900,status=yes,toolbar=no,menubar=no,location=no,resizable=yes,scrollbar=yes'); a.focus();
    The user selects a value from the message choice and when he clicks on the link item, the value selected from the list should go to the new page invoked using java script as a parameter. I need the value selected from choice to generates few fields in the new page. I have preferred java script because i need the base page and a model window should open. I have tried using setForwardUrl() and setting '_blank' and new window for target frame property on the link item. But it isnt working. The new page is opening in the same window.
    I have also tried putting the value in a session.
    Please help with any kind of suggestions or solutions.
    Thank you.

    Uma,
    You need to
    - Have a PPR Action on the messageChoice (this would trigger a form submit to populate the underlying View Attribute)
    - Either
    - Retrive the value from the View Attribute in the pop-up page (as I could see that you are retaining the AM)
    - Use a SPEL in the link (on the modal page) to use the value from the View Attribute as the parameter value (in the form ${oa.current.<ViewAttributeName>)
    HTH

  • How to invoke a java class dynamically?

    Hi all,
    In my usecase I need to invoke a java class dynamically using any of the components like Button or link in jdeveloper.
    How could we invoke a java class which has a main method in it dynamically.
    Kindly come up with your help.
    Thanks,
    Phani.

    public class BackingBean {
    public BackingBean() {
    super();
    public void cb3_action() {
    File fileObj = new File("C:\\Jdeveloper software\\new.doc");
    IDocument myDoc = new Document2004();
    myDoc.addEle(Heading2.with("===== Headings ======").create());
    myDoc.addEle(Paragraph.with("This doc has been generated by the unit test testJava2wordAllInOne() in the class DocumentTest2004Test.java.").create());
    Table tbl = new Table();
    tbl.addTableEle(TableEle.TH, "Name", "Number of gols", "Country");
    tbl.setRepeatTableHeaderOnEveryPage();
    tbl.addTableEle(TableEle.TD, "Arthur Friedenreich", "1329", "Brazil");
    tbl.addTableEle(TableEle.TD, "Pele", "1281", "Brazil");
    myDoc.addEle(tbl);
    PrintWriter writer = null;
    try {
    writer = new PrintWriter(fileObj);
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    String myWord = myDoc.getContent();
    writer.println(myWord);
    writer.close();
    Hi john,
    these are my Backing bean and action now at the run time when I am pressing a button which has to invoke cb3_action() method.
    When I am clicking the button at the runtime I am getting the below error
    Error 500--Internal Server Error
    javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: word/w2004/Document2004
         at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    In the above code if you observe I have used "IDocument myDoc = new Document2004();" line. Here this Document2004 is a class which is in one of the external
    jar files. xstream-1.3.1.jar , java2word-3.0_2011Aug02.jar , log4j-1.2.15.jar .
    these are the jar files I found in net using which I can create a word file and add all the components like table and format the txt etc..
    These jar files works in Tomcat, Jboss ,Struts
    I can even run this class and got the file created.
    But when I try to bind the method in ADF i am getting the error mentioned above.
    Kindly help me on this. Sorry for posting similar question two times on the blog.
    Sorry again if this question is wierd.
    Thanks,
    Phani.

  • Could not invoke the service() method when the JSP page is loaded

    I am new to servlets/jsp so excuse if I am doing something silly here:
    I have a JSP page the suppose to be loading a session attrbute from a simple servlet. When I go to load the jsp page, I get Could not invoke the service() method.
    Any help is much appreciated:
    Here is my JSP:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1"%>
    <%@ page session="true" import="insurance.PolicyObj,java.util.*"%>
    <% Vector VTable = (Vector) session.getAttribute("policyTable"); %>
    <HTML>
    <BODY>
    <Form name=listTable action="InsSer" method="post">
    <TABLE border="1">
         <TBODY>
              <TR>
                   <TD width="258" align="center"><B>Policy Id</B></TD>
                   <TD width="187" align="center"><B>Customer Name</B></TD>
                   <TD width="160" align="center"><B>Agent Name</B></TD>
                   <TD width="134" align="center"><B>Status</B></TD>
              </TR>
              <TR>
    <%
    for (int index=0; index < VTable.size();index++) {
    PolicyObj TableL = (PolicyObj) VTable.elementAt(index);
    %>
         <TR bgcolor="#99CCFF">
    <TD width="258" align="center"> <%= TableL.getPolicyId()%> </TD>
    <TD width="187" align="center"> <%= TableL.getCustomerName()%> </TD>
    <TD width="187" align="center"> <%= TableL.getAgentName() %> </TD>
    <TD width="187" align="center"> <%= TableL.getPolicyStatus() %></TD>
    </TR>
         <% } %>
         </TBODY>
    </TABLE>
    <P><INPUT type="submit" name="Submit" value="Refresh Active Policies"></P>
    </BODY>
    </HTML>
    Here is my servlet:
    package insurance;
    import java.io.IOException;
    import java.util.Vector;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.Servlet;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class InsSer extends HttpServlet implements Servlet {
         /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#HttpServlet()
         public InsSer() {
              super();
         /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest arg0, HttpServletResponse resp)
         protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              doPost(req,resp);
              // TODO Auto-generated method stub
         /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest arg0, HttpServletResponse resp)
         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              //PolicyObj[] policyTable = new PolicyObj[3];
              HttpSession session = req.getSession(false);
              //if (session == null) {
                   //resp.sendRedirect("http://localhost:9080/Insurance/error.html");
              //Vector buylist = (Vector) session.getAttribute("PolicyList");
              Vector policyList = null;
              policyList.addElement(new PolicyObj());
              ((PolicyObj) policyList.get(0)).setPolicyId("0009800002");
              ((PolicyObj) policyList.get(0)).setCustomerName("Salim Zeitouni");
              ((PolicyObj) policyList.get(0)).setAgentName("Jack Smith");
              ((PolicyObj) policyList.get(0)).setPolicyStatus("Pending");
              session.setAttribute("policyTable",policyList);
              ServletContext sc = getServletContext();
              RequestDispatcher rd = sc.getRequestDispatcher("InsSev1.jsp");
              rd.forward(req,resp);
    Message was edited by:
    sfz1
    Message was edited by:
    sfz1

    I am new to servlets/jsp so excuse if I am doing something silly here:
    I have a JSP page the suppose to be loading a session attrbute from a simple servlet. When I go to load the jsp page, I get Could not invoke the service() method.
    Any help is much appreciated:
    Here is my JSP:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1"%>
    <%@ page session="true" import="insurance.PolicyObj,java.util.*"%>
    <% Vector VTable = (Vector) session.getAttribute("policyTable"); %>
    <HTML>
    <BODY>
    <Form name=listTable action="InsSer" method="post">
    <TABLE border="1">
         <TBODY>
              <TR>
                   <TD width="258" align="center"><B>Policy Id</B></TD>
                   <TD width="187" align="center"><B>Customer Name</B></TD>
                   <TD width="160" align="center"><B>Agent Name</B></TD>
                   <TD width="134" align="center"><B>Status</B></TD>
              </TR>
              <TR>
    <%
    for (int index=0; index < VTable.size();index++) {
    PolicyObj TableL = (PolicyObj) VTable.elementAt(index);
    %>
         <TR bgcolor="#99CCFF">
    <TD width="258" align="center"> <%= TableL.getPolicyId()%> </TD>
    <TD width="187" align="center"> <%= TableL.getCustomerName()%> </TD>
    <TD width="187" align="center"> <%= TableL.getAgentName() %> </TD>
    <TD width="187" align="center"> <%= TableL.getPolicyStatus() %></TD>
    </TR>
         <% } %>
         </TBODY>
    </TABLE>
    <P><INPUT type="submit" name="Submit" value="Refresh Active Policies"></P>
    </BODY>
    </HTML>
    Here is my servlet:
    package insurance;
    import java.io.IOException;
    import java.util.Vector;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.Servlet;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class InsSer extends HttpServlet implements Servlet {
         /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#HttpServlet()
         public InsSer() {
              super();
         /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest arg0, HttpServletResponse resp)
         protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              doPost(req,resp);
              // TODO Auto-generated method stub
         /* (non-Java-doc)
         * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest arg0, HttpServletResponse resp)
         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
              //PolicyObj[] policyTable = new PolicyObj[3];
              HttpSession session = req.getSession(false);
              //if (session == null) {
                   //resp.sendRedirect("http://localhost:9080/Insurance/error.html");
              //Vector buylist = (Vector) session.getAttribute("PolicyList");
              Vector policyList = null;
              policyList.addElement(new PolicyObj());
              ((PolicyObj) policyList.get(0)).setPolicyId("0009800002");
              ((PolicyObj) policyList.get(0)).setCustomerName("Salim Zeitouni");
              ((PolicyObj) policyList.get(0)).setAgentName("Jack Smith");
              ((PolicyObj) policyList.get(0)).setPolicyStatus("Pending");
              session.setAttribute("policyTable",policyList);
              ServletContext sc = getServletContext();
              RequestDispatcher rd = sc.getRequestDispatcher("InsSev1.jsp");
              rd.forward(req,resp);
    Message was edited by:
    sfz1
    Message was edited by:
    sfz1

  • Possibility of calling standard actions from a java program

    Hi ,
    I am working for a project where customer wants to have option of saving orders as draft only and later convert to order if need be. However since we do not want many drafts to reside on server there is a need to delete these at a specified time. For draft orders I am using order templates since they stay in the database without getting converted to orders. Now I do not know how to go about the deletion part.
    i need to write a program that would run on the server and which would fetch the templates (drafts) that have been created till a particular time and call the delete action of the template. Now the question is how do i call these actions from a java program where this java program will have to run on the server end (ie will be a backend process).
    Please suggest.
    Thanks
    Roopali

    hello roopali,
    you can create a separate thread that will run your
    code that will check for stale drafts and delete them.
    it is just like a session management program but here
    we will be looking over the drafts and not the session
    objects.
    now if you want the invocation of the action from another
    program, a socket program would suffice but opening ports
    will cause you network connections thru firewall.
    if you can make use of HTTP servlet as your service
    provider e.g., you can then just pass some action params
    to invoke it.
    regards
    jo

  • How do you invoke custom java classes???

    Could someone post a detailed method of invoking custom java classes that works including what files go where, settings and the way it is invoked etc.
    I have tried various ways from this forum and in the documentation without success. I am using IDM 8. I found these instructions regarding how you would do it if you were writing custom resource adaptors in the deployment tools guide:
    To install a resource adapter you’ve customized:
    1. Load the NewResourceAdapter.class file in the Identity Manager installation
    directory under
    idm/WEB-INF/classes/com/waveset/adapter/sample
    (You might have to create this directory.)
    2. Copy the .gif file to idm/applet/images.
    This .gif file is the image that displays next to the resource name on the List
    Resources page, and it should contain an image for your resource that is
    18x18 pixels and 72 DPI in size.
    3. Add the class to the resource.adapter property in
    config/waveset.properties.
    4. Stop and restart the application server. (For information about working with
    application servers, see Identity Manager Installation.)
    I tried the instructions here but placed my custom class in a folder entitled custom instead of /adapter/sample. Not sure about instruction 3 or whether it is relevent. Anyway nothings working.
    Edited by: masj78 on Nov 25, 2008 3:50 AM
    Edited by: masj78 on Nov 25, 2008 4:03 AM

    Hi,
    The way to add custom class is the same as you followed , put them in the WEB-INF/classes.
    To use the custom adapter ,
    Go To Resources - > Configure Types -> Add Custom Resource .
    Type in the fully qualified class name of the custom adapter you added.and Save.
    Now the new adapter you added should showup in the list of available adapters when you try to
    configure a new adapter.
    (Make sure that the prototype XML of your custom adapter is correct so that it displays the correct name / type for the adapter in the adapter list.
    Thanks,
    Balu

  • Getting error while invoking client interface method as a web service

    Hi,
    I have written one custom method inAppModuleImpl and include that custom method into the AppModule's Client Interface(AppModule-->Java-->ClientInterface).
    It autogenerates two java classes: ClientInterfaceImpl class and interface class. I right clicked on ClientInterfaceImpl class and select the option create webservice proxy. Then I deployed my application into the WL Server. There I am able to see the webservice. But when I test the webservice and invoke the method. It is throwing the below exception:
    HTTP/1.1 500 Internal Server Error
    Content-Type: text/xml;charset=UTF-8
    X-Powered-By: Servlet/2.5 JSP/2.1
    Date: Thu, 28 Jul 2011 12:07:42 GMT
    X-ORACLE-DMS-ECID: 6d2bf3b5503a93f7:-56043a49:1316ef0e0c2:-8000-000000000000028d
    Content-Length: 6624
    X-HTTPAnalyzer-RuleName: Pass through :
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
    <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
    <faultcode>S:Server</faultcode>
    <faultstring>java.lang.NullPointerException</faultstring>
    <detail>
    <ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" class="java.lang.NullPointerException">
    <ns2:stackTrace>
    <ns2:frame line="7598" file="ApplicationModuleImpl.java" method="isMarshalledLocally" class="oracle.jbo.client.remote.ApplicationModuleImpl"/>
    <ns2:frame line="7572" file="ApplicationModuleImpl.java" method="riInvokeExportedMethod" class="oracle.jbo.client.remote.ApplicationModuleImpl"/>
    <ns2:frame line="27" file="TestClientInterfaceAMClient.java" method="testmethod" class="model.client.TestClientInterfaceAMClient"/>
    <ns2:frame line="native" file="NativeMethodAccessorImpl.java" method="invoke0" class="sun.reflect.NativeMethodAccessorImpl"/>
    <ns2:frame line="39" file="NativeMethodAccessorImpl.java" method="invoke" class="sun.reflect.NativeMethodAccessorImpl"/>
    <ns2:frame line="25" file="DelegatingMethodAccessorImpl.java" method="invoke" class="sun.reflect.DelegatingMethodAccessorImpl"/>
    <ns2:frame line="597" file="Method.java" method="invoke" class="java.lang.reflect.Method"/>
    <ns2:frame line="92" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker"/>
    <ns2:frame line="74" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker"/>
    <ns2:frame line="151" file="InvokerTube.java" method="invoke" class="com.sun.xml.ws.server.InvokerTube$2"/>
    <ns2:frame line="268" file="EndpointMethodHandlerImpl.java" method="invoke" class="com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl"/>
    <ns2:frame line="100" file="SEIInvokerTube.java" method="processRequest" class="com.sun.xml.ws.server.sei.SEIInvokerTube"/>
    <ns2:frame line="866" file="Fiber.java" method="__doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="815" file="Fiber.java" method="_doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="778" file="Fiber.java" method="doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="680" file="Fiber.java" method="runSync" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="401" file="WSEndpointImpl.java" method="process" class="com.sun.xml.ws.server.WSEndpointImpl$2"/>
    <ns2:frame line="531" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit"/>
    <ns2:frame line="253" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter"/>
    <ns2:frame line="140" file="ServletAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.servlet.ServletAdapter"/>
    <ns2:frame line="206" file="WLSServletAdapter.java" method="handle" class="weblogic.wsee.jaxws.WLSServletAdapter"/>
    <ns2:frame line="310" file="HttpServletAdapter.java" method="run" class="weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke"/>
    <ns2:frame line="223" file="HttpServletAdapter.java" method="post" class="weblogic.wsee.jaxws.HttpServletAdapter"/>
    <ns2:frame line="124" file="JAXWSServlet.java" method="doPost" class="weblogic.wsee.jaxws.JAXWSServlet"/>
    <ns2:frame line="727" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet"/>
    <ns2:frame line="79" file="JAXWSServlet.java" method="service" class="weblogic.wsee.jaxws.JAXWSServlet"/>
    <ns2:frame line="820" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet"/>
    <ns2:frame line="227" file="StubSecurityHelper.java" method="run" class="weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction"/>
    <ns2:frame line="125" file="StubSecurityHelper.java" method="invokeServlet" class="weblogic.servlet.internal.StubSecurityHelper"/>
    <ns2:frame line="300" file="ServletStubImpl.java" method="execute" class="weblogic.servlet.internal.ServletStubImpl"/>
    <ns2:frame line="26" file="TailFilter.java" method="doFilter" class="weblogic.servlet.internal.TailFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="101" file="JpsAbsFilter.java" method="run" class="oracle.security.jps.ee.http.JpsAbsFilter$1"/>
    <ns2:frame line="native" file="AccessController.java" method="doPrivileged" class="java.security.AccessController"/>
    <ns2:frame line="313" file="JpsSubject.java" method="doAsPrivileged" class="oracle.security.jps.util.JpsSubject"/>
    <ns2:frame line="413" file="JpsPlatformUtil.java" method="runJaasMode" class="oracle.security.jps.ee.util.JpsPlatformUtil"/>
    <ns2:frame line="84" file="JpsAbsFilter.java" method="runJaasMode" class="oracle.security.jps.ee.http.JpsAbsFilter"/>
    <ns2:frame line="147" file="JpsAbsFilter.java" method="doFilter" class="oracle.security.jps.ee.http.JpsAbsFilter"/>
    <ns2:frame line="71" file="JpsFilter.java" method="doFilter" class="oracle.security.jps.ee.http.JpsFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="136" file="DMSServletFilter.java" method="doFilter" class="oracle.dms.servlet.DMSServletFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="3715" file="WebAppServletContext.java" method="wrapRun" class="weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction"/>
    <ns2:frame line="3681" file="WebAppServletContext.java" method="run" class="weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction"/>
    <ns2:frame line="321" file="AuthenticatedSubject.java" method="doAs" class="weblogic.security.acl.internal.AuthenticatedSubject"/>
    <ns2:frame line="120" file="SecurityManager.java" method="runAs" class="weblogic.security.service.SecurityManager"/>
    <ns2:frame line="2277" file="WebAppServletContext.java" method="securedExecute" class="weblogic.servlet.internal.WebAppServletContext"/>
    <ns2:frame line="2183" file="WebAppServletContext.java" method="execute" class="weblogic.servlet.internal.WebAppServletContext"/>
    <ns2:frame line="1450" file="ServletRequestImpl.java" method="run" class="weblogic.servlet.internal.ServletRequestImpl"/>
    <ns2:frame line="207" file="ExecuteThread.java" method="execute" class="weblogic.work.ExecuteThread"/>
    <ns2:frame line="176" file="ExecuteThread.java" method="run" class="weblogic.work.ExecuteThread"/>
    </ns2:stackTrace>
    </ns2:exception>
    </detail>
    </S:Fault>
    </S:Body>
    </S:Envelope>
    How to solve this??
    Thanks,
    Vicky.
    Edited by: Vicky on Jul 28, 2011 5:10 AM

    I'm using version 14.1.2002. I can create a webi report, but If I use a filter in this webi, a message WIS 30270 appears.

Maybe you are looking for

  • Acrobat (pro) 9 not working in safari and other problems

    i have several problems with acrobat pro 9.0.0: 1) i installed acrobat pro 9 but when i go to "help" menu i get message: "there was a raise without a handler. the application will now exit" yet all other menu's function well. 2) when i try to open a

  • Raw Files Appear Deleted or Corrupted Suddenly in Aperture with Unsupported Image Format Error

    I have been using Aperture 3, latest update, for the past year. Today, I tried to import new raw files from my new Sony RX1r and, as far as I can see, all raw files in Aperture give the "Unsupported Image Format" and alert symbol in the library where

  • Role removal workflow

    Hi experts, I'm trying to understand what's needed to remove user roles using workflow.  My understanding was that I needed to use the same workflow for user provisioning and just treat the removal as a user change (SAP_GRAC_ACCESS_REQUEST) but when

  • My passport 1Tb hardrive keeps trying to quit on its own?

    My passsport 1Tb portable hardrive keeps trying to quit on its own? While I am and when I am not using it?

  • About adobe PDF

    hello everyone, This morning I downloaded Adobe Acrobat XI before I utilsais pdf creator. my question is: I wanted to know if it was possible with Adobe PDF printer, print, and merge PDF as with PDF creator. thank you for your help jonathan