How to pass process instance id to callable object?

Hello,
using the SAP NetWeaver CE 7.1 EhP 1 SP 2 I have modeled a small approval workflow with Guided Procedures.
At runtime, I want to pass the id of the running process instance to a callable object (WD4VC composite view). Is this possible and how?
Alternatively, is there any way to fetch the id of the current process instance from withina WD4VC composite view?
Kind regards
Alexander

Hi,
I hope you have executionContext in callable object.
You can get the ProcessID by calling function "executionContext.getProcessId()".
Regards,
Niraj

Similar Messages

  • Help! How to convert an instance from java.lang.Object to a particula class

    * How to convert an instance from java.lang.Object class to a particular class
    witch is known only at the running time?
    Roster EJB component is make up of RosterHome, Roster and RosterBean.
    RosterHome is the home interface of Roster EJB.
    Roster is the remote interface of Roster EJB.
    RosterBean is the implement of Roster EJB.
    The following code segment is to invoke Roster EJB component.
    String jndiName="roster.RosterHome";
    javax.naming.Context initial = getInitialContext();//getInitialContext() returns a instance of Context.
    Object objref = initial.lookup(jndiName);
    RosterHome home =
    (RosterHome)javax.rmi.PortableRemoteObject.narrow(objref,
    RosterHome.class);
    Roster myRoster = home.create();
    String team="T1"
    String player="Tom"
    myRoster.addPlayer(player,team);
    But, now, all the home interface, the remote interface and the JNDI Name of
    Roster EJB component are not been known at the compiling time. However They are
    known at the running time, throught reading from the XML config file.
    Questions:
    1,How to write code for this case ? or
    2,How to convert an instance from Object class to a particular class witch is known
    only at the running time?
    String jndiName="roster.RosterHome";// in fact, reads from XML file.
    String homeClassName="roster.RosterHome";// in fact, reads from XML file.
    String remoteClassName="roster.Roster";// in fact, reads from XML file.
    javax.naming.Context initial = getInitialContext();//getInitialContext() returns a instance of Context.
    Object objref = initial.lookup(jndiName);
    Object objHome= javax.rmi.PortableRemoteObject.narrow(objref,
    Class.forName(homeClassName));
    /* how to do next?
    }

    I am not sure what you are trying to do. But at some point you should know which methods to call on the remote interfaces. Maybe the method names are stored in the XML file as well or you have a set of standard method names (also consider parameters).
    However, this can be solved by reflection. Look at the java.lang.reflect package, especially java.lang.reflect.Method, and also at java.lang.Class.
    If you are doing this on the app server:
    I've seen posts where people say that reflection is not permitted in EJB, but I don't think so. Check the EJB spec.
    If you are doing this in an application: reflection is always permitted. Probably also in applets and JSP.

  • How to create process instance throught PAPI?

    Hi,
    Can someone share how do we use PAPI to create a process instance for the Expense Management process (process in the BPM tutorial)?
    I believe it is through calling the processCreateInstance() method from a ProcessServiceSession object, however, what exactly do we pass in as a parameter? I tried simply by passing in the process name and an empty Arguments object and the following exception was logged:
    Feb 18, 2009 9:08:43 PM com.sun.corba.se.impl.orbutil.CacheTable put_table
    WARNING: "IOP00710275: (INTERNAL) Old entry in serialization indirection table has a different value than the value being added with the same key"
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 275 completed: No
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5589)
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5611)
         at com.sun.corba.se.impl.orbutil.CacheTable.put_table(CacheTable.java:97)
         at com.sun.corba.se.impl.orbutil.CacheTable.put(CacheTable.java:86)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1068)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:873)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:863)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:269)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:363)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:526)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2442)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2384)
         at java.util.TreeMap.readObject(TreeMap.java:2330)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1212)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:756)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:325)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at fuego.papi.impl.j2ee._EJBSecureEngineInterface_Stub.getProcesses(Unknown Source)
         at fuego.papi.impl.j2ee.EJBSecureEngineInterfaceWrapper.getProcesses(EJBSecureEngineInterfaceWrapper.java:297)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.papi.impl.AbstractSecureEngineHandler.invokeInternal(AbstractSecureEngineHandler.java:49)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:105)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.invoke(EJBSecureEngineHandler.java:56)
         at $Proxy14.getProcesses(Unknown Source)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:49)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:36)
         at fuego.papi.impl.SessionProcessLoader.load(SessionProcessLoader.java:254)
         at fuego.papi.impl.ProcessManager.get(ProcessManager.java:894)
         at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1364)
         at fuego.papi.impl.SessionProcessManager.getProcess(SessionProcessManager.java:143)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGet(ProcessServiceSessionImpl.java:2601)
         at fuego.papi.impl.ProcessServiceSessionImpl.checkBeginPermissions(ProcessServiceSessionImpl.java:4222)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3113)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3099)
         at com.test.papi.TestPAPI.main(TestPAPI.java:39)
    Could not perform the requested operation
    fuego.papi.ProcessNotAvailableException: Process '/ExpenseReport#Default-1.0' not available.
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:71)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:36)
         at fuego.papi.impl.SessionProcessLoader.load(SessionProcessLoader.java:254)
         at fuego.papi.impl.ProcessManager.get(ProcessManager.java:894)
         at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1364)
         at fuego.papi.impl.SessionProcessManager.getProcess(SessionProcessManager.java:143)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGet(ProcessServiceSessionImpl.java:2601)
         at fuego.papi.impl.ProcessServiceSessionImpl.checkBeginPermissions(ProcessServiceSessionImpl.java:4222)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3113)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3099)
         at com.test.papi.TestPAPI.main(TestPAPI.java:39)
    Caused by: fuego.papi.impl.EngineExecutionException: Process execution engine execution error.
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:146)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.invoke(EJBSecureEngineHandler.java:56)
         at $Proxy14.getProcesses(Unknown Source)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:49)
         ... 10 more
    Caused by: org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 275 completed: No
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5589)
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5611)
         at com.sun.corba.se.impl.orbutil.CacheTable.put_table(CacheTable.java:97)
         at com.sun.corba.se.impl.orbutil.CacheTable.put(CacheTable.java:86)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1068)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:873)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:863)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:269)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:363)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:526)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2442)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2384)
         at java.util.TreeMap.readObject(TreeMap.java:2330)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1212)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:756)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:325)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at fuego.papi.impl.j2ee._EJBSecureEngineInterface_Stub.getProcesses(Unknown Source)
         at fuego.papi.impl.j2ee.EJBSecureEngineInterfaceWrapper.getProcesses(EJBSecureEngineInterfaceWrapper.java:297)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.papi.impl.AbstractSecureEngineHandler.invokeInternal(AbstractSecureEngineHandler.java:49)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:105)
         ... 13 more
    I'm wondering why does it complain that "fuego.papi.ProcessNotAvailableException: Process '/ExpenseReport#Default-1.0' not available.", when the ExpenseReport process is indeed a process that was published?
    P.S.: I know this thread is sort of a duplicate of another thread, however I hope we can get some real examples of how to create a process instance for the Expense Management project, using PAPI (instead of PAPI webservice).
    Edited by: sylarchong on Feb 18, 2009 5:20 AM
    Edited by: sylarchong on Feb 18, 2009 5:21 AM

    Hi Mark,
    Thanks for your prompt reply.. I tried with the above option but still am facing the same problem.
    Let me give you the brief idea of what am working on;
    1) I created a process using Oracle BPM Studio V: 10.3.1.0 & Build: #94375
    2) I publish & deploy the process using Oracle BPM Admin Center which running on top of tomcat. But in the configuration I configure the directory as well as weblogic server.
    3) I created a "Java Project" & included following jar file "b1base.jar","b1oracle.jar","b1util.jar","bcel.jar","ejb-api.jar","fuegopapi-client.jar","jms-api.jar","ojdbc14.jar","weblogic.jar","wljmsclient.jar".
    4) I am using below program to create a PAPI Process Instance;
    package ibm.com.papi;
    import java.util.Properties;
    import fuego.papi.CommunicationException;
    import fuego.papi.InstanceInfo;
    import fuego.papi.OperationException;
    import fuego.papi.ProcessService;
    import fuego.papi.ProcessServiceSession;
    public class PAPIWithDirectoryFileExample {
         public static void main(String[] args) {
              // ///////////////// API Initialization ///////////////////
              Properties configuration = new Properties();
              configuration.setProperty(ProcessService.DIRECTORY_ID, "default");
              configuration.setProperty(ProcessService.DIRECTORY_PROPERTIES_FILE, "C://tmp//directory.xml");
              configuration.setProperty(ProcessService.INSTANCES_CACHE_SIZE, "50000");
              configuration.setProperty(ProcessService.WORKING_FOLDER, "c://tmp");
              configuration.setProperty(ProcessService.UPDATE_SESSIONS_VIEWS, "true");
              System.setProperty("fuego.j2ee.initialctx.file","C:\\tmp\\engine.properties");
              System.setProperty("fuego.j2ee.initialctx.resource","engine.properties");
              System.setProperty("fuego.j2ee.initialctx.url","file://tmp/engine.properties");
              //engine.properties include below settings
              //System.setProperty("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
              //System.setProperty("java.naming.provider.url", "t3://localhost:7001");
              try {
                   ProcessService processService = ProcessService.create(configuration);
                   ///////////////// Establish a session ///////////////////
                   ProcessServiceSession session = processService.createSession(
                             "username", "pwd", "host");
                   for (String processId : session.processesGetIds()) {
                        System.out.println("\n Process: " + processId);
                        for (InstanceInfo instance : session
                                  .processGetInstances(processId)) {
                             System.out.println(" -> " + instance.getId());
                   fuego.papi.Arguments papiArgs= fuego.papi.Arguments.create();
                   papiArgs.putArgument("inputNameArg", "inputString");
                   InstanceInfo instInfo = null;
                   instInfo = session.processCreateInstance("/Process#Default-1.0",papiArgs);
                   String strInstanceID = instInfo.getId();
                   System.out.println ("strInstanceID => [" + strInstanceID + "]" );
                   // ///////////////// Close the session ///////////////////
                   session.close();
                   // ///////////////// Release API Resources ///////////////////
                   processService.close();
              } catch (CommunicationException e) {
                   System.out.println("Could not connect to Directory Service");
                   e.printStackTrace();
              } catch (OperationException e) {
                   System.out.println("Could not perform the requested operation");
                   e.printStackTrace();
    5) Error Log;
    Feb 19, 2010 12:23:16 PM com.sun.corba.se.impl.orbutil.CacheTable put_table
    WARNING: "IOP00710275: (INTERNAL) Old entry in serialization indirection table has a different value than the value being added with the same key"
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 275 completed: No
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5589)
         at com.sun.corba.se.impl.logging.ORBUtilSystemException.duplicateIndirectionOffset(ORBUtilSystemException.java:5611)
         at com.sun.corba.se.impl.orbutil.CacheTable.put_table(CacheTable.java:97)
         at com.sun.corba.se.impl.orbutil.CacheTable.put(CacheTable.java:86)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1068)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:873)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:863)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:269)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:363)
         at com.sun.corba.se.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:526)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2442)
         at java.util.TreeMap.buildFromSorted(TreeMap.java:2384)
         at java.util.TreeMap.readObject(TreeMap.java:2330)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1212)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1989)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2213)
         at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1221)
         at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:756)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:325)
         at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
         at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
         at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
         at fuego.papi.impl.j2ee._EJBSecureEngineInterface_Stub.getProcesses(Unknown Source)
         at fuego.papi.impl.j2ee.EJBSecureEngineInterfaceWrapper.getProcesses(EJBSecureEngineInterfaceWrapper.java:297)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.papi.impl.AbstractSecureEngineHandler.invokeInternal(AbstractSecureEngineHandler.java:49)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:105)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.invoke(EJBSecureEngineHandler.java:56)
         at $Proxy14.getProcesses(Unknown Source)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:49)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:36)
         at fuego.papi.impl.SessionProcessLoader.load(SessionProcessLoader.java:254)
         at fuego.papi.impl.ProcessManager.get(ProcessManager.java:894)
         at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1364)
         at fuego.papi.impl.SessionProcessManager.getProcess(SessionProcessManager.java:143)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGet(ProcessServiceSessionImpl.java:2660)
         at fuego.papi.impl.ProcessServiceSessionImpl.checkBeginPermissions(ProcessServiceSessionImpl.java:4281)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3172)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3158)
         at ibm.com.papi.PAPIWithDirectoryFileExample.main(PAPIWithDirectoryFileExample.java:71)
    Could not perform the requested operation
    fuego.papi.ProcessNotAvailableException: Process '/Process#Default-1.0' not available.
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:71)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:36)
         at fuego.papi.impl.SessionProcessLoader.load(SessionProcessLoader.java:254)
         at fuego.papi.impl.ProcessManager.get(ProcessManager.java:894)
         at fuego.papi.impl.ProcessServiceImpl.getProcess(ProcessServiceImpl.java:1364)
         at fuego.papi.impl.SessionProcessManager.getProcess(SessionProcessManager.java:143)
         at fuego.papi.impl.ProcessServiceSessionImpl.processGet(ProcessServiceSessionImpl.java:2660)
         at fuego.papi.impl.ProcessServiceSessionImpl.checkBeginPermissions(ProcessServiceSessionImpl.java:4281)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3172)
         at fuego.papi.impl.ProcessServiceSessionImpl.processCreateInstance(ProcessServiceSessionImpl.java:3158)
         at ibm.com.papi.PAPIWithDirectoryFileExample.main(PAPIWithDirectoryFileExample.java:71)
    Caused by: fuego.papi.impl.EngineExecutionException: Process execution engine execution error.
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.doInvoke(EJBSecureEngineHandler.java:146)
         at fuego.papi.impl.j2ee.EJBSecureEngineHandler.invoke(EJBSecureEngineHandler.java:56)
         at $Proxy14.getProcesses(Unknown Source)
         at fuego.papi.impl.AbstractProcessLoader.createProcess(AbstractProcessLoader.java:49)
         ... 10 more
    Caused by: org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 275 completed: No
    Please help me to resolve the above issue.
    Thanks & Regards,
    Ankur Oswal

  • How to get process instance activity information

    We have the following need:
    The process instance will be created either manually or by integration from another system. It is not possible to have two instances running for the same process, so we want to check if there is already one instance running for a given process. The business information that identifies the process uniquely are attributes of the process data object.
    We need to find out how to:
    1) check if there is already existing instance for the process giving the business information that identifies it
    2) check if the existing instance is running or is ended/terminated
    We want to know if there is any existing API we may use to achieve the needs above, what are them and where we can find more information of their use.
    We have tried searching in the API documentation what methods could be of use but we were not able to identify by the existing documentation any one that could attend our needs.
    We also didn't find any topic in this forum about it.
    If possible please give us some examples of use.
    Version: Oracle BPM 11g

    Hi,
    In the SOA Suite 11g you can use the Java API together with Composite Sensor to achieve these behavior:
    1. First, create a composite sensor in the operation that create the process composite instance, initializing the sensor with the business information that identifies the process uniquely. This composite sensor can be used to search for the composite instance either on EM or via API. For more information about how to create Composite Sensor, see http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/sca_compsensors.htm#insertedID0
    2. Using the Java API (http://download.oracle.com/docs/cd/E14571_01/apirefs.1111/e10659/toc.htm), search for the composite instance by the Composite Sensor, as explained at: http://blogs.oracle.com/soabpm/2009/08/soa_suite_11g_-apipart_3_-_f.html. With a reference to the composite instance, you can check its internal components states.
    The following libs must be imported in your java project:
    - <middleware_home>/oracle_common/modules/oracle.fabriccommon_11.1.1/fabric-common.jar
    - <middleware_home>/oracle_common/soa/modules/oracle.soa.mgmt_11.1.1/soa-infra-mgmt.jar
    - <middleware_home>/wlserver_10.3/server/lib/weblogic.jar
    - <middleware_home>/oss_11gr1/soa/modules/oracle.soa.fabric_11.1.1/oracle-soa-client-api.jar
    - <middleware_home>/oracle_common/webservices/wsclient_extended.jar
    I hope this can help.
    Regards,
    Rafael

  • How to Migrate Process Instance in Process Workspace with ps4fp

    Hi everyone,
    I am using BPM 11gR5 with ps4fp, I want to Migrate Process Instance in Process Workspace, then deployed two version for a BPM project. but can not find the "Migrate" menu in "Process Tracking tab->Action" in process workspace.
    Is it correct for the step I did or Does anyone know where the "Migrate" local.
    Thanks.
    Regards,
    shifeng

    The process information is stored but in an MDS database. You should not access that information or change it as it might render the system unstable. If you want to access previous instances you should set up a separate relational database and store the information there within your process. It sounds sucky tbh. I was appalled when i found out but when you think about it, bpm is supposed to sit on top of something, so its something you will have to live with. You still need a performing back end system- bpm is not the solutions to all problems.
    Again, not an expert here so please correct me if im wrong.
    Yanis

  • How to get process instance id

    Hi,
    We are invoking a long lived process from a client using Java API (EJB end point).
    We are getting the JobId in return. Is there a way to get the process instance Id through API.
    Searched a lot in the documentation. Finally inclining to query the table directlyTB_PROCESS_INSTANCE  on LONG_LIVED_INVOCATION_ID.
    Appreciate a lot if any expert point us to an API way of doing the same

    We have tried to use the following approach to get process instance id right after invoking a process.
    - Define an OUT process variable to contain process id
    - A set value step right after invocation sets this out variable with process id variable value which is available by default
    - InvocationResponse.getOutputParameters() to read the output variable
    The problem is in the map returned by getOutputParameters() is not having our output variable , but just the JobId.
    Anyone tried this before? Are we missing sometiing?
    Any expert help is highly appreciated..

  • How to enable disable result status of callable object in Guided Procedures

    hi,
    Currently we are using guided procedures to handle Life Event changes in ESS. Each process has sequential block with Respective actions and callable object assigned to each action.
    Most of the callable objects we are using are either standard Java Webdynpro screens that came with ESS business package or custom ABAP Webdynpro's. When we created callable objects with these web dynpro's there is tab that sets result status like "Complete", "Exit" etc.
    The issue we are currently facing with result status is, there is no way that control is passed to result status enabled for specific step of guided procedure from the callable object. For example we created callable object for Benefits enrollment screen with result status "Complete". When user initiated guided procedure to make changes to Benefits enrollment, make changes to plans and click save. Once User click Save we want to send control to result status to get enable, till then we don't want the "Complete" button to be enabled on the Guided procedure step.
    Is there way to control the result status button based on the action performed by user in respective screen/step of Guided Procedure?
    Could someone suggest is there better replacement for guided procedures where I can use some other framework/process to achieve better functionality than GP's.
    Thanks
    Ravi.

    migrate to BPM

  • How to pass process flow input parameter to unix script external process

    Hi,
    I'm trying to pass a process flow input paramter (string) to an external process which is a unix script. I've been working on this for the last 2 days but can't get it to work. Here is the design. I have a process flow with 3 maps that create a file in the unix file system. I have a suffix, which is an input parameter to the process flow, that will need to be passed to the unix script to rename the file appending the suffix to the filename. I've tried different things and nothing works for me. Has anyone done something similar in OWB?
    Thanks much!

    I tried using useBean inside the Jsp for this.
    But following error comes:
    OracleJSP error: oracle.jsp.parse.JavaCodeException: Line # 13, oracle.jsp.parse.JspParseTagExpression@102e37e
    Error: Java code in jsp source files is not allowed in ojsp.next mode.
    Please explain why?
    How can set POST request params when calling to an external servlet?

  • How to pass a HTML file as an object to a browser?

    Hi,
    I am currently designing a simple webserver application which will serve a client(browser) with a simple HTML form upon request.
    I have already managed to complete this requirement but i need help simplifying a small part of my program regarding file input(HTML file to be exact).
    My webserver application so far:
    import java.io.*;*
    import java.net.;
    import java.util.*;
    public class FormServer
    public static void main(String[] args)
    Scanner keyboard = new Scanner(System.in);
    try
    System.out.println("Enter listening port as an integer value");
    int listening_port = keyboard.nextInt();
    ServerSocket server_socket = new ServerSocket(listening_port);
    System.out.println("Server is now listening on port "
    listening_port" and awaiting HTTP request from client");
    Socket client_socket = server_socket.accept();
    System.out.println("Connection established with client "
    + client_socket.getInetAddress() + " on port " + listening_port);
    InputStream data = client_socket.getInputStream();
    BufferedReader buffered_data = new BufferedReader(new InputStreamReader(data));
    final String firstline = buffered_data.readLine();
    if(firstline.indexOf("GET")==0)
    {color:#ff0000}final String FORM =
    "<html>"
    "<head>"
    "<title>Mailing List form</title>"
    "</head>"
    "<body>"
    "<h1>Add Your Name to our Mailing List</h1> "
    "<form action=\"http://localhost:8080\" method=\"post\" "
    "enctype=\"text/plain\"> "      
    " Last name: <input type=\"text\" name=\"last\" size=40 "
    " value=\"\"> "
    "<br> "
    "E-mail Address: <input type=\"text\" name=\"email\" "
    "size=12 value=\"\">"
    "<br>"           
    "<input type=\"submit\" value=\"Send Request\" >"
    "<input type=\"reset\" value=\"Reset\">"
    "</form>"
    "</body>" {color}
    "</html>" ;
    System.out.println("Method is GET for HTTP Request so: Sending Page");
    DataOutputStream dos = new DataOutputStream(client_socket.getOutputStream());      
    dos.writeBytes(FORM);
    dos.close();
    if(firstline.indexOf("POST")==0)
    //send posted FORM to SMTP server
    catch(IOException e)
    System.out.println(e);
    The problem:
    I would like to save all the {color:#ff0000}FORM{color} data in a HTML File so that everytime the browser asks for the FORM i can just create an instance of the File and serve it to the browser. Would that be possible?
    This is my first time posting a question in a forum so please forgive me if i do not make sense. I would be happy to elaborate if necessary. All help will be greatly appreciated. Oh and just use localhost to access the server.
    Edited by: sukul on May 24, 2009 9:50 PM
    Edited by: sukul on May 24, 2009 9:53 PM

    yes thanks.. i will have time for HTTP formalities later
    ok 1 last time lolz... i create the HTML file once right.. suppose i name it HtmlForm.html
    Everytime a browser requests the file i want to be able to do something like
    File Form = new File("HtmlForm.html");
    now i want to be able to send Form using an output stream to the browser.
    i tried
    ObjectOutputStream SendMessage= new ObjectOutputStream(client_socket.getOutputStream);
    SendMessage.writeObject(Form);
    but that didnt produce the expected results.
    Do you get what im trying to do?
    Its no biggy....just wanted to do some house keeping before i hand in my project.

  • How to use an instance of a text object

    Hello All
    I have an animated open in which animated panel reveal video and text behind them, I need to add second text object to the animation that is going to be on top of the animated panel this text object I want it in the same place as the text to be revealed but I want to scale to make it look as if it was scaled (magnified) up as the panels move across the screen to reveal the video and text, but I want to use only one text object. In after effect I can accomplish this by precompossing the text then adding the comp text in a main comp and scaling the copy of the text comp but I only have to change one text layer. So what I want is to change edit one object in motion instead of duplicating the text layer and then editing two layers instead of one.
    Thanks for your help
    Juan O

    Hi all
    I found the the answer to my question, but thanks for your help anyways.
    here it is
    added a layer then
    added a text object (position size etc...)
    selected the layer
    went to objects menu and selected replicate (short cut letter " L ")
    I needed to scale the copy (replicate) of the text object
    so I scaled the replicator object inside the replicated layer
    I had to move it to compensate for the scale
    since I wanted to use it like a reflection across the panels
    I added a copy of the panels to the replicated layer (the copy of the original text layer)
    then added an image mask to the replicated layer
    turned off the panels inside the replicated layer
    selected the image mask
    from the layers tab I draged the turn off panels object and droped it in the small drop box with the title "image"
    in the image mask tab
    set the source channel to Luminance everything else at default
    and that is it
    Thanks again, and I hope this will be of help to others
    matzunaga

  • How to find AD provisioning process instance key

    Hi,
    I have provisioned some user to AD now i wanted to add same ursers to some other AD group for this i need to know what is an API which will give me process instance key of AD so that i can add AD group to AD child table.

    It takes process instance key as argument. You can get this from adapter as argument in your java code.
    With the form name it is difficult you can get it either by process instance key or by object instance key based on your use case.
    searchMap.put("Objects.Name", "AD User");
    objresultSet = moObjectUtility.findObjects(searchMap);
    long ObjectKey = objresultSet.getLongValue("Objects.Key");
    objectMap.put("Objects.Object Status.Status", "Provisioned");
    objectSet =(ObjectKey, objectMap);
    String processInstanceKey = objectSet.getStringValue("Process Instance.Key");
    Edited by: Dost

  • How to pass complex data type structure to WebService under mx:request?

    From my Flex client, I need to pass data to a web service whose operation expects a complex data type with multiple layers of nesting structure. How can I populate the <mx:request> for the <mx:WebServices>? Any examples?
    A couple of approaches come to my mind:
    (1) construct ActionScript object to mimic the datatype expected by web service, and pass an instance of the AS object to mx:request; or
    (2) construct an entire SOAP request body in XML and pass it into mx:request.
    Does any of these (or both) work? If both work, which is the better way?
    Thanks in advance for your input!
    -William

    Thanks a lot for the rapid response, Marcel.
    For further details on the maping between WS complexType structure and AS object, is there any specific requirement? such as naming, binding, structure of nesting, etc.
    William

  • Pass symbol instance name to variable

    Hi all,
    I'm trying to figure out how to pass the instance name (ID) of a clicked object to a variable so I can navigate to a label on the timeline with the same name.
    So far I've tried different variations of:
    sym.getSymbol() //logs as "undefined"
    sym.getSymbolTypeName // logs the symbol name in the library, not the instance
    Any ideas?
    Thanks
    -Dave

    Sweet!
    That worked - Thanks! I ended up combining both your suggestions. on the button symbol i have
    sym.getComposition().getStage().onClick(e.target.id);
    and then after compositionReady I added a function to split out the second name and logged it to test;
    sym.onClick = function(targetId){
              var names = targetId.split("_");
              console.log(names[1]);
    Works perfectly! - Although it would be nice if the EA team could fix that functionality in future releases so e.target.id gives you just the id for the selected symbol. I would think if you can write something like getSymbol("mySymbol") it should be just as easy to get that name without all the extra (Stage...etc)
    Thanks again!
    -David

  • GP callable object waiting for abap event

    Hello expertes,
    I'd like to develop a gp process which contains a callable objects which keeps the process instance waiting until an abap function module send something like an event.
    I don't want to put too much load on the machine and block expensive JCO ressources.
    Does anyone have an idea how to solve this?
    Thanks very much
    Stefan

    Hi Shanto Aloor,
    I tried assigning a default user(using initiation defined) to the process , also tried settting the processor as "initiator", but still not working..
    I have been searching for documentation on this issue , but I couldn´t find anything..
    Any other clue?
    Thanks in advance,
    Marco.

  • GP: Info Callable Object working?

    Hi all,
    I have tried to implement an info CO in one of my processes. That Callable Object takes a string as input parameter and launches a search website to find the results. It worked well in the test environment in design time. But wenn I added that CO as Info Callable Object to an action of my process. It's not displayed in the runtime on the navigation bar at all, where it was supposed to be according to the RKT. I also set a category to it without any effect. And I have also tried to add the info CO to the Block and even the process level but neither way worked. Is that a possible bug?
    I'm using GP 7.0 with F37 milestone J2ee
    Another related question:
    I need a kind of summary at each of my process steps. My idea is to implement it as an info callable object. Now as I understood, it's possible to pass parameter values to info Callable Objects at runtime as well. Does such a parameter have to be available in GP-Context already or is it possible to get that parameter value from the displayed webdynpro DC at the same step? The idea is, I would like to have a webdynpro table displayed and have the info callable object show the detail of each table entries when I`m performing the selection. In other words, would it be possible to pass the selected item to the info callable object at runtime? My guess is that it's not possible, as I haven`t finished my Webdynpro step at the time I make the selection, so the parameter value of the selected table item is not yet available in the GP context. Are my considerations correct? 
    Most appreciated.
    Xiaopeng

    Hi Xiaopeng,
    Please make sure that you defined the correct run time view - otherwise the Info CO will not be displayed. You can find some documentation on that here: http://help.sap.com/saphelp_nw04s/helpdata/en/33/198141f906040de10000000a1550b0/frameset.htm and then CAF-GP:Business Expert Guide -> Process Modeling -> Info Callable Objects, there you find at the end of text the link to 'Defining Runtime Views'.
    The parameters for the Info Callable Object must be available already in the GP context so I believe it's too late if they are available at runtime first. However your idea is really clever.
    Regards,
      Jan

Maybe you are looking for

  • Preview has changed?

    When I click to open a jpg file the default viewer is 'Preview'. (ver 3.0.9) Until recently it had an option to 'annotate' on the top bar. This I found extremely useful. However recently this option seems no longer available. There is still an annota

  • Enterprise Manager is not able to connect to the database instance. Open??

    Hello there, After I installed oracle database and tried to start Enterprise Manager, I got the message: Enterprise Manager is not able to connect to the database instance. All statuses are OK (green and up) except database instance. It is also green

  • HP 5150 printer and Windows 8.1

    I have used this printer with Windows XP for many years. I have now changed to 8.1 and I cannot find how to display the ink levels. Have you any suggestions on how I achieve this? Thanks

  • How to autogenrate multiple items report of the SharePoint list and sent to the client id on daily basis

    Dear Support, As per customer requirement he want to send SharePoint list multiple items reports on daily basis by email autognrated workflow in SharePoint. I tried for that and created workflow for SharePoint list  on new item creation using SharePo

  • Startup failure after the mass updates install

    Hello MacWorld:-) I really hoped I will never have to post anything here as long as I have Mac:-) and for almost a year nothing happened, everything worked smooth and easy. But several days ago I decided to install a number of updates, like about 10.