OBPM Studio 10g R3: Create new process instance via PAPI

Hi folks,
I used JDeveloper to generate Java stubs off the PAPI WSDL. This works great and I'm able to list Processes similar to the bundled JAX-WS example just fine. Now I'd like to take it to the next level and create a process instance. I really appreciate your guidance on how to do that.
Currently my process has a Global Creation Activity (screenflow) and the BeginIn mapping goes to an Automatic Activity.
Questions:
1) Is it possible to create a process instance in my case given that I have a Global Creation Activity ? Or if not, what changes do I need to make?
2) Does anyone have any Java code examples for invoking the PAPI process instance creation code?
In my case, I found a method in the stub that accepts three parameters - the process Id (String), an "ArgumentSetBean name (String), and an ArgumentBean, but I'm not sure what to fill in. :-)
Thanks everyone!

Hi,
See if this helps -->
import fuego.papi.InstanceInfo;
import fuego.papi.ProcessServiceSession;
import fuego.papi.OperationException;
import fuego.papi.Arguments;
import fuego.papi.BatchOperationException;
public class PAPIExample {
     public PAPIExample() {}
     public static void main(String[] args) throws OperationException, BatchOperationException {
          FuegoService fuegoServ = new FuegoService();
          ProcessServiceSession fuegoSession = fuegoServ.createSessionWithUsernameAndPassword("papi", "password");
          String processName = "/TestPAPI";
          Arguments arguments = Arguments.create();
          arguments.putArgument("argName", "GuessWhoIsHere");
          // First Way
          fuegoSession.processCreateInstance(processName, "In", arguments);
          // Second Way
          String globalActivity = "GlobalCreation";
          InstanceInfo instInfo = fuegoSession.activityExecuteApplication(globalActivity, processName, arguments);
          instInfo = fuegoSession.instanceRefresh(instInfo);
          fuegoSession.close();
Edited by: Anup300684 on Jan 21, 2009 1:35 AM

Similar Messages

  • How to create a process instance from PAPI Web Services

    Hi,
    I use Jdev 11g to create ADF(PAPI web service) to create new instances of BPM processes running in BPM Standalone (10g). However, I do not know how to write the code.
    Could any people paste the sample code for me?
    Thank you very much!
    papiWebServicePort.processCreateInstance(String, String, Holder<ArgumentBean>, Holder<instanceInfoBean>)

    import java.net.MalformedURLException;
    import java.rmi.RemoteException;
    import javax.xml.rpc.ServiceException;
    import com.bea.albpm.PapiWebService.OperationException;
    public class CreateInstances {
         public static void main(String[] args) throws MalformedURLException, ServiceException, OperationException, RemoteException {
              java.net.URL url = null;
              org.apache.axis.EngineConfiguration config = null;
              com.bea.albpm.PapiWebService.PapiWebServicePortBindingStub binding = null;
              com.bea.albpm.PapiWebService.InstanceInfoBean value = null;
              //String processId = "/Proceso1";
              //String processId = "/ActividadesExternas";
              String processId = "/PAPIWS";
              String argumentsSetName = "BeginIn";
              //Binding
              //url = new java.net.URL("http", "localhost", 8686, "/papiws/PapiWebServiceEndpoint");
              url = new java.net.URL("http", "localhost", 8585, "/papiws/PapiWebServiceEndpoint");
              config = new org.apache.axis.configuration.FileProvider("client_deploy.wsdd");
    binding = (com.bea.albpm.PapiWebService.PapiWebServicePortBindingStub) new com.bea.albpm.PapiWebService.PapiWebService_ServiceLocator(config).getPapiWebServicePort(url);
    binding.setTimeout(60000);
    //Arguments
    com.bea.albpm.PapiWebService.ArgumentsBeanArgumentsEntry argumentsBeanArgumentsEntry[] = new com.bea.albpm.PapiWebService.ArgumentsBeanArgumentsEntry[1];
    argumentsBeanArgumentsEntry[0] = new com.bea.albpm.PapiWebService.ArgumentsBeanArgumentsEntry();
    argumentsBeanArgumentsEntry[0].setKey("entradaArg");
    argumentsBeanArgumentsEntry[0].setValue("Instancia creada de forma externa mediante PAPI-WS 2.0");
    com.bea.albpm.PapiWebService.ArgumentsBean argumentsBean = new com.bea.albpm.PapiWebService.ArgumentsBean(argumentsBeanArgumentsEntry);
    com.bea.albpm.PapiWebService.holders.ArgumentsBeanHolder argumentsBeanHolder = new com.bea.albpm.PapiWebService.holders.ArgumentsBeanHolder(argumentsBean);
    //Create instance
    value = binding.processCreateInstance(processId, argumentsSetName, argumentsBeanHolder);
    System.out.println("Created instance -> InstanceInfo.id = " + value.getId());
         }

  • Create new process instance

    Hi,
    How can we create a new instance of process other than global activity. Is there any way out for this?

    Hi Anuraq,
    Know I'm leaving out a couple, but here are ways you can create a new work item instance in a process:
    1) Here's how you can create an instance in a process using logic in an Automatic activity's method. This uses the "Fuego.Lib.ProcessInstance.create()" method shown below inside a process:
    // "args" is an associative string array (Any[String])
    argsIn as Any[String]
    // this assumes that the Begin activity has two argument variables
    //   named "nameArg" and "amountArg" and you're setting them
    //   to the variables "name" and "amount" respectively
    argsIn["someArgVarName"] = "Hello"
    argsIn["someBpmObject"] = myBpmObject
    // logic here to determine the name of the process to create an instance in
    idOfProcess as String
    idOfProcess = <hard coded string that has the id (not the name of the process to instantiate>
    ProcessInstance.create(processId : "/" + idOfProcess, arguments : argsIn, argumentsSetName : "BeginIn") ProcessInstance is in the Catalog inside Fuego.Lib.
    The processId parameter (the "idOfProcess" variable in the above logic) is the thing I most commonly screw up with this. It is the text you see when you right mouse click the process in the Project Navigator tab -> "Properties". Look at the value in the "Id" field and not the "Name" field here (the name without any space characters). Prefix it with a "/" as is shown here and if you've deployed this using an organization unit (OU) then prefix this to the string also.
    The third parameter is almost always "BeginIn". Begin activities in a process can have many incoming argument mappings, the default is "BeginIn". To see yours, double click the process's Begin activity and look at the mapping's name in the upper left corner of the dialog.
    "argsIn" is the set of incoming argument variables you want passed into the process. A common mistake is to type in the names of the incoming argument variables without the double quotes like this:
    // this will *NOT* work
    argsIn[someArgVarName] = "Hello"
    argsIn[someBpmObject] = myBpmObject
    . . .Here is the correct syntax:
    // this *WILL* work
    argsIn["someArgVarName"] = "Hello"
    argsIn["someBpmObject"] = myBpmObject
    . . .In this example, the process has two argument variables. It does not matter if the incoming argument variables are primitive type arguments (e.g. String, Integer, Decimal...) or BPM Objects, it is always done the same way. In this example, there is a String incoming argument called "someArgVarName" and a BPM Object incoming argument called "someBpmObject".
    2) Global Creation Activity - automatically creates an instance based on human interaction - requires no logic other than to set the argument variables you want passed into the process mapped to instance variables. If it's decided in the screenflow associated with this activity that you do not want to create an instance after all, it just needs to hit an Automatic task in the Global Creations's screenflow that has the logic "action = CANCEL"
    3) Global Interactive Activity - also based on human interaction it can create an instance if inside the Global Interactive activity's screenflow it hits an Automatic task that has the Instance.create() logic shown above.
    4) Using the Fuego.Papi.Instance.create method using logic inside a process.
    5) Using the Java PAPI:
    fuego.papi.Arguments arguments = Arguments.create();
    arguments.putArgument("inArgument", "MyArgument");
    String consolidatedProcessId = "/SomeProcessNameId";
    String argumentSetName = "BeginIn";
    fuego.papi.InstanceInfo instance = session.createProcessInstance(consolidatedProcessId,argumentSetName,arguments);6) Using the PAPI-WS (Web Service) API you can create an instance in a process using a web service call.
    7) A process can create a new instance in another process using the Subflow activity which synchronously creates an instance in a child subprocess and waits for the result to return once the instance in the child subprocess reaches the End activity in the process. From the parent process, you'd match the incoming and outgoing argument variables of the called child process with instance variables in your parent process.
    8) A process can create a new instance in another process using the Process Creation activity which asynchronously creates an instance in a child subprocess (fire and forget) but does not wait for the child to respond to the parent. Once the child process begins, the parent continues its flow. From the parent process, you'd match the incoming argument variables of the called child process with instance variables in your parent process.
    Dan

  • Create Process Instance via DB insert?

    I would like to have a DB insert kick off a process instance.
    I am an ALBPM novice, but I'm guessing the solution would involve a DB insert trigger (Oracle) and a PAPI ProcessServiceSession.createProcessInstance() call.
    Does anyone know how to put it all together?
    Edited by jabize at 05/20/2008 7:36 AM

    You can do this way:
    1. Let the DB trigger insert a new row into a (new) table.
    2. Create a Global Automatic Activity (Type - Polling by Interval) in your process and set it up to poll for regular intervals, for example every 10 min...
    3. Catalog that table (or SQL Query) into ALBPM
    4. Write code for this global activity to read records from that table and create new Process Instance for each row found and delete this record.
    Thanks,
    Malar.

  • 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

  • ALBPM:Polling of folder and create a process instance.

    Hi, everyone.
    I am quite new to ALBPM, but I want to make everyone a question:
    I have a requirement where i need to poll or view a folder at particular location and in the folder search for the files.
    And
    If the files are present i need to create a process instance.The polling is done after every 30 minute interval.This is a kind of scheduler.
    Please help me on this.
    Thanks a lot to everyone!!!
    Prakash.

    Hi Prakash,
    You can poll a folder using a Global Automatic activity.
    Once added, right click the activity -> "Properties" -> "General" -> "Polling by Interval". Enter a value like "20m" for 20 minutes or "3h" for 3 hours or "1M" for one month.
    The logic inside the Global Automatic can poll to see if a file exists in a certain folder on the server. In the logic shown below, I specified the "HOT_FOLDER" as a business paramater and set it to a valid directory that I knew files (XML files in this case) would posted to. When the Global Automatic hits a file that it's looking for, it reads it and moves it into another folder ("DESTINATION_FOLDER") so it's not read again the next time the Global Automatic automatically polls again.
    Here's the logic:
    // See if there are files in the hot folder
    logMessage "Checking the hotfolder " + HOT_FOLDER + " for new files"
    using severity = DEBUG
    goodFile as Boolean = false
    fileType as String
    fileName as String
    files as Fuego.Io.File[] = Fuego.Io.File.listFiles(sourcePathFile : HOT_FOLDER + "\\", silent : true)
    // Are there file(s) in the directory?
    if length(files) > 0 then
    for each file in files do
    if not file.directory && length(file.name) > 4 then
         fileType = substring(file.name, first : length(file.name) - 3, last : length(file.name))
         fileType = toUpperCase(fileType)
         logMessage "File type is: "+ fileType using severity = DEBUG
    if fileType = "XML" then
         goodFile = true
    else
    goodFile = false
    end
    else
    goodFile = false
    end
    if goodFile then
    // initialize object that will be passed into process
    questionaire as Business.Questionaire = Business.Questionaire()
    questionaire.question = Business.Question()
    // Ignore any sub-directories
    logMessage "A new file was found (name: " + file.name + ")"
    using severity = DEBUG
    logMessage "A new file was found (fullName: " + file.fullName + ")"
    using severity = DEBUG
    newFileName as String = DESTINATION_FOLDER + "\\" + file.name
    Fuego.File.move(sourcePath : file.fullName, destinationPath : newFileName,
    silent : true)
              questionaireXML as Business.QuestionaireXml = Business.QuestionaireXml()
    fileContents as String = ""
    xmlFile as TextFile = TextFile()
    open xmlFile
    using name = newFileName,
    lineSeparator = "\n"
    for each line in xmlFile.lines do
    fileContents = fileContents + line
    end
    close xmlFile
    logMessage "loading Questionaire"
    using severity = DEBUG
    // Generate PDF
    load questionaireXML
    using xmlText = fileContents
    contents as String[] = []
              templateNode as Any[] = selectNodes(questionaireXML, xpath : "/questionaire/template")
              for each t in templateNode do
              template as Integration.Questionaire.Template = Integration.Questionaire.Template(xmlText : t)
              logMessage "storing template info" using severity = DEBUG
              contents[] = "Template ID: " + template.id.children.first
              contents[] = "Report Name: " + template.reportName.children.first
              contents[] = "Date: " + template.reportDate.children.first
              contents[] = "Report Type: " + template.reportType.children.first
              // set attributes used in object passed into process
              questionaire.templateId = String(template.id.children.first)
              questionaire.templateName = String(template.reportName.children.first)
              questionaire.templateType = String(template.reportType.children.first)
              end
              customerNode as Any[] = selectNodes(questionaireXML, xpath : "/questionaire/customer")
              for each c in customerNode do
                   customer as Integration.Questionaire.Customer = Integration.Questionaire.Customer(xmlText : c)
              logMessage "storing customer info" using severity = DEBUG
              contents[] = "Customer: " + customer.name.children.first
              contents[] = "Address: " + String(customer.street.children.first) + ", " + String(customer.city.children.first)
              + ", " + String(customer.state.children.first)
              + ", " + String(customer.zip.children.first)
              questionaire.customerName = String(customer.name.children.first)
              questionaire.customerStreet = String(customer.street.children.first)
              questionaire.customerCity = String(customer.city.children.first)
              logMessage "State is: " + String(customer.state.children.first) using severity = DEBUG
              if length(String(customer.state.children.first)) = 2 then
                   questionaire.customerState = getStateName(questionaire, stateAbbreviation : String(customer.state.children.first))
              else
              questionaire.customerState = String(customer.state.children.first)
              logMessage "questionaire State is: " + questionaire.customerState using severity = DEBUG
              end
              questionaire.customerZip = String(customer.zip.children.first)
              end
              questionNode as Any[] = selectNodes(questionaireXML, xpath : "/questionaire/questions/question")     
    for each q in questionNode do
    question as Integration.Questionaire.Question = Integration.Questionaire.Question(xmlText : q)
    logMessage "storing question info" using severity = DEBUG
    contents[] = question.id.children.first + " " + question.questionText.children.first + " ("
    + String(question.questionType.children.first) + ")"
    ques as Business.Question = Business.Question()
    ques.id = String(question.id.children.first)
    ques.text = String(question.questionText.children.first)
    ques.type = String(question.questionType.children.first)
    ques.answerA = ""
    ques.answerB = ""
    ques.answerC = ""
    extend questionaire.questions using
    question = ques
    end
    newFileName = substring(file.name,0,length(file.name) - 4) + ".pdf"
    generate(PdfGenerator, outputFilename : DESTINATION_FOLDER + "\\" + newFileName, contents : contents, logoImageURL : null)
    // Create the instance
    params as Any[String]
    params["xmlFileContentsArg"] = fileContents
    params["questionaireXmlArg"] = questionaireXML
    params["questionaireArg"] = questionaire
    params["fileNameArg"] = newFileName
    logMessage "Creating instance" using severity = DEBUG
    Instance.create(arguments : params, argumentsSetName : "BeginIn")
    end
    end
    else
    logMessage "No files in directory: " + HOT_FOLDER using severity = DEBUG
    end

  • Error when creating new oc4j-instance

    1.
    when i create a new oc4j-instance via EMWeb i get the following:
    The operation failed.. Instance: iasdb.test.xxx.ch Message: Keine Meldung für diese Exception definiert. Base Exception: java.lang.NoClassDefFoundError:nullKeine Meldung für diese Exception definiert.
    the german text means: no message defined for this exception.
    when i then refresh the website the oc4j-instance is created, but down.
    2.
    when i try to deploy an application to any OC4J-instance manually i get the following error:
    Web-Anwendung ee konnte nicht eingesetzt werden Error while parsing oc4j configuration files. Root Cause: D:\Oracle\9iAS\j2ee\OC4J_AA\config\.\default-web-site.xml (Das System kann den angegebenen Pfad nicht finden). D:\Oracle\9iAS\j2ee\OC4J_AA\config\.\default-web-site.xml (Das System kann den angegebenen Pfad nicht finden)
    OC4J_AA whas a instance i once created and deleted then. it shoud no more exist.
    where does this error come from?

    Hi Stefan -
    I'm not sure where this error comes from, I've never seen it. Particularly in German! ;-)
    I think the best way to get more information on this is to repost your message to the general 9iAS forum. I believe that there are people monitoring that forum who look afer the management console and who might be able to help you further.
    -steve-

  • How to create new OC4J instance in AS 10.1.3 with BC4J- and ADF-Libraries

    Hi
    I have done all the steps mentioned in this thread:
    How to create new OC4J instance in AS 10.1.3
    However, the new created OC4J instance obviously misses some libraries. If I deploy my Application to this OC4J I get an internal error: Class not found: oracle.jbo.JboException.
    The same Application runs well in the "home" Instance.
    What is the trick, to create a new OC4J instance, which more or less behaves the same way as the "home" instances (and especially has all the same libraries)?
    Thanks for your help
    Frank Brandstetter

    I encountered this last month. I definitely agree that it is a glaring omission to not have "Create Like" functionality when instantiating new containers. Here's my notes on the manual steps required after using createinstance to create the fresh container. Not too bad. I've been deploying ADF applications to the new container with no problems after this.
    ==============
    The default (home) OC4J container is pre-configured for ADF 10.1.3 applications; however, when $ORACLE_HOME/bin/createinstance is used to create additional containers, these containers are not configured automatically to host ADF 10.1.3 applications.
    I followed these manual steps:
    1. $ORACLE_HOME/j2ee/home/config/server.xml defines three shared libraries that "install" the needed JARs for Oracle ADF applications in your application server instance (container). Note that "install" does not necessarily mean available to applications (see Step 2). Copy the three shared library element definitions to the <application-server> element of your new container (in server.xml).
    <shared-library name="oracle.expression-evaluator" version="10.1.3" library-compatible="true">
         <code-source path="/usr2/oracle/as10130/jlib/commons-el.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/oracle-el.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/jsp-el-api.jar"/>
    </shared-library>
    <shared-library name="adf.oracle.domain" version="10.1.3" library-compatible="true">
         <code-source path="/usr2/oracle/as10130/BC4J/lib"/>
         <code-source path="/usr2/oracle/as10130/jlib/commons-cli-1.0.jar"/>
         <code-source path="/usr2/oracle/as10130/mds/lib/concurrent.jar"/>
         <code-source path="/usr2/oracle/as10130/mds/lib/mdsrt.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/share.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/regexp.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/xmlef.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/adfmtl.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/adfui.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/adf-connections.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/dc-adapters.jar"/>
         <code-source path="/usr2/oracle/as10130/ord/jlib/ordim.jar"/>
         <code-source path="/usr2/oracle/as10130/ord/jlib/ordhttp.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/ojmisc.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/jdev-cm.jar"/>
         <code-source path="/usr2/oracle/as10130/lib/xsqlserializers.jar"/>
         <import-shared-library name="oracle.xml"/>
         <import-shared-library name="oracle.jdbc"/>
         <import-shared-library name="oracle.cache"/>
         <import-shared-library name="oracle.dms"/>
         <import-shared-library name="oracle.sqlj"/>
         <import-shared-library name="oracle.toplink"/>
         <import-shared-library name="oracle.ws.core"/>
         <import-shared-library name="oracle.ws.client"/>
         <import-shared-library name="oracle.xml.security"/>
         <import-shared-library name="oracle.ws.security"/>
         <import-shared-library name="oracle.ws.reliability"/>
         <import-shared-library name="oracle.jwsdl"/>
         <import-shared-library name="oracle.http.client"/>
         <import-shared-library name="oracle.expression-evaluator"/>
    </shared-library>
    <shared-library name="adf.generic.domain" version="10.1.3" library-compatible="true">
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/bc4jdomgnrc.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/lib"/>
         <code-source path="/usr2/oracle/as10130/jlib/commons-cli-1.0.jar"/>
         <code-source path="/usr2/oracle/as10130/mds/lib/concurrent.jar"/>
         <code-source path="/usr2/oracle/as10130/mds/lib/mdsrt.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/share.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/regexp.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/xmlef.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/adfmtl.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/adfui.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/adf-connections.jar"/>
         <code-source path="/usr2/oracle/as10130/BC4J/jlib/dc-adapters.jar"/>
         <code-source path="/usr2/oracle/as10130/ord/jlib/ordim.jar"/>
         <code-source path="/usr2/oracle/as10130/ord/jlib/ordhttp.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/ojmisc.jar"/>
         <code-source path="/usr2/oracle/as10130/jlib/jdev-cm.jar"/>
         <code-source path="/usr2/oracle/as10130/lib/xsqlserializers.jar"/>
         <import-shared-library name="oracle.xml"/>
         <import-shared-library name="oracle.jdbc"/>
         <import-shared-library name="oracle.cache"/>
         <import-shared-library name="oracle.dms"/>
         <import-shared-library name="oracle.sqlj"/>
         <import-shared-library name="oracle.toplink"/>
         <import-shared-library name="oracle.ws.core"/>
         <import-shared-library name="oracle.ws.client"/>
         <import-shared-library name="oracle.xml.security"/>
         <import-shared-library name="oracle.ws.security"/>
         <import-shared-library name="oracle.ws.reliability"/>
         <import-shared-library name="oracle.jwsdl"/>
         <import-shared-library name="oracle.http.client"/>
         <import-shared-library name="oracle.expression-evaluator"/>
    </shared-library>
    2. To make the necessary ADF and JSF support libraries available to your deployed ADF application, the default application (that your ADF application and the majority of applications should inherit from) should explicitly import the shared library in the <orion-application> element of $ORACLE_HOME/j2ee/<your container>/config/application.xml.
    <imported-shared-libraries>
         <import-shared-library name="adf.oracle.domain"/>
    </imported-shared-libraries>
    Note: the adf.oracle.domain shared library imports several other shared libraries including oracle.expression-evaluator.

  • Creating New Entity Instances within OPA

    This is another one that I think I know the answer to, but I think it is best to confirm.
    In prior versions, it was not possible to create entity instances within RuleBurst/Haley Office Rules. Is that still the case in OPA?
    For example, my rules are determining the status of a case and the reason(s) why that status was determined. The case status may be Denied and the reasons may be "invalid customer Id", "expenses to income ratio too high", "primary customer not employed long enough", etc. I want to return all the reasons for the status. While the list of reasons is pre-determined, the ones that apply to a particular case are dynamic, as any, but not all can apply.
    Given this situation using a database, I would create an instance of reason for each applicable one and link it to the case. In the past, with OPA's predecessor(s), it was not possible to create new instances from within. They either had to all be passed into the rulebase or a list of all allowable reasons attributes had to be created and then set to true for the ones that applied.
    My preference is to create the instances inside OPA. Is that functionality provided in the current version?
    Thanks,
    Terry

    Hi Terry,
    Michael is correct that you can't write rules at design time which will dynamically create new entity instances at runtime. However, perhaps the new inferred relationships functionality in v10 could address what you're trying to do.
    You can write rules which conclude membership of an inferred relationship. So you might always have, say, 10 instances of 'the reason' in every case, but as for which of those instances apply in any particular case, it depends on the details of the case. You could use an inferred relationship to collect up the entity instances which apply in the case.
    First you'd need to set up a regular one-to-many relationship to instantiate the 10 instances at runtime - this would be done in the usual way. Then you'd also need to set up an inferred relationship and write rules to conclude the members of the inferred relationship. The instances which are members of the inferred relationship are then effectively the list of entity instances you wanted to create in your example above.
    Have a look at this OPM Help article: http://www.oracle.com/technology/products/applications/policy-automation/help/opm10_1/Content/Rules%20using%20entity%20instances/Reason_about_relship_between_2_entities.htm
    Cheers,
    Jasmine

  • Win8RP: Failed to create new process "...javaw.exe" - Invalid argument

    Hi all,
    we have a huge Java (JRE 6.0.310.5) app that works fine on the Win 8 CTP, but on RP:
    Failed to create new process "C:\Program Files (x86)\...\jre\bin\javaw.exe" - Invalid Argument
    Thanks for any insight
    G.

    Hi,
    Based on the error message 'Caused by: com.sap.engine.services.jmx.exception.JmxSecurityException: Caller J2EE_GUEST not authorized, only role administrators is allowed to access JMX' , this note shall solve this issue:
    948970 - Caller J2EE_GUEST not authorized, only role administrators
    Also check if the ADSUSER and ADS_AGENT have the correct password and the respective roles.
    944221  - Error analysis for problems in form processing (ADS)
    Which is your NW version?
    Regards,
    Lucas Comassetto.

  • How to change the attribute of process instance by PAPI web service

    Is it possible to change the value of the attribute of one process instance by PAPI web servcie?
    thanks!

    That information is stored in the table PPROCINSTANCE in the engine database in the column instancedata, it is a blob.
    HTH

  • Error in creating new OC4J instance

    Hi All,
    I am trying to Create a new OC4J Instance with the Help of "Oracle Enterprise Manager 10g for Application Server Control" , but the following Error message is displayed.
    "Error:
    The configuration files for this Oracle Application Server instance are inconsistent with the
    configuration stored in the repository. In order to protect the repository,
    no further configuration or deployment operations are allowed until the problem with the configuration on the filesystem is resolved. This condition arises when a prior operation was unsuccessful. The exception associated with this failed operation is:
    {0}
    . Please also check the logs located at
    ORACLE_HOME/dcm/logs to determine why DCM was unsuccessful in updating
    the configuration files on disk. Some possible causes are:
    * permissions on files
    * file contention issues on Windows NT
    * internal Oracle error
    After resolving the problem that prevented DCM from updating the configuration
    files, you may use the dcmctl resyncInstance command to resolve the problem.
    Alternatively, you can stop and then restart the active dcmctl or EMD
    process and resyncInstance will automatically be performed."
    Can anyone tell me how to resolve this problem and create a new OC4J instance?

    Hi Jason,
    Thanks for your help.
    I tried DCM tool but it is giving the same error. Is there any other tool to resolve this problem?
    Have you worked on Oracle Content Management SDK (Oracle CM SDK)?
    Actually, I am currently working on Oracle CM SDK. I have to dvelope an Content Management application (like WebstarterApplication which is provided)from scratch which can enable end user
    1. To browse through the documents in the repository.
    2. To open the documents form the repository itself.
    3. To edit and save the document in the place in the repository.
    I found that in WebstarterApplication (an CM SDK Application which is provided as demo), 1st and 2nd features are there but 3rd one is not.
    So, I am going to develope an application from scratch.
    Then is it necessary to create an OC4J Instance?
    Please suggest me what should be the steps to be followed to develope such an application from scratch.
    Thanks.

  • ** Is it possible to create new BPM instance for each record (Multiline)

    Hi friends,
    In my scenario, JDBC adapter (sender) polls the open purchase order items from the table at the specified interval and send to BPM. In BPM, we used transformation step to split the messages to process each PO . The scenario is working fine. The problem is assume that if we process 10 PO, the error is in  4th PO while process, the BPM will be stopped in 4th PO. Once we correct the error, we are able to restart.
    In this case, we are not able to skip the 4th PO and process from 5th PO onwards. ie. the processing is sequential. Instead, we want to start new BPM instance for every PO. Advantage is that if 4th PO is error, only that BPM instance (work item) will be stopped. Remaining 9 POs will be completed.
    So, how do we start new BPM instance for every PO ?
    Kindly tell me, friends.
    Thank you.
    Kind Regards,
    Jeg P.

    Hi,
    There are two ways to achieve this.  In BPM and before BPM.
    Before BPM:
    Use 1 to unbounded mapping and 1 to unbounded interface mapping.
    In your mapping, make sure you create a seperate message for each PO.
    In BPM:
    Create a multiline container with you POs using a 1 to n mapping.
    Now add a ForEach block to loop through the multiline container and send each PO.
    Important:  Add an exception branch to catch any exception for each send so that the exception does not make the BPM fail.
    Regards,
    Yaghya

  • How to create BPM process instances?

    I need to use java to create new BPM 11.1.1.5 process instances.
    How to connect to bpm and use API?
    Can anyone paste detail code sources?

    Thanks Evolution...i actually missed out this lookup....
    Now provisioning is working fine for other resource object also...
    I have one more doubts regarding child table...i am using the same child table UD_ADUSRC for this resource object also and when i assigned any group membership thru this child table (in AD User1) it gives me DOBJ.insert failed error. I have checked the tasks (+Add user to group, Remove user from group, update user to group+) and all are referring the correct attrs (as in AD User). There is mapping defined in Resource Object and Process definition for Reconciliation also but recon any user with group membership is also giving me error...
    can't we use one child form in two process forms ? any other configuration which i should check?
    I am using the same look up for Reconciliation mapping attrs for both the resource objects (AD User and AD User1)....

  • Create new JVM instances

    My question is about JVM instances. How do you create additional instances and how do you make sure that you are using the same instance? For example, if I execute an app like so
    java StartDeamonhow can I make sure that when I execute a second app that it is running in the same JVM so that it interacts with the first app?
    java StopDeamonAnd vice versa, how could I make sure that an app such as this one runs in a separate JVM so that it doesn't affect the processes in the previous JVM?
    java KillAllDaemonsInThisJVMInstanceDoes that make sense?

    would you mind elaborating on that? what options are
    there for a custom solution? How do others do it if
    not in Java? If I execute a second program, does it
    automatically get put in the same JVM instance of the
    first program? I'm assuming it does.No. In windows, for example, when you run a Java program you are really starting a new instance of java.exe. There is nothing built in for it to know to use an existing instance.
    Do additional
    JVM instances get created automatically? If so, what
    is the criteria?Always using a new instance is the MO. If you want some other behavior you need to implement it yourself.
    It's not easy. Even if you find an existing instance of the JVM, you need someway of sending it a message telling it to run your main method. Also, how will you be sure that the JVM is one created by your application and not some other application that won't appreciate your application crashing it's private party?
    Do a search on these forums and you will find a bunch of solutions (many of which are probably unusable.)
    Off the top of my head, you could use memory mapped files to mark whether your application is running. If a second instance is started, send a message to a port that will tell the first instance to create a second instance of your app (assuming there is only one application.)
    Is the application a GUI or non-visual?

Maybe you are looking for