Aborting an instance from PAPI

Hi All
How can I abort an instance from PAPI?
The instance can be in any activity, and may be even executing a task when abort is called on that instance. Is it possibe?
Also, is there any requirement that the person who executes abort from PAPI should have a role defined in BPM?
Thanks
Satinder

Hi Satinder,
You could abort a work item instance that is sitting in an activity using PAPI if the Interactive activity has its property set to be "Abortable". There's a PAPI "abort" method for an instance that you can run to accomplish this.
The problem you will have is that most Interactive activities are not set to be abortable (nor should they be). What you might want to instead consider is adding a Notification Wait (now Message Wait in 10g) activity in the process that has its "Interrupt" property set. You could then use PAPI to send the work item instance a notification that would interrupt the instance and send it to the Notifcation Wait activity. From the Notification Wait activity, you could have the instance flow to an Automatic activity. This automatic activity could have a single line of logic: action = ABORT. This would abort the instance without having to set all your Interactive activities to "Abortable".
If I've baffled you with all this, it's not you - it's my poor explanation. Just let me know if this doesn't makes sense and I'll post an example project for you.
Hope this helps,
Dan

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());
         }

  • Abort an instance using ProcessService (Fuego.Papi.ProcessService)

    Hi Folks,
    I want to abort a process instance using ProcessService (Fuego.Papi.ProcessService)
    This is how i am trying to do the same:
    +if (ivBPMObject1.bpmObject1Option != "TRUE") {+
    ProcessService.connectTo(url : Fuego.Server.directoryURL, user : "pavan",
    password : "");
    +// ivInstance2Id is the InstanceId of the other split branch which is alive and which needs to be suspended+
    lvInstance = ProcessService.getInstance(instance : ivInstance2Id.id);
    +// abort+
    lvInstance.abort();
    ProcessService.disconnectFrom();
    +}+
    I get the following exception in the line lvInstance.abort() :.
    The batch operation could not be executed for all selected instances.
    Internal Exceptions:
    +>> /MainProcess#Default-1.0/1/2:+
    Instance '/MainProcess#Default-1.0/1/0' could not be locked because participant 'Server' is currently locking it
    I am running this from the Embedded Workspace of Oracle BPM Studio and I dont see any participant 'Server' in the directory.
    How can i suspend/abort this instance?
    Is there a way that my user/participant 'pavan' can be given rights/privelege to take 'Server's instances?
    I tried using 'Server' as user but i dont know the credentials for 'Server' - so that attempt too failed :(.
    can anyone please help me out?
    Regards,
    user8702013

    Thank you Ariel,
    Yes, I have two 'approvals' happening in parallel - in two branches of a split. when one approval comes 'unapproved', there is no point continuing with the other - i have to abort it.
    But if i set the setting to 'generate independent copies', how will i get the 'instanceId' of the second branch when only the first branch has reached the 'join'? (i had thus made the 'shared' to be true).
    My requirement is that i have two branches in a split. these two split branches call two different approval subprocess which go into user interaction tasks. but when one one approval is rejected (and reaches the join), i want to abort the other instance (atleast of the called subprocess) so that the redundant approval user task of the second branch can be avoided.
    I have been struggling with this for the past couple of days :(
    I am trying to see if i can get the 'instances' of the subprocess in question and find the instance to be killed (aborted) by checking the parents (the parent should be my process). i am getting problems there too. am stranded...
    Regards,
    user8702013

  • How to "unget" an instance via Papi from External Interactive activity?

    Using ALBPM5.7, am trying to create a java app to implement an external interactive activity following this general process:
    1. poll for next "gettable" instance in desired process/task (in order of priority, receivedtime)
    2. call Get the instance to reserve it to current user
    3. call prepareExternalActivity for instance to get arguments from FBL
    4. do some work on the instance
    5. call commitExternalActivity to pass args back in to FBL
    I have created something like the following code snippet based sample code from the PAPI docs:
    // get the instance to be worked, assumes previously found the "next" one based on priority/recievedtime to variable ii
    Filter filter = ProcessService.createFilter();
    filter.setSearchScope(new SearchScope(ParticipantScope.ALL, StatusScope.ALL, null));
    filter.addAttribute(VarDefinition.getDefaultVarDefinition(VarDefinition.INSTANCE_NUMBER), Comparison.IS, ii.getInstanceIn());
    InstanceInfo[] instances = new InstanceInfo[0];
    instances = papiSession.getInstancesByFilter( new String[] { processId }, filter );
    if ( instances.length == 0 ) return null;
    Arguments arguments = Arguments.create();
    arguments = session.prepareExternalActivity(instance.getId(), instance.getActivityName(), Arguments.create());
    String info = (String) arguments.getArgument("preArgOut");
    // do some work...
    arguments = Arguments.create();
    arguments.putArgument("comArgIn", info);
    session.commitExternalActivity(instance.getId(), instance.getActivityName(), arguments);
    I have a question, though. If, during the "do some work" step the user cannot finish for any reason, how do I cancel the "get" (or "unget" it) on the instance so that it remains in the same activity for the next user to work?
    Thanks,
    Todd

    More info...
    If I dump the instanceInfo object (converted to xml using the com.thoughtworks.xstream library), I get the xml below. While the Status shows as 1 (=Running), the isExecuting is "false". For this same instance (ii), since there is only one task (TaskIn=0), the call to abortActivity is:
    papiSession.abortActivity(ii.getId(), ii.getActivityName(), 0);
    Which yields the "Instance '/ExtInterTest#Default-1.2/110619/0' is not running." exception.
    I have previously "selected" the instance prior to calling prepareExternalActivity, but at this point instanceCanBeUnselected(ii) is false.
    ...not sure what to try next. Is there possibly some way to raise an exception from the papi client back to the engine that would allow me to abort the activity from within the process flow (e.g. just put it back to available at the ExternalInteractive activity that was not completed)?
    ------------------------ xml dump of instanceInfo object ------------------------
    <fuego.papi.impl.InstanceInfoImpl>
    <instanceIn__d>110619</instanceIn__d>
    <processIn__d>229</processIn__d>
    <threadIn__d>0</threadIn__d>
    <creationTime__d>
    <microSeconds__d>1240499309197000</microSeconds__d>
    </creationTime__d>
    <roleId>Unattended</roleId>
    <HIGH>4</HIGH>
    <HIGHEST>5</HIGHEST>
    <LOW>2</LOW>
    <LOWEST>1</LOWEST>
    <NORMAL>3</NORMAL>
    <activityName__d>Task1</activityName__d>
    <author__d>-1</author__d>
    <cThreads>0</cThreads>
    <description__d>ExtInterTest110619</description__d>
    <externalVariables__d>
    <long>110619</long>
    <string></string>
    </externalVariables__d>
    <internalState__d>12289</internalState__d>
    <isExecuting__d>false</isExecuting__d>
    <nAttachments>0</nAttachments>
    <nNotes>0</nNotes>
    <nThreads__d>0</nThreads__d>
    <numberOfChanges>105</numberOfChanges>
    <parentThreadIn__d>-1</parentThreadIn__d>
    <participantIn__d>0</participantIn__d>
    <pendingTaskIn__d>-1</pendingTaskIn__d>
    <priority__d>3</priority__d>
    <receptionTime__d>
    <microSeconds__d>1240508930000000</microSeconds__d>
    </receptionTime__d>
    <roleIn__d>50000496</roleIn__d>
    <status__d>1</status__d>
    <taskInfo__d>
    <fuego.papi.impl.InstanceInfoImpl_-TaskInfo>
    <participantId__d>unattended</participantId__d>
    <retryCounter__d>0</retryCounter__d>
    <status__d>48</status__d>
    <taskIn__d>0</taskIn__d>
    <valid__d>true</valid__d>
    </fuego.papi.impl.InstanceInfoImpl_-TaskInfo>
    </taskInfo__d>
    </fuego.papi.impl.InstanceInfoImpl>

  • Retrieving user created variables from multiple instances using PAPI-WS

    Hi,
    I'm using PAPI-WS to retrieve a list of instances from Oracle BPM 10.3.1.0.0 using ProcessGetInstance. These are modeled as external tasks. ProcessGetInstance returns an InstanceInfoBean which has no place for user defined variables that were set when the instances were started.
    The only way to get user defined variables seems to be to iterate through the entire list and send an InstanceGetVariable request for each one. InstanceGetVariable does not seem allow more than one instance id to be specified in a call from my testing. This is very inefficient since we could easily have hundreds of instances that we're trying to display. Is there some way to get the list of instances to include the user defined variables, or to get the user defined variables for more than one instance in a single call?
    Thanks,
    Steve

    I can't reproduce the problem. This is what I see:C:\temp>javac -cp . Ttest.java
    C:\temp>java -version
    java version "1.6.0"
    Java(TM) SE Runtime Environment (build 1.6.0-b105)
    Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)
    C:\temp>java -cp . Ttest
    1
    3
    3

  • Problem accesing instances from global activities

    Hi I&acute;m really new at this and I&acute;m not secure if I&acute;m doing this all right.
    I want to access to a particular instance, using instance id, from a global activity. I&acute;m using the next code:
    {color:#333333}*ordersProcess = ClientBusinessProcess()*{color}
    {color:#333333}*connectTo ordersProcess*{color}
    {color:#333333}*using processId = "SolicitudRevisionNegocio"*{color}
    {color:#333333}{color}
    {color:#333333}*display "instancias"*{color}
    {color:#333333}{color}
    {color:#333333}*instance = getInstance(ordersProcess, instance : "/SolicitudRevisionNegocio#Default-1.0/2/0@Chedraui_Agenda_Inteligente111")*{color}
    {color:#333333}{color}
    {color:#333333}*display instance.id*{color}
    But after displaying "instancias" the estudio generates the next error:
    Se ha producido un error inesperado durante la ejecuci&oacute;n del componente interactivo.
    Debido a: Fuego RMI: Fallo durante la invocaci&oacute;n. Para obtener detalles compruebe la cadena de excepciones.
    Debido a: No se puede recibir el mensaje debido a un error de serializaci&oacute;n.
    Debido a: fuegoblock.papi.Instance
    fuego.web.execution.exception.UnexpectedExecutionException:
    Se ha producido un error inesperado durante la ejecuci&oacute;n del componente interactivo.
    at fuego.web.papi.TaskExecutor.execute(TaskExecutor.java:187)
    at fuego.workspace.servlet.ExecutorServlet.doAction(ExecutorServlet.java:117)
    at fuego.workspace.servlet.BaseServlet.doPost(BaseServlet.java:228)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at fuego.workspace.servlet.AuthenticatedServlet.service(AuthenticatedServlet.java:61)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
    at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:66)
    at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:81)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:293)
    at fuego.web.execution.servlet.ServletExternalContext.forwardInternal(ServletExternalContext.java:197)
    at fuego.web.execution.servlet.ServletExternalContext.finishExecution(ServletExternalContext.java:103)
    at fuegoblock.base.web.DisplayController.service(DisplayController.java:88)
    at fuego.web.execution.servlet.ServletRedirector$ControllerRedirector.forward(ServletRedirector.java:197)
    at fuego.web.execution.servlet.ServletRedirector.redirect(ServletRedirector.java:58)
    at fuego.web.papi.TaskExecutor.processRedirect(TaskExecutor.java:224)
    at fuego.web.papi.TaskExecutor.execute(TaskExecutor.java:104)
    at fuego.workspace.servlet.ExecutorServlet.doAction(ExecutorServlet.java:117)
    at fuego.workspace.servlet.BaseServlet.doPost(BaseServlet.java:228)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at fuego.workspace.servlet.AuthenticatedServlet.service(AuthenticatedServlet.java:61)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at sun.reflect.GeneratedMethodAccessor48.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
    at fuego.web.filter.SingleThreadPerSessionFilter.doFilter(SingleThreadPerSessionFilter.java:64)
    at fuego.web.filter.BaseFilter.doFilter(BaseFilter.java:63)
    at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
    at fuego.web.filter.CharsetFilter.doFilter(CharsetFilter.java:48)
    at fuego.web.filter.BaseFilter.doFilter(BaseFilter.java:63)
    at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Unknown Source)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:217)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)
    Caused by: fuego.rmi.RMIRuntimeException: Fuego RMI: Fallo durante la invocaci&oacute;n. Para obtener detalles compruebe la cadena de excepciones.
    at fuego.rmi.RemoteProxy.processBatch(RemoteProxy.java:175)
    at fuego.component.ExecutorClient.dispatch(ExecutorClient.java:191)
    at fuego.component.CustomExecution.next(CustomExecution.java:247)
    at fuego.papi.impl.rmi.RMIExecution.next(RMIExecution.java:109)
    at fuego.web.execution.InteractiveExecution.process(InteractiveExecution.java:177)
    at fuego.web.execution.impl.WebInteractiveExecution.process(WebInteractiveExecution.java:54)
    at fuego.web.execution.InteractiveExecution.process(InteractiveExecution.java:223)
    at fuego.web.papi.TaskExecutor.processResult(TaskExecutor.java:266)
    at fuego.web.papi.TaskExecutor.execute(TaskExecutor.java:101)
    ... 92 more
    Caused by: fuego.rmi.spi.SerializationException: No se puede recibir el mensaje debido a un error de serializaci&oacute;n.
    at fuego.rmi.spi.BaseConnection.send(BaseConnection.java:105)
    at fuego.rmi.ClientCluster.send(ClientCluster.java:545)
    at fuego.rmi.ClientCluster.transact(ClientCluster.java:343)
    at fuego.rmi.RemoteProxy.processBatch(RemoteProxy.java:172)
    ... 100 more
    Caused by: java.io.NotSerializableException: fuegoblock.papi.Instance
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.writeArray(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.writeObject(Unknown Source)
    at fuego.component.Message.writeObject(Message.java:654)
    at sun.reflect.GeneratedMethodAccessor51.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.writeObject(Unknown Source)
    at fuego.component.Batch.writeObject(Batch.java:153)
    at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.writeObject(Unknown Source)
    at fuego.rmi.Packet.write(Packet.java:242)
    at fuego.rmi.spi.BaseConnection.send(BaseConnection.java:102)
    ... 103 more
    I dont knoa wath I&acute;m doing wrong or if I need to activate or configure something befora using Papo.
    Thanks in advance

    Hi, thanks a lot for your help, I tried to do the notification
    &lt;address&gt;instId = "/SolicitudRevisionNegocio#Default-1.0/2/0@Agenda_Inteligente111"&lt;/address&gt;
    &lt;address&gt;&lt;/address&gt;
    &lt;address&gt;accion = action.ABORT&lt;/address&gt;
    &lt;address&gt;args[1]=accion&lt;/address&gt;
    &lt;address&gt;&lt;/address&gt;
    &lt;address&gt;send Notification&lt;/address&gt;
    &lt;address&gt;using instanceId = instId, &lt;/address&gt;
    &lt;address&gt;activityName = "ManufacturaRevisionNegocio", &lt;/address&gt;
    &lt;address&gt;parameters = args&lt;/address&gt;
    &lt;address&gt;&lt;/address&gt;
    display instId + "fue cancelada"
    But it doesn&acute;t work, I don&acute;t know if thats the right way to send the notification to abort the instance or if I had to put the instance in a state of waiting or something like that, if so, do you know how to do it??
    Greeting and a lot of thanks, again.
    It throws this error:
    fuego.lang.ComponentExecutionException: No se ha podido ejecutar correctamente la tarea.
    Motivo: 'fuego.compiler.CompilerExceptionShell: clientBP1:6:1:El m&eacute;todo 'send' de la clase 'Notification' no se ha podido ejecutar correctamente.'.
    at fuego.compiler.FuegoInvokeable.invoke(FuegoInvokeable.java:445)
    at fuego.compiler.CodeRunner$DebuggerRunnable.runMethod(CodeRunner.java:706)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
    at fuego.lang.JavaObject.invoke(JavaObject.java:227)
    at fuego.component.Message.process(Message.java:587)
    at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:772)
    at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:747)
    at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:143)
    at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:135)
    at fuego.compiler.DebuggerPrincipal.processBatch(DebuggerPrincipal.java:64)
    at fuego.component.ExecutionThread.work(ExecutionThread.java:831)
    at fuego.component.ExecutionThread.run(ExecutionThread.java:409)
    at fuego.component.CustomExecution.next(CustomExecution.java:176)
    at fuego.web.execution.InteractiveExecution.process(InteractiveExecution.java:177)
    at fuego.web.execution.impl.WebInteractiveExecution.process(WebInteractiveExecution.java:54)
    at fuego.web.execution.InteractiveExecution.process(InteractiveExecution.java:223)
    at fuego.webdebugger.servlet.DebuggerServlet.doDebug(DebuggerServlet.java:148)
    at fuego.webdebugger.servlet.DebuggerServlet.doPost(DebuggerServlet.java:82)
    at fuego.webdebugger.servlet.DebuggerServlet.doGet(DebuggerServlet.java:66)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)
    Caused by: fuego.compiler.CompilerExceptionShell: clientBP1:6:1:El m&eacute;todo 'send' de la clase 'Notification' no se ha podido ejecutar correctamente.
    at fuego.compiler.Invoke$MethodCall.run(Invoke.java:1508)
    at fuego.compiler.Invoke.runCall(Invoke.java:783)
    at fuego.compiler.Invoke.run(Invoke.java:767)
    at fuego.compiler.Block.run(Block.java:304)
    at fuego.compiler.DoBlock.run(DoBlock.java:585)
    at fuego.compiler.Method.run(Method.java:999)
    at fuego.compiler.Method$Adaptor.run(Method.java:1190)
    at fuego.compiler.FuegoInvokeable.invoke(FuegoInvokeable.java:437)
    at fuego.compiler.CodeRunner$DebuggerRunnable.runMethod(CodeRunner.java:706)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
    at fuego.lang.JavaObject.invoke(JavaObject.java:227)
    at fuego.component.Message.process(Message.java:587)
    at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:772)
    at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:747)
    at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:143)
    at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:135)
    at fuego.compiler.DebuggerPrincipal.processBatch(DebuggerPrincipal.java:64)
    at fuego.component.ExecutionThread.work(ExecutionThread.java:831)
    at fuego.component.ExecutionThread.run(ExecutionThread.java:409)
    Caused by: fuego.lang.ComponentExecutionException: El m&eacute;todo 'send' de la clase 'Notification' no se ha podido ejecutar correctamente.
    at fuego.lang.ObjectTypeDescription.invokeMethod(ObjectTypeDescription.java:1482)
    at fuego.lang.MethodTypeDescription.invoke(MethodTypeDescription.java:1230)
    at fuego.compiler.Invoke$MethodCall.run(Invoke.java:1480)
    ... 22 more
    Caused by: java.lang.ClassCastException: java.lang.Integer
    at fuego.components.Notification.createDynamicObject(Notification.java:316)
    at fuego.components.Notification.send(Notification.java:139)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1410)
    at fuego.lang.ObjectTypeDescription.invokeMethod(ObjectTypeDescription.java:1463)
    ... 24 more
    Edited by: user646988 on 8/01/2009 06:38 AM

  • How to move an instance from one activity to another

    Hi all,
    Is it possible to move an instance from one activity to another using an external process? Is it possible to do this with PAPI and pass parameters to the instance in order to determine the instance's flow?
    Regards

    Yes it is possible using PAPI. I have just used PAPI to create instances . I have not tried the requirement which you want. But as per my knowledge it can be done.
    Good Luck
    Right Chord

  • How to Increase the retreving size of instances using PAPI filters.

    Hi,
    How to Increase the retreving size of instances using PAPI filters.
    In my engine database instance size exceeds 2500 then we are getting following exception.
    If we login in to user workspace able to see the instances but while trying to retrieve from PAPI getting below exception and showing the user's inbox aize as 0.
    In Process Admin console we set all the required parameters.
    Still I m getting the same problem.
    Can you please lgive mev the solution.
    <Mar 23, 2010 8:58:24 PM SGT> <Warning> <RMI> <BEA-080003> <RuntimeException thrown by rmi server: fuego.ejbengine.EJBProcessControl_1zamnl_EOImpl.getInstancesByFilter(Lfuego.papi.impl.j2ee.EJBSecureEngineInfo;Ljava.lang.String;Lfuego.papi.Filter;)
    java.lang.ClassCastException: cannot assign instance of java.util.HashSet to field fuego.view.FilterImpl.attributes of type java.util.List in instance of fuego.view.FilterImpl.
    java.lang.ClassCastException: cannot assign instance of java.util.HashSet to field fuego.view.FilterImpl.attributes of type java.util.List in instance of fuego.view.FilterImpl
         at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2032)
         at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1212)
         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1953)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
    Regards,
    Bharath.
    Edited by: bg57295 on Mar 24, 2010 6:45 PM

    Hi Bharath,
    Believe me, you have an incompatibility between different build#.
    PAPI has an instance cache. When certain process has more instances than the maximum specified, the cache is switch to status OPEN. That means, that PAPI will not be able to resolve some instance queries using the information in the cache. When that occurs, PAPI forward all those queries to the engine.
    The incompatibility introduced is in the communication between PAPI and Engine. So, you only get the exception when you have more instances than the maximum cache size.
    Regards,
    Ariel

  • Initiating BPM Process Instances from External Web Service Call

    I'm attempting to update the HelloWorld example so that I can create an instance of the process from an External Web Services Call rather than via the Workspace. Our current SOA Architecture is configured so that all BPM instances are managed through a .NET SmartClient via the Service Bus and the use of PAPI W/S and so I'm wishing to recreate this capability in the new BPM.
    I understand the replacement for PAPI W/S is Human Workflow so I've therefore updated and republished the HelloWorld Example with an Exposed 'TaskService' Service for the Human Task within the BPM Process.
    I've then attempted to reference the TaskService through our existing BPM, and have been able to import a number of generic WSDL's as follows:
    Task Service
    http://vmaquatestapp2:7001/integration/services/TaskService/TaskServicePort?WSDL
    Task Metadata Service
    http://vmaquatestapp2:7001/integration/services/TaskMetadataService/TaskMetadataServicePort?WSDL
    Task Query Service
    http://vmaquatestapp2:7001/integration/services/TaskQueryService/TaskQueryService?WSDL
    When I examine the available operations for these generic services, there are quite a lot, each of which have a fairly complex schema. I believe I should be using the TaskService: InitiateTask Operation to create an instance of my BPM Process but my questions are:
    - Is the above the correct method of interacting with BPM Instances from an external system such as the Service Bus?
    - Does anyone have any examples of a basic XML payload that would initiate a process instance?

    I created an process with a message start event and can call it from an external web service call. I can also pass input arguments and map those to process data objects. However I can not find how to return data as response to the external web service call as e.g. the process instance id.
    Is it possible to this?
    Gr,
    Gert Jan Kersten

  • When I should abort a instance, when I should not?

    Hi there.
    I'm designing a process that controls an insurance policy sale and that has a deadline for it's processing. If this deadline is reached, the process must go through a exception flow which will cancel the sale and decline the insurance policy. My question is: whenever this happens, I should end the process instance within ALBPM with an aborted status or by reaching the end activity after processing the exception?
    In other words, thinking in a generic way, one could question: is it okay, withing a modeling view, to abort an instance when a business exception occurs?

    Dear Right,
    I am working on a project where I need to do reporting using Hyperion from ALBPM work list/process instance data. The report needs to be generated on current instance data as well as completed or rejected instance data. Please confirm if my approach is correct or not.
    1) Use BAM or Data Mart database for the reporting on current instance.
    2)Use Archival Data for the Reporting on historical data for the instance that are completed and rejected.
    However, I have following question for that I didn't find any clear idea. I would appreciate if you get me some help here:
    + Our business process might stay longer for some cases, say could be a year or more before it gets approved or rejected. As per Bea documentation of Business Activity Monitoring (BAM) and Business Activity Data Mart (Data Mart), BAM records information about process instance performance and process workload over a recent time period, usually 24 hours where as the Data Mart stores data similar to BAM, but over longer periods of time.
    So what do you/Bea suggest/recommend to have out of BAM and Data Mart? Can it Data Mart hold data for such long.
    + For historical reporting:
    0) Does this archival happen from engine Db or BAM/Data Mart?
    0) As per Bea; process information is copied to the archive database after a process is completed or aborted, based on the archiving schedule configured in the Process Administrator in the Services pane of the Edit Engine section. And also ALBPM business processes do not require data from an instance once this instance has ended, so process instances are discarded upon instance expiration. So does this also flush out the process instance data from BAM/Data Mart as well or BAM/ Data Mart data will flush out as per duration configured in ALBPM. Please confirm.
    + There must have been some reason while designing the three different way to hold process instance data from:
    #1. Engine DB,
    #2. BAM/Data Mart,
    #3. Archival Database.
    Can you please throw some light why it has been designed this way?

  • Can we move back an instance from end to previous activity?

    Hi,
    Using Oracle BPM WL 10.3 MP2, Can we move back an instance from end to previous activity? If yes are there any ways to make this happen? I guess that instances which are aborted cannot be brought back from end activity? but not sure.
    Any ideas / suggestions?
    Thanks,
    -Sree

    If the instance was aborted due to an exception, you could have an exception handler which would allow you to handle the error, and then retry if desired...
    However, once the instance is at End, its done...
    -Kevin

  • Process Diagram of an instance using PAPI

    Hi,
    I`m trying to get que Process Diagram of an instance with PAPI using processGetDiagram but it doesn`t work, any ideas or examples?
    Thanks a lot

    I dont think there is any way to update the value of any instance variable directly by PAPI.
    What you can do is have a Global Activity with instance access from where you can access all the instance/ external variables.
    You can call this activity using PAPI and can send arguments telling it what to do.
    Let me know if this helps.

  • Error while aborting Mediator Instance

    Hi
    I am gettign below error while trying to abort a Mediator instance. I am using resequencer and trying to abort stucked instance.
    Error during Instance (3912039) Abort : java.rmi.RemoteException: EJB Exception: ; nested exception is: java.lang.RuntimeException: oracle.tip.mediator.infra.exception.MediatorException: ORAMED-01364:[Cannot Unlock Group] Group cannot be unlocked as it is not in error state "3kbEKN06ZRSX+kG7iEenYMuLBShyQ09wEFyb_zpmWXw=".Possible Fix:Group cannot be unlocked as it is not in error state
    Any suggestion on how to clean stucked instance. I have tried all JAVA API for the same and not able to abort this from EM console too.
    Thanks
    Vibzz

    hi pavan,
    i believe that oracle 8i are no longer supported by SAP.
    By default, SAP R/3 4.7 EE should come with Oracle 9i.
    Check your installer again.
    ardhian
    http://sapbasis.wordpress.com

  • How to pass arguments from PAPI to the process

    Can any one tell me How to pass arguments from PAPI to the process.

    The link Creating a new work item instance in a process using PAPI shows how to create instances on PAPI and pass in the variable information as they are being created.
    Provide some additional detail if you're interested in seeing how to pass in variable information using PAPI for scenarios other than instance creation.
    Dan

  • Cannot a get JSP page instance from a page being destroyed

    We have a J2EE app, using Struts + Tiles (build 1.1-b3), running on Win2KPro, Ora9ias v9.0.3. The application is roles-based, and different users see different versions of the same page based on their role authorizations. Occasionally, when multiple users in different roles are requesting the same page, the app returns the following exception:
    OracleJSP:
    JSP Error:
    Request URI:/fast/WEB-INF/jsp/tiles/layouts/baseLayout.jsp
    Exception:
    javax.servlet.ServletException: Cannot a get JSP page instance from a page being destroyed
         at oracle.jsp.runtimev2.JspPageInstFacade.getInstance(JspPageInstFacade.java:147)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:303)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at com.gal.fast.portal.web.SessionInitializedFilter.doFilter(SessionInitializedFilter.java:105)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:556)
         at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:119)
         at org.apache.struts.tiles.TilesUtilStrutsModulesImpl.doInclude(TilesUtilStrutsModulesImpl.java:124)
         at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:161)
         at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:703)
         at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:818)
         at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:467)
         at web2d_inf._jsp._tiles._layouts._baseLayout._jspService(_baseLayout.java:445)
         [SRC:/WEB-INF/jsp/tiles/layouts/baseLayout.jsp:149]
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at com.gal.fast.portal.web.SessionInitializedFilter.doFilter(SessionInitializedFilter.java:105)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:556)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1033)
         at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:269)
         at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:249)
         at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:303)
         at org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:401)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:505)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at com.gal.fast.portal.web.FastActionServlet.service(FastActionServlet.java:110)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at com.gal.fast.portal.web.SessionInitializedFilter.doFilter(SessionInitializedFilter.java:105)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:556)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:148)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:72)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:536)
    All the code in the two custom classes above ( com.gal.fast.portal.web.SessionInitializedFilter and com.gal.fast.portal.web.FastActionServlet ) has been commented out to the point that they are NOOP stubs.
    We only see this with multiple near-simultaneous requests for the same page with differet roles. It smells like a threading issue to me, but I'm no expert (hence this post). Any thoughts?
    --matt

    We have a J2EE app, using Struts + Tiles (build 1.1-b3), running on Win2KPro, Ora9ias v9.0.3. The application is roles-based, and different users see different versions of the same page based on their role authorizations. Occasionally, when multiple users in different roles are requesting the same page, the app returns the following exception:
    OracleJSP:
    JSP Error:
    Request URI:/fast/WEB-INF/jsp/tiles/layouts/baseLayout.jsp
    Exception:
    javax.servlet.ServletException: Cannot a get JSP page instance from a page being destroyed
         at oracle.jsp.runtimev2.JspPageInstFacade.getInstance(JspPageInstFacade.java:147)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:303)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at com.gal.fast.portal.web.SessionInitializedFilter.doFilter(SessionInitializedFilter.java:105)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:556)
         at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:119)
         at org.apache.struts.tiles.TilesUtilStrutsModulesImpl.doInclude(TilesUtilStrutsModulesImpl.java:124)
         at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:161)
         at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:703)
         at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:818)
         at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:467)
         at web2d_inf._jsp._tiles._layouts._baseLayout._jspService(_baseLayout.java:445)
         [SRC:/WEB-INF/jsp/tiles/layouts/baseLayout.jsp:149]
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at com.gal.fast.portal.web.SessionInitializedFilter.doFilter(SessionInitializedFilter.java:105)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:556)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:209)
         at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1033)
         at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:269)
         at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:249)
         at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:303)
         at org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:401)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:505)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at com.gal.fast.portal.web.FastActionServlet.service(FastActionServlet.java:110)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
         at com.gal.fast.portal.web.SessionInitializedFilter.doFilter(SessionInitializedFilter.java:105)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:556)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:306)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:148)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:72)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:536)
    All the code in the two custom classes above ( com.gal.fast.portal.web.SessionInitializedFilter and com.gal.fast.portal.web.FastActionServlet ) has been commented out to the point that they are NOOP stubs.
    We only see this with multiple near-simultaneous requests for the same page with differet roles. It smells like a threading issue to me, but I'm no expert (hence this post). Any thoughts?
    --matt

Maybe you are looking for