Avoid persistent faulted BPEL process instances in database

Hello All,
I have a doubt relative to Memory Optimization, I've configured a BPEL process like a transient process using these lines:
<property name="bpel.config.inMemoryOptimization">true</property>
<property name="bpel.config.completionPersistPolicy">off</property>
My problem starts when I have a faulted instance, because this instance creates a row in the CUBE_INSTANCE table in the database and I have the requiriment of avoid persistent instances in datase.
If I change the the value of completionPersistPoliciy property to fault, the behaviour is the same...
<property name="bpel.config.inMemoryOptimization">true</property>
<property name="bpel.config.completionPersistPolicy">faulted</property>
Anybody knows how to avoid persistent faulted instances?
Thanks in advance,
Edited by: luismiguelfdez on Mar 26, 2012 1:59 AM

When an unhandled fault happens regardless of these flags, bpel will persist the audit information for the instance, so cube_instance table has a record and EM could show this in meaningful way.
Docs should be updated in SOA PS5(11.1.1.6.0) release with above information.

Similar Messages

  • Oracle SOA Suite 11g (BPEL Process) Dependency with Database

    Folks,
    Oracle SOA Suite 11g requires a relational DB like Oracle, SQL Server to maintain the Metadata for the SOA & Related Components.
    Can you plz let me know with your experience - what should happen to a running BPEL Process if the database (SOAINFRA) is down? Being very specific -
    1, Does/Should end-point become inaccessible? Or Does service remains accessible but throws service remote-fault execption?
    2, What happens to a process which is in running state?
    My experience in these scenarios is not encouraging; we have notices the following -- during the time when our SOAINFRA database is down, the in-process (running) instances are left in a running state. These instances do not complete or move forward even when the Database is back. These instances do not provide any information in the Enterprise Manager.
    Also, if DB is down WSDL's are still accesssible, is this right way?
    If this is how SOA does work then I would doubt for its merit……...your thought plz????
    Thanks & Regards
    Shyam Kumar

    I am not posting here because I'm smart but because your questions look interesting.
    during the time when our SOAINFRA database is down, the in-process (running) instances are left in a running stateYou know that BPEL is a state-full product and it needs database support for persisting the process of state so if database goes down it is an expected behavior that processes may stuck in the same state where they were when DB went down. I don't see anything wrong with it.
    These instances do not complete or move forward even when the Database is back.Instances should auto/manually recoverable. If this is not the case then you may raise a SR with support.
    These instances do not provide any information in the Enterprise Manager. What information you could not find? Can you be more clear on this?
    Also, if DB is down WSDL's are still accesssible, is this right way?Yes, again it's expected because design time data also gets stored in DB only and hence if DB goes down, any design time data may not be accessible.
    If this is how SOA does work then I would doubt for its merit……...your thought plz????Why so? Alternative of DB is physical memory and that I don't think is perfect for long running BPEL processes and their heavy design time data. Moreover, it will create problems in terms of auditing, support and maintenance. If your requirement is such that it does not need any long running BPEL processes and even auditing is not required and use case is simple routing and transformation with no DB dependency then you may go for OSB which is a stateless product. BPEL is generally used for long running processes and hence DB is the best option, in my opinion at least.
    Regards,
    Anuj

  • Error in posting message to BPEL process instance

    Hi
    There is following Error associated with BPEL Process while invoking another BPEL Process called-Request For Invoice Information The SOA Server Log associated with this error is as follows-
    [2012-11-06T10:08:37.157+05:30] [soa_server1] [ERROR] [] [oracle.soa.services.workflow.task] [tid: [ACTIVE].ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: weblogic] [ecid: 74be42f58e7a71c3:-749bd11d:13abbc92686:-8000-000000000000c717,1:31260] [APP: soa-infra] <.> Error in posting message to BPEL process instance.[[
    Error in posting message to BPEL process instance 200458 for callback operation onTaskCompleted. The task is associated with workflow default/RequestForInvoiceInformation!1.0/RequestForInvoiceInformationHumanTask.
    This could be caused if the BPEL instance is terminated. If it is not, this is possibly a system error.
    ORABPEL-30015
    Error in posting message to BPEL process instance.
    Error in posting message to BPEL process instance 200458 for callback operation onTaskCompleted. The task is associated with workflow default/RequestForInvoiceInformation!1.0/RequestForInvoiceInformationHumanTask.
    This could be caused if the BPEL instance is terminated. If it is not, this is possibly a system error.
         at oracle.bpel.services.workflow.task.impl.WorkflowCallback.onTaskComplete(WorkflowCallback.java:113)
         at oracle.bpel.services.workflow.task.impl.TaskService.invokeCallbacks(TaskService.java:6911)
         at oracle.bpel.services.workflow.task.impl.TaskService.performPostActionOperation(TaskService.java:7628)
         at oracle.bpel.services.workflow.task.impl.TaskService.localHandleRoutingSlipInterpretationResult(TaskService.java:3564)
         at oracle.bpel.services.workflow.task.impl.TaskService.handleRoutingSlipInterpretationResult(TaskService.java:3688)
         at oracle.bpel.services.workflow.task.impl.TaskService.evaluateRoutingSlipTaskAssignment(TaskService.java:3490)
         at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcomeAndEvaluateRoutingSlip(TaskService.java:3445)
         at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcome(TaskService.java:3153)
         at oracle.bpel.services.workflow.task.impl.TaskService.updateTask(TaskService.java:2011)
         at sun.reflect.GeneratedMethodAccessor1826.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:601)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.bpel.services.workflow.common.WorkflowServiceCacheEventAdvice.invoke(WorkflowServiceCacheEventAdvice.java:91)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at oracle.bpel.services.workflow.test.workflow.ExceptionTestCaseBuilder.invoke(ExceptionTestCaseBuilder.java:155)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at oracle.bpel.services.common.dms.MethodEventAspect.invoke(MethodEventAspect.java:70)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at oracle.bpel.services.common.dms.MethodPhaseEventAspect.invoke(MethodPhaseEventAspect.java:82)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy246.updateTask(Unknown Source)
         at oracle.bpel.services.workflow.task.ejb.TaskServiceBean.updateTask(TaskServiceBean.java:214)
         at sun.reflect.GeneratedMethodAccessor1825.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:601)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.oracle.pitchfork.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:34)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.oracle.pitchfork.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:42)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy307.updateTask(Unknown Source)
         at oracle.bpel.services.workflow.task.ejb.TaskServiceBean_399vcw_EOImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
         at oracle.bpel.services.workflow.task.ejb.TaskServiceBean_399vcw_EOImpl.updateTask(Unknown Source)
         at oracle.bpel.services.workflow.task.ejb.TaskServiceBean_399vcw_EOImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: java.lang.NullPointerException
         at oracle.fabric.CubeServiceEngine.post(CubeServiceEngine.java:626)
         at oracle.integration.platform.blocks.mesh.AsynchronousMessageHandler.doCallbackPost(AsynchronousMessageHandler.java:76)
         at oracle.integration.platform.blocks.mesh.MessageRouter.post(MessageRouter.java:195)
         at oracle.integration.platform.blocks.mesh.MeshImpl.post(MeshImpl.java:215)
         at sun.reflect.GeneratedMethodAccessor1589.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:601)
         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy310.post(Unknown Source)
         at oracle.bpel.services.workflow.fabric.WorkflowServiceEngine.postToMesh(WorkflowServiceEngine.java:1560)
         at oracle.bpel.services.workflow.fabric.WorkflowServiceEngine.doCallback(WorkflowServiceEngine.java:1683)
         at oracle.bpel.services.workflow.task.impl.WorkflowCallback.postToFabric(WorkflowCallback.java:346)
         at oracle.bpel.services.workflow.task.impl.WorkflowCallback.onTaskComplete(WorkflowCallback.java:109)
         ... 58 more
    Thanks
    Snehal

    The log entry shows that user : WALMART is missing on your user-properties.xml file.
    Please check that you have this user properly configured with jazn. Which version of BPEL you are using and what are the changes you are trying to do to the deployed project ?

  • BPEL process instance getting created twice

    Hi,
    We have B2B - BPEL integration developed using AQ and we are using this for importing 850 Purchase Orders. It is a simple flow involving dequeuing 850 transaction message by the AQ adapter and processing the message through Receive, Transform and Invoke activities to invoke a PL/SQL procedure to insert data into the Order Management Open Interface tables.
    The issue we are facing is that the BPEL process instance is getting generated twice resulting in duplicate rows in the interface tables.
    Please if any one faced this kind of issue, let me know the solution.
    Regards,
    Balu

    This issue is closed. We were able to identify to cause for the issue. The EDI document came in with two POs which generated two separate messages.

  • BPEL Console In-Flight BPEL Process Instances

    Hi!
    We are using BPEL Console 10.1.3.4.0 to monitor all BPEL Processes, but we cannot see any In-Flight BPEL Process Instances in the Dashboard.
    Can anybody tell me what's wrong
    Thanks in advance!
    /Nick

    So, you have BPEL flows that are starting and completing, but do you have any flows that you think will run long enough for you to see them on In-flight section of the dashboard.
    In our project, the only flows that I typically see there are flows that are waiting on a receive, or on a "wait activity", other flows synchronous/asynchronous do not execute for long enough for them to be visable as being in-flight, unless I 'catch' then just after they have started.

  • API / Webservice to access the state information of a bpel process instance

    Hi,
    i have a question about the ccBPM runtime API.
    Is there a API or Webservice provided by SAP XI/PI, which accesses the state information of a bpel process instance.
    "access" means:
    1. At which activity is the current process instance located
    2. Access to the context information of the process
    Thanks and best regards
    Di

    Hi Swarup,
    Thanks for your quick reply.
    I designed a simple BPM process with less than 10 activities. To monitor the process running state i want to build a small AddOn instead of using the standard xi monitoring tool because of its complexibility.
    Thus i am looking for some useful informations about a api or webservice provided direktly by sap, which enables me to access (read only) the state information of a process instance. for exmaple at which activity is the current process instance located?
    Best regards
    Di

  • How to update the payload of a BPEL process instance

    Hi I have another question.
    How do I update the payload of a BPEL process instance without the activity being a Human Task. I know there are ton's of example showing how to update the payload of a user task using BPEL API's. But in my case I need to update the payload of a BPEL process instance which has no human task.

    Thanks
    For confirming that the payload in the BPEL process instance is read-only. Now I can see what alternatives I come up with besides the DB save option.
    Guys if you can take the time to answer/comment on another question I have posted in this forum that will be great
    here is the link
    Multi step Human Task
    Regards,
    Jayesh Nazre
    MCSD, MCSE, SCJP, PMP

  • In-Flight BPEL Process Instances not getting Completed

    Hi,
    I have BPEL P.M. 10.1.3.1.0 running. In BPEL Console I can see few process in
    In-Flight BPEL Process Instances section. But in realty those process should be in completed section. When I login as bpeladmin in worklist application, I see those process are in completed status.
    What can be issue? Any one come across this? Any patch available from metalink to resolve this?
    Need help resolving this issue.
    Regards,
    Jigar

    I see this too sometimes. In my case it's mostly due to the fact that the first activity that takes places after the callback fails. E.g. a transform that fails with a type error.
    Check the bpel domain log file to find any errors in your bpel that's receiving the callback. There's probably something wrong with an assign or transform there.
    The domain logfile can be found @: $ORACLE_HOME/bpel/domains/<your_domain>/logs/domain.log
    HTH,
    Bas

  • How to handle no of BPEL process Instances

    Hi,
    I am facing issue at my cleint. Here is the scenario
    1) I have Business Event
    2) BPEL is subscribed to event using Oracle Application Adapter
    3) No every time new message comes in queue, causes new BPEL process Instances
    4) So suppose there are 1 million message per day then BPEL Server is dying.
    What is the best way to handle it?

    This is managed via the dspMaxThreads and ReceiverThreads parameters, by default these are set to poor values, dspMaxThreads by default is set to 100 (domain level) whereas by default ReceiverThreads is set to 40. According to the performance guide the total of dspMaxThreads for all domains should be <= ReceiverThreads, so making some adjustment to the dspMaxThreads parameter should help.

  • BPEL Process Instance Hangs When received a Fault

    Hello.
    I have this BPEL Workflow:
    Principal
    |
    |---> BS_Insert_Upip_Data
    | |
    | |---> BS_getUtenteFromRNUIntoUPIP
    | |
    | |---> saveUtente
    | ...
    |
    |---> setEpisodio
    |
    My problem consist in the following:
    When BS_Insert_Upip_Data received a fault from BS_getUtenteFromRNUIntoUPIP or saveUtente, it hangs.
    This is a sample of the XML from audit tab that I received. The name of the process are different from the above, but the struck is the same.
    I have mark as Bold the Fault message. Another thing, the call of process BS_getUtenteFromRNUIntoUPIP don't appear on BPEL Console.
    Can any one give me an help ?
    Thanks
    <audit-trail>
    <event sid="0" cat="2" type="2" n="0" date="2008-10-23T14:44:39.626+01:00">
    <message>New instance of BPEL process "BS_Insert_Upip_Data" initiated (#"23338496").</message>
    </event>
    <event sid="BpPrc0.1" cat="1" type="2" label="process" n="1"
    date="2008-10-23T14:44:39.667+01:00" psid="0">
    <message>cr</message>
    </event>
    <event sid="BpTry0.2" cat="1" type="2" n="2"
    date="2008-10-23T14:44:39.667+01:00" psid="BpPrc0.1">
    <message>cr</message>
    </event>
    <event sid="BpSeq0.3" cat="1" type="2" label="sequence" n="3"
    date="2008-10-23T14:44:39.667+01:00" psid="BpTry0.2">
    <message>cr</message>
    </event>
    <event sid="BpSeq0.3" cat="2" type="2" wikey="23338496-BpRcv0-BpSeq0.3-1"
    label="receiveInput" n="4" date="2008-10-23T14:44:39.668+01:00">
    <message>Received "inputVariable" call from partner "client"</message>
    <details>
    <inputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="payload">
    <BS_Insert_Upip_DataProcessRequest xmlns:ns1="http://xmlns.oracle.com/BS_Insert_Upip_Data"
    xmlns="http://xmlns.oracle.com/BS_Insert_Upip_Data">
    <ns1:input>
    <ns1:Utente>
    <ns1:Num_Cartao_Sns>123456</ns1:Num_Cartao_Sns>
    <ns1:Problemas/>
    <ns1:Medicamentos_Cronicos/>
    </ns1:Utente>
    <ns1:Episodio>
    <ns1:Num_Episodio>987654321</ns1:Num_Episodio>
    <ns1:Cod_Inst_Saude>654321</ns1:Cod_Inst_Saude>
    <ns1:Dta_Admissao>2008-08-22T11:27:00</ns1:Dta_Admissao>
    <ns1:Dta_Consulta/>
    <ns1:Dta_Alta/>
    <ns1:Cod_Destino/>
    <ns1:Cod_Inst_Saude_Destino/>
    <ns1:Cod_Medico>12112</ns1:Cod_Medico>
    <ns1:Notas_Medicas/>
    <ns1:Dta_Obs/>
    <ns1:Cod_Prioridade_Triagem/>
    <ns1:Cod_Local>U</ns1:Cod_Local>
    <ns1:Des_Local>Urgencia</ns1:Des_Local>
    <ns1:Causas/>
    <ns1:Diagnosticos/>
    <ns1:Medicacao/>
    <ns1:Mcdts/>
    <ns1:Procedimentos/>
    </ns1:Episodio>
    </ns1:input>
    </BS_Insert_Upip_DataProcessRequest>
    </part>
    </inputVariable>
    </details>
    </event>
    <event sid="BpScp0.4" cat="1" type="2" label="Insere_Utente_Upip" n="5"
    date="2008-10-23T14:44:39.668+01:00" psid="BpSeq0.3">
    <message>cr</message>
    </event>
    <event sid="BpTry1.5" cat="1" type="2" n="6"
    date="2008-10-23T14:44:39.668+01:00" psid="BpScp0.4">
    <message>cr</message>
    </event>
    <event sid="BpSeq2.6" cat="1" type="2" label="sequence" n="7"
    date="2008-10-23T14:44:39.668+01:00" psid="BpTry1.5">
    <message>cr</message>
    </event>
    <event to="Invoke_BS_getUtenteFromRNUIntoUpip_InputVariable" sid="BpSeq2.6"
    cat="2" type="1" wikey="23338496-BpAss1-BpSeq2.6-1"
    label="Client_Input_Into_BS_getUtenteFromRNUIntoUpip" n="8"
    date="2008-10-23T14:44:39.668+01:00">
    <message>Updated variable "Invoke_BS_getUtenteFromRNUIntoUpip_InputVariable"</message>
    <details>
    <Invoke_BS_getUtenteFromRNUIntoUpip_InputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="payload">
    <BS_getUtenteFromRNUIntoUPIPProcessRequest xmlns:ns1="http://xmlns.oracle.com/BS_getUtenteFromRNUIntoUPIP"
    xmlns="http://xmlns.oracle.com/BS_getUtenteFromRNUIntoUPIP">
    <ns1:Num_Cartao_Sns>178924781</ns1:Num_Cartao_Sns>
    </BS_getUtenteFromRNUIntoUPIPProcessRequest>
    </part>
    </Invoke_BS_getUtenteFromRNUIntoUpip_InputVariable>
    </details>
    </event>
    <event sid="BpSeq2.6" cat="2" type="4"
    label="Invoke_BS_getUtenteFromRNUIntoUpip"
    wikey="23338496-BpInv0-BpSeq2.6-2"
    partnerWSDL="http://www:80/orabpel/develop/BS_getUtenteFromRNUIntoUPIP/1.0/BS_getUtenteFromRNUIntoUPIP?wsdl"
    n="9" date="2008-10-23T14:45:54.823+01:00">
    <message>Faulted while invoking operation "process" on provider "BS_getUtenteFromRNUIntoUPIP".</message>
    <details>
    <messages>
    <input>
    <Invoke_BS_getUtenteFromRNUIntoUpip_InputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="payload">
    <BS_getUtenteFromRNUIntoUPIPProcessRequest xmlns:ns1="http://xmlns.oracle.com/BS_getUtenteFromRNUIntoUPIP"
    xmlns="http://xmlns.oracle.com/BS_getUtenteFromRNUIntoUPIP">
    <ns1:Num_Cartao_Sns>178924781</ns1:Num_Cartao_Sns>
    </BS_getUtenteFromRNUIntoUPIPProcessRequest>
    </part>
    </Invoke_BS_getUtenteFromRNUIntoUpip_InputVariable>
    </input>
    <fault>
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="summary">
    <summary>when invoking locally the endpoint
    'http://www:80/orabpel/develop/BS_getUtenteFromRNUIntoUPIP/1.0',
    ; nested exception is:
    javax.resource.ResourceException:
    RollbackException: Transaction has been marked for
    rollback: Timed out</summary>
    </part>
    <part name="detail">
    <detail>javax.resource.ResourceException:
    RollbackException: Transaction has been marked for
    rollback: Timed out</detail>
    </part>
    </remoteFault>
    </fault>
    </messages>
    </details>
    </event>
    <event sid="BpSeq2.6" cat="2" type="4" wikey="23338496-BpInv0-BpSeq2.6-2"
    label="Invoke_BS_getUtenteFromRNUIntoUpip" n="10"
    date="2008-10-23T14:45:54.824+01:00">
    <message>"{http://schemas.oracle.com/bpel/extension}remoteFault" has been
    thrown.</message>
    <details>
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="summary">
    <summary>when invoking locally the endpoint
    'http://www:80/orabpel/develop/BS_getUtenteFromRNUIntoUPIP/1.0',
    ; nested exception is: javax.resource.ResourceException:
    RollbackException: Transaction has been marked for
    rollback: Timed out</summary>
    </part>
    <part name="detail">
    <detail>javax.resource.ResourceException: RollbackException:
    Transaction has been marked for rollback: Timed out</detail>
    </part>
    </remoteFault>
    </details>
    </event>
    <event sid="BpSeq2.6" cat="1" type="2" n="11"
    date="2008-10-23T14:45:54.824+01:00">
    <message>cl</message>
    </event>
    <event sid="BpCAl0.7" cat="1" type="2" label="catchAll" n="12"
    date="2008-10-23T14:45:54.824+01:00" psid="BpScp0.4">
    <message>cr</message>
    </event>
    <event sid="BpSeq1.8" cat="1" type="2" label="sequence" n="13"
    date="2008-10-23T14:45:54.824+01:00" psid="BpCAl0.7">
    <message>cr</message>
    </event>
    <event to="outputVariable" sid="BpSeq1.8" cat="2" type="1"
    wikey="23338496-BpAss0-BpSeq1.8-1" label="Assign_Output" n="14"
    date="2008-10-23T14:45:54.825+01:00">
    <message>Updated variable "outputVariable"</message>
    <details>
    <outputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="payload">
    <BS_Insert_Upip_DataProcessResponse xmlns="http://xmlns.oracle.com/BS_Insert_Upip_Data">
    <Result_Code>-1</Result_Code>
    <Result_Msg/>
    </BS_Insert_Upip_DataProcessResponse>
    </part>
    </outputVariable>
    </details>
    </event>
    <event to="outputVariable" sid="BpSeq1.8" cat="2" type="1"
    wikey="23338496-BpAss0-BpSeq1.8-1" label="Assign_Output" n="15"
    date="2008-10-23T14:45:54.825+01:00">
    <message>Updated variable "outputVariable"</message>
    <details>
    <outputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="payload">
    <BS_Insert_Upip_DataProcessResponse xmlns="http://xmlns.oracle.com/BS_Insert_Upip_Data">
    <Result_Code>-1</Result_Code>
    <Result_Msg>[BS_Insert_Upip_Data] Erro a Executar o
    BS_getUtenteFromRNUIntoUPIP.</Result_Msg>
    </BS_Insert_Upip_DataProcessResponse>
    </part>
    </outputVariable>
    </details>
    </event>
    <event sid="BpSeq1.8" cat="2" type="2" wikey="23338496-BpRpl0-BpSeq1.8-2"
    label="Reply_Output" n="16" date="2008-10-23T14:45:54.825+01:00">
    <message>Reply to partner "client".</message>
    <details>
    <outputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="payload">
    <BS_Insert_Upip_DataProcessResponse xmlns="http://xmlns.oracle.com/BS_Insert_Upip_Data">
    <Result_Code>-1</Result_Code>
    <Result_Msg>[BS_Insert_Upip_Data] Erro a Executar o
    BS_getUtenteFromRNUIntoUPIP.</Result_Msg>
    </BS_Insert_Upip_DataProcessResponse>
    </part>
    </outputVariable>
    </details>
    </event>
    </audit-trail>

    We have tested this same scenario for several services and are experiencing the same result... timing out instead of returning the fault. This is a critical issue for us and would prevent us from implementing this software.

  • Invoke OnMessage activity of a running BPEL process instance...

    Hi,
    We are using Oracle BPEL 10.1.2.0.2. I am willing to invoke a running instance of a BPEL process (Timer) in following scenario:
    The 'Timer' BPEL Process gets initiated, and logs its instance-id into the database
    'Timer' process waits on an OnMessage activity for another process to invoke it
    Another BPEL process selects the instance-id of 'Timer' process from the database
    The question is: in the above scenario, can the 2nd BPEL process invoke the OnMessage activity of the Timer BPEL process. I did search through the Locator API but was unable to find a method which can invoke a running BPEL instance.
    I am not willing to use correlation here because correlation does not guaranty the invocation of the target BPEL process and also does not generate any error if no instance gets invoked.
    Thanks,
    Upendra Jariya.

    JDK 5.0 includes sample code for java.lang.management API in the <JDK>/demo/management directory. In particular, demo/management/VerboseGC demonstrates how to use the java.lang.management API to print GC statistics in a similar way to -verbose:gc.
    You can reference this demo program and make appropriate modification, for example, just to call java.lang.management.MemoryMXBean.setVerbose() operation to turn on/off the -verbose:gc tracing.

  • How does a BPEL process instance know it has been cancel()ed?

    The javadoc for the IInstanceHandle cancel() method says, "When an activity is cancelled, the performer of the activity is notified of the cancellation and is given an opportunity to rollback or cancel any work that has already been done on behalf of the activity."
    How exactly is the performer of the activity notified? Some kind of fault? Can one code a "cancel handler" in the BPEL process, or is the "rollback or cancel" all done behind the scenes?
    Either a full answer or a pointer to the appropriate documentation (which I haven't yet been able to find) would be fine. Thanks.

    The BPEL instance can be canceled via the BPEL API or via console (Abort instance) or due to an error. Then the BPEL Process Manager will detect this and cancel the running instance. The instance will do a transaction rollback, depending if it was a global (XA) or local transactions. This whole mechanism is executed behind the scenes.
    Marc

  • BPEL process instances remain in-flight

    Hi
    I've got a BPEL process (GetUpdates) that calls a couple of other asynchronous BPEL processes (CommitPerson, CommitAddress etc) all of which are deployed on the same SOA server.
    Although most of the processes complete, quite a few instances of the GetUpdates process just sit in an Active state. The BPEL console shows GetUpdates has made a call to another process (for example CommitAddress) and it is apparently waiting for a response. However when I examine the cube_instance table in the dehydration store I can only find 1 instance relating to the particular process. Is that correct?
    If I then try to re-run these particular failed updates (by modifying the sequencing table that GetUpdates polls) the processes complete without any issue (and records exist in the cube_instance table for each of the processes that have been called as well).
    There can be a large number of requests being processed so could this problem be due to the server being under too much load, with the invoke being lost in the ether somewhere?!?
    Is there any documentation that explains the workings of the dehydration store or the BPEL server itself? Also what log files I should be looking at? (I'd really like to understand what's happening under the covers!!!)
    We're currently only using 10.1.3.1 SOA Suite so we should probably upgrade to 10.1.3.3 to see if that fixes anything.
    Any help or advice in the meantime would be great.
    Thanks
    Robin

    Hi
    Just thought I'd update this posting with my findings ....
    I think that the reason the instances remained inflight was simply because they were making calls to synchronous processes that were timing out.
    The default timeout setting for synchronous processes is from what I've read 45 seconds. The process instances that remained inflight were calling other (asynchronous) BPEL processes, that in turn called synchronous E-Business suite APIs that were timing out.
    I managed to simulate the above some time ago with dummy BPEL processes, however I have only just now (after several months of dealing with Oracle Support!) managed to resolve the E-Business suite problem that was causing the synchronous process to timeout.
    Anyway now that is resolved, we no longer get the large number of process instances remaining inflight ... and the updates are now flying along on the server!!
    Therefore the issue was a very simple one - timeout of synchronous processes. Unfortunately it wasn't all that obvious that it was happening in the first place(!) ... and it took some time to trace the actual culprit ... and even longer to find a solution (which we had to come up with ourselves ... without much help from support!) ... hence the amount of time that has passed from me creating this message and replying to it!
    Anyway I hope this post may help others in case they stumble upon a similar issue.

  • Is it possible to trigger a bpel process from a database object.

    Hi,
    We want to schedule a bpel process to run daily .So we want to trigger it from a database job.
    Is it possible to call a bpel process from database..?
    Or
    Is there any way to schedule a bpel process from bpel server it self.
    Thank you
    Gayaz

    If you know about DBMS_JOBs then I would say the easiest way to invoke a BPEL process is via the AQ adapter. You just need to populate an AQ and a way you go. The good thing about this is that if SOA SUite is down when the schedule is run you don't need to retry, it will be picked up when it comes online again.
    cheers
    James

  • PHP always invokes Two BPEL process Instances

    Hello All:
    I have a BPEL process that I want to invoke from a PHP form. The problem that I'm having is that every time that I invoke the BPEL process from PHP, two instances of that BPEL process get created and invoked in the BPEL manager.
    Has anyone experienced this problem? I know that when I log into the BPEL console and initiate a test instance, I only get one, so my feeling is that it may be PHP. Here is a list of my environments:
    BPEL Server Environment
    OS Version - Microsoft Windows XP
    Oracle SOA Suite v10.1.3.1.0
    Oracle BPEL Console v10.1.3.1.0
    Client Environment
    Server Software - Apache/2.0.55 (Win32)
    OS Version - Microsoft Windows XP
    PHP Version - 5.1.4
    Zend Engine Version - 2.1.0
    Here is my PHP code for invoking the BPEL process:
    <?php
    $wsdl = 'http://localhost:8888/orabpel/default/ChangeCustomerName/1.0/ChangeCustomerName?wsdl';
    try {
         $client = new SoapClient($wsdl);
         $return = $client->process(array("cust_account_id"=>167484,"new_cust_name"=>"TESTING>"));
         if ($return->return_code == 'E') {
         echo 'Error: '.$return->return_message;
         } else {
         echo 'Success!';
    } catch (SOAPFault $e) {
    var_dump($e);
    ?>
    Again the problem is not that I can't invoke a BPEL process or that the BPEL process does not function properly, it is that when I do invoke it from PHP, I get two instances in BPEL.
    Thanks,
    Ben

    If you are using a tool like: soapui.org (Opensource SOAP client tool), and create a soap request, do you get the same behavior. If so, there is an issue in BPEL, otherwise in your PHP environment.

Maybe you are looking for