Parallel flow

Hi,
We have the following requirement. We have a manual task that should be either completed by a user , or if a specified time duration expires it should be automatically completed. We tried using jeopardy notification , but through the jeopardy notification automation we can't use the completeTaskOnExit in order to proceed the task. We also tried using a parallel flow , with the manual task in the first parallel flow and a timer delay on the second parallel flow , but we were not able to complete the manual task in the first parallel flow, when the timer delay expired.
If you have any experience regarding parallel flows , could you pls help?
Thanks

Hi again,
I am using the following xquery in the jeopardy tab of the automated task :
declare namespace oms="urn:com:metasolv:oms:xmlapi:1";
declare namespace context = "java:com.mslv.oms.automation.TaskContext";
declare namespace automator = "java:oracle.communications.ordermanagement.automation.plugin.ScriptReceiverContextInvocation";
declare variable $automator external;
declare variable $context external;
let $run :=
<oms:Run>
automator:setUpdateOrder($automator,"false"),
context:completeTaskOnExit($context, "next")
</oms:Run>
where (fn:exists($run))
return
$run/oms:Null
but i am getting the following error : External object has wrong class (is class com.mslv.oms.automation.OrderNotificationContextBeanLocal, expected interface com.mslv.oms.automation.TaskContext) . If i use the following :
declare namespace context = "java:com.mslv.oms.automation.OrderNotificationContext"; i cannot use the completeTaskOnExit function in my xquery, and i get the following error :
Cannot find a matching 2-argument function named {java:com.mslv.oms.automation.OrderNotificationContext}completeTaskOnExit()
Can you please help?

Similar Messages

  • Cancelling an async call in parallel flow activity

    Hi all,
    As known, each branch of a parallel flow activity must be completed for rest of the BPEL execution continues. Let me expose a scenario:
    Imagine you need to get the current market value of the euro. You have 3 different sources of information that deliver the same result. Using parallel flow activity, you perform calls to these 3 sources. Once the first source calls back, it´s not necessary to wait for the others callback, because you already have the information that you need in your hands. How can I cancel the other waiting async calls? In WLI, we set up the parallel flow as AND or OR type. Using AND (+) means that all branch must be completed so that the process continues. Using OR (-) means that once the first branch is finished, the others will be ignored (cancelled) and the process continues. How can I get the same feature in BPEL?

    Hi Gustavo,
    There may be easier way to do this, but somehow it's not striking at the moment. In the meantime, you can try the following and see. If i get more robust and easier solution, i'll post it here.
    Just thinking aloud here:
    1) Throw a fault e.g. ResponseRecieved in each branch as soon as the branch recieves a response. The fault has to be handled in a fault handler associated with a scope containing the parallel flow. You can leave the fault handler "empty" (no-oos) and proceed with the rest of the activities.
    The above should allow the control to proceed with the activities next to the flow.
    OR
    2) In each flow, as soon as you receive a response after receive activity, invoke a callback port type of the rest of the asynchronous calls and send a dummy callback message. This should mark the completion of the receive activities in other branches. I think correlaiton needs to be handled here.
    Please try if you have not already done so and let me know.
    Thanks-
    www.ibiztrack.com
    BPEL/ESB Training:
    http://www.ibiztrack.com/html/oracle-bpel-soa-training.html

  • Human task - Parallel flow - sharing payload

    Hi All
    Can I have a human task that is assigned parallely to two different user groups, and when the user in one of the group changes/updates the payload, the user in the other group (the other branch of the parallel flow) is able to see the change?
    Thanks
    Satinder

    Hello,
    I have the same problem can anybody help! My project has been locked in this point. if any body can help I do highly appropriate it.
    Thank you so much

  • Parallel Flow invokes async services with incorrect parameters

    Hi
    I'm calling an async service using 2 partnerlinks in a parallel flow.
    The input variables are being assigned correctly but one of the invokes is using the wrong values.
    The problem appears to be around the use of a shared variable (Invoke_initiate_InputVariable) that is 'copied' to each of the invoke variables
    On invocation both services are iincorrectly nvoked with:
    <Invoke_initiate_InputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <HumanTaskProcessRequest xmlns="http://itv.com/HumanTask">
                   <Production/>
                   <HumanTask>
                        <Title>Title2</Title>
                        <Priority>2</Priority>
                        <UserGroups>STC</UserGroups>
                   </HumanTask>
              </HumanTaskProcessRequest>
         </part>
    </Invoke_initiate_InputVariable>
    I can get the process to work if I remove all references to the variable Invoke_initiate_InputVariable - can anyone explain this behaviour?
    Example BPEL code:
    <process name="ParallelTest" targetNamespace="http://itv.com/ParallelTest"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns1="http://itv.com/HumanTask"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:client="http://itv.com/ParallelTest"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <partnerLinks>
    <partnerLink name="client" partnerLinkType="client:ParallelTest"
    myRole="ParallelTestProvider"
    partnerRole="ParallelTestRequester"/>
    <partnerLink myRole="HumanTaskRequester" name="HumanTask_1"
    partnerRole="HumanTaskProvider"
    partnerLinkType="ns1:HumanTask"/>
    <partnerLink myRole="HumanTaskRequester" name="HumanTask_2"
    partnerRole="HumanTaskProvider"
    partnerLinkType="ns1:HumanTask"/>
    </partnerLinks>
    <variables>
    <variable name="inputVariable"
    messageType="client:ParallelTestRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:ParallelTestResponseMessage"/>
    <variable name="Invoke_initiate_InputVariable"
    messageType="ns1:HumanTaskRequestMessage"/>
    <variable name="Invoke_1_initiate_InputVariable"
    messageType="ns1:HumanTaskRequestMessage"/>
    <variable name="Invoke_2_initiate_InputVariable"
    messageType="ns1:HumanTaskRequestMessage"/>
    <variable name="Receive_1_onResult_InputVariable"
    messageType="ns1:HumanTaskResponseMessage"/>
    <variable name="Receive_2_onResult_InputVariable"
    messageType="ns1:HumanTaskResponseMessage"/>
    </variables>
    <sequence name="main">
    <receive name="receiveInput" partnerLink="client"
    portType="client:ParallelTest" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <assign name="Assign_2">
    <copy>
    <from expression="'A Title'"/>
    <to variable="Invoke_initiate_InputVariable" part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
    </copy>
    <copy>
    <from expression="5"/>
    <to variable="Invoke_initiate_InputVariable" part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
    </copy>
    <copy>
    <from expression="'GRA'"/>
    <to variable="Invoke_initiate_InputVariable" part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
    </copy>
    </assign>
    <flow name="Flow_1">
    <sequence name="Sequence_1">
    <assign name="Assign_1">
    <copy>
    <from variable="Invoke_initiate_InputVariable"/>
    <to variable="Invoke_2_initiate_InputVariable"/>
    </copy>
    <copy>
    <from expression="'Title2'"/>
    <to variable="Invoke_2_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
    </copy>
    <copy>
    <from expression="2"/>
    <to variable="Invoke_2_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
    </copy>
    <copy>
    <from expression="'STC'"/>
    <to variable="Invoke_2_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
    </copy>
    </assign>
    <invoke name="Invoke_2" partnerLink="HumanTask_2"
    portType="ns1:HumanTask" operation="initiate"
    inputVariable="Invoke_2_initiate_InputVariable"/>
    <receive name="Receive_2" partnerLink="HumanTask_2"
    portType="ns1:HumanTaskCallback" operation="onResult"
    variable="Receive_1_onResult_InputVariable"
    createInstance="no"/>
    </sequence>
    <sequence name="Sequence_1">
    <assign name="Assign_1">
    <copy>
    <from variable="Invoke_initiate_InputVariable"/>
    <to variable="Invoke_1_initiate_InputVariable"/>
    </copy>
    <copy>
    <from expression="'Title1'"/>
    <to variable="Invoke_1_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
    </copy>
    <copy>
    <from expression="3"/>
    <to variable="Invoke_1_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
    </copy>
    <copy>
    <from expression="'NTC'"/>
    <to variable="Invoke_1_initiate_InputVariable"
    part="payload"
    query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
    </copy>
    </assign>
    <invoke name="Invoke_1" partnerLink="HumanTask_1"
    portType="ns1:HumanTask" operation="initiate"
    inputVariable="Invoke_1_initiate_InputVariable"/>
    <receive name="Receive_1" partnerLink="HumanTask_1"
    portType="ns1:HumanTaskCallback" operation="onResult"
    variable="Receive_2_onResult_InputVariable"
    createInstance="no"/>
    </sequence>
    </flow>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:ParallelTestCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>

    Thanks Marc, I've done what you suggested but it hasn't fixed the problem.
    Here is the updated process with scopes and local variables:
    <process name="ParallelTest" targetNamespace="http://itv.com/ParallelTest" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ns1="http://itv.com/HumanTask" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:client="http://itv.com/ParallelTest" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
         <partnerLinks>
              <partnerLink name="client" partnerLinkType="client:ParallelTest" myRole="ParallelTestProvider" partnerRole="ParallelTestRequester"/>
              <partnerLink myRole="HumanTaskRequester" name="HumanTask_1" partnerRole="HumanTaskProvider" partnerLinkType="ns1:HumanTask"/>
              <partnerLink myRole="HumanTaskRequester" name="HumanTask_2" partnerRole="HumanTaskProvider" partnerLinkType="ns1:HumanTask"/>
         </partnerLinks>
         <variables>
              <variable name="inputVariable" messageType="client:ParallelTestRequestMessage"/>
              <variable name="outputVariable" messageType="client:ParallelTestResponseMessage"/>
              <variable name="Invoke_initiate_InputVariable" messageType="ns1:HumanTaskRequestMessage"/>
              <variable name="Receive_1_onResult_InputVariable" messageType="ns1:HumanTaskResponseMessage"/>
              <variable name="Receive_2_onResult_InputVariable" messageType="ns1:HumanTaskResponseMessage"/>
         </variables>
         <sequence name="main">
              <receive name="receiveInput" partnerLink="client" portType="client:ParallelTest" operation="initiate" variable="inputVariable" createInstance="yes"/>
              <assign name="Assign_2">
                   <copy>
                        <from expression="'A Title'"/>
                        <to variable="Invoke_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
                   </copy>
                   <copy>
                        <from expression="5"/>
                        <to variable="Invoke_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
                   </copy>
                   <copy>
                        <from expression="'GRA'"/>
                        <to variable="Invoke_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
                   </copy>
              </assign>
              <flow name="Flow_1">
                   <sequence name="Sequence_2">
                        <scope name="Scope_2">
                             <variables>
                                  <variable name="Invoke_2_initiate_InputVariable" messageType="ns1:HumanTaskRequestMessage"/>
                             </variables>
                             <sequence name="Sequence_2">
                                  <assign name="Assign_1">
                                       <copy>
                                            <from variable="Invoke_initiate_InputVariable"/>
                                            <to variable="Invoke_2_initiate_InputVariable"/>
                                       </copy>
                                       <copy>
                                            <from expression="'Title2'"/>
                                            <to variable="Invoke_2_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
                                       </copy>
                                       <copy>
                                            <from expression="2"/>
                                            <to variable="Invoke_2_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
                                       </copy>
                                       <copy>
                                            <from expression="'STC'"/>
                                            <to variable="Invoke_2_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
                                       </copy>
                                  </assign>
                                  <invoke name="Invoke_2" partnerLink="HumanTask_2" portType="ns1:HumanTask" operation="initiate" inputVariable="Invoke_2_initiate_InputVariable"/>
                                  <receive name="Receive_2" partnerLink="HumanTask_2" portType="ns1:HumanTaskCallback" operation="onResult" variable="Receive_2_onResult_InputVariable" createInstance="no"/>
                             </sequence>
                        </scope>
                   </sequence>
                   <sequence name="Sequence_1">
                        <scope name="Scope_1">
                             <variables>
                                  <variable name="Invoke_1_initiate_InputVariable" messageType="ns1:HumanTaskRequestMessage"/>
                             </variables>
                             <sequence name="Sequence_3">
                                  <assign name="Assign_1">
                                       <copy>
                                            <from variable="Invoke_initiate_InputVariable"/>
                                            <to variable="Invoke_1_initiate_InputVariable"/>
                                       </copy>
                                       <copy>
                                            <from expression="'Title1'"/>
                                            <to variable="Invoke_1_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Title"/>
                                       </copy>
                                       <copy>
                                            <from expression="3"/>
                                            <to variable="Invoke_1_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:Priority"/>
                                       </copy>
                                       <copy>
                                            <from expression="'NTC'"/>
                                            <to variable="Invoke_1_initiate_InputVariable" part="payload" query="/ns1:HumanTaskProcessRequest/ns1:HumanTask/ns1:UserGroups"/>
                                       </copy>
                                  </assign>
                                  <invoke name="Invoke_1" partnerLink="HumanTask_1" portType="ns1:HumanTask" operation="initiate" inputVariable="Invoke_1_initiate_InputVariable"/>
                                  <receive name="Receive_1" partnerLink="HumanTask_1" portType="ns1:HumanTaskCallback" operation="onResult" variable="Receive_1_onResult_InputVariable" createInstance="no"/>
                             </sequence>
                        </scope>
                   </sequence>
              </flow>
              <invoke name="callbackClient" partnerLink="client" portType="client:ParallelTestCallback" operation="onResult" inputVariable="outputVariable"/>
         </sequence>
    </process>

  • Parallel Flow in BPEL not working.

    We are using 10.1.3.4.We have a designed a process in bpel where we have parallel flows .Each flow has an invoke activity that calls an external service.
    Each partnerlink has property "nonBlockingInvoke" specified.
    We have also added the property in bpel.xml as below:
    <configurations>
    <property name="inMemoryOptimization">true</property>
    <property name="completionPersistPolicy">faulted</property>
    <property name="completionPersistLevel">All</property>
    </configurations>
    Now after adding the above property along with property "nonBlockingInvoke" specified for each partnerlink we are getting a timeout error.
    once I remove the configuration property it works .Even if we remove the nonBlockingInvoke property then it works.But unfortunately as per our requirement we need parallel processing and inMemory optimisation both.
    Any help on this regards will be highly appreciated.
    my bpel.xml
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BPELSuitcase>
    <BPELProcess id="SyncParallelFlow" src="SyncParallelFlow.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="client">
    <property name="wsdlLocation">SyncParallelFlow.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="BPELTest1">
    <property name="wsdlLocation">BPELTest1Ref.wsdl</property>
    <property name="nonBlockingInvoke">true</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="BPELTest2">
    <property name="wsdlLocation">BPELTest2Ref.wsdl</property>
    <property name="nonBlockingInvoke">true</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    <configurations>
    <property name="inMemoryOptimization">true</property>
    <property name="completionPersistPolicy">faulted</property>
    <property name="completionPersistLevel">All</property>
    </configurations>
    </BPELProcess>
    </BPELSuitcase>

    Well, remember inMemoryOptimization works only for Synchronous-Transient (Without any dehydration in between) processes.
    When you set nonBlockingInvoke=true, then each invoke happens in a seperate thread/transaction, which forces dehydration in the process.
    That's the reason in your case it's not working.
    Hope this explains.
    Thanks-
    [email protected]
    http://www.ibiztrack.com

  • How to use parallel flowed subforms begining at the same position.

    How to use parallel flowed subforms begining at the same position in my form.
    Ex
    Subform1
    Subform2
    Subform3
    DropDownList1
    DropDownList1
    DropDownList1
    I would like to repeat  with a button the 3 subforms in parallel
    Subform1
    Subform2
    Subform3
    DropDownList1
    DropDownList1
    DropDownList1
    Subform1
    Subform2
    Subform3
    DropDownList1
    DropDownList1
    DropDownList1

    Post your question in the LiveCycle Designer forum.

  • Calling Asynch Service in a Parallel Flow (FlowN)

    Hi,
    In one of the processes, we have a requirement to call an Asynch Service within parallel flow, meaning that, the same Asynch Service would be called several times, with different payload, dependent on the number of lines, which is decided during the run time. When this Async Service is called, the expectation is, after the flow is completed, it will call back the exact location, where the call was made from, to the corresponding line.
    This second Asynch Service is also depicted by a BPEL process. When we have multiple such calls made, the Receive after the invoke from the main process, fails, with the following message:
    <conflictingReceive>
    <part name="summary" >
    <summary>Conflicting receive. Another receive activity or equivalent (currently, onMessage branch in a pick activity) has already been enabled with the partnerLink "MobileNumberPortabilityService", operation name "onResult" and correlation set "" (or conversation id). Appendix A - Standard Faults in the BPEL 1.1 specification specifies a fault should be thrown under these conditions. </summary>
    </part>
    </conflictingReceive>
    When I looked into the conversation id of the sub-process, the conversation id seems to be the same for every process which got initiated as follows:
    bpel://localhost/default/ROTelcoNewOrder~1.0/7358-BpInv14-BpSeq31.330-2
    Given this scenario, how would the sub-process know to call back the exact instance (within the parallel flow), where the call came from, so that it can exactly join the location. Does it require a different kind of implementation, for parallel flows, please..
    Any pointers or guidelines, please..
    Thanks and Regards,
    Vijay.

    Vijay,
    this may be caused by a bug in the FlowN (bugnumber 4944123), where the values used on the invokes are the same for all the calls. For an asynchronous call, this can be bypassed by making two loops based on the number of lines (loop 1 for invoke, loop 2 for receive). That way you won't have any trouble with the correlation as well.
    Hth,
    Mike

  • Parallel flows not initiating parallely

    Hi All,
    I have a flowN activity in my BPEL process (PROC1), which creates parallel flows.
    Inside each parallel flows I'm calling a another process (PROC2) through partner link.
    In my PROC2 I have HumanTask activity, which sends email to the Approver's and waits till that person responds.
    The problem is
    For EG:
    If 2 parallel flows created dynamically, two mails has to send to 2 different approvers(one from each parallel flow) @ same time, but in my case first one flow started its process and the second one starts after the first gets completed.
    Could anyone help me how to rectify this.
    Thanks
    Viki

    Hi Marc,
    Thanks for your response.
    I found the problem.
    In PROC2 , I created a partner link for PROC3 (globally).
    From each branch of flowN inside PROC2, I'm invoking PROC3, it seems frm each branch call goes to global PROC3 partner link .So parallel flow not working,it works sequentially.
    May be if put the partner link inside the scope or something like I create instance of partner link inside each branch would be the best way to solve my problem.
    I created a partner link inside my flowN scope , its giving error like not finding wsdl location.
    Tell me is it possible to create Partner link inside scope activity.
    Thanks
    Viki

  • Getting Error when we are using same variable value in parallel flows

    Hi All
    In one of the case we will get a Zipped folder in which we have 4 different types of files . we will have date in folder name . we want to insert that date in all the 4 types file data . so we are storing the filedate in a variable and we are planning to
    insert that variable value in all the 4 types files . when we are loading data  in parallel of those 4 files (if the folder size is less than 20MB there is no problem )  we are getting the below error . If we run them in Sequence it is working
    fine without error . Please suggest what will be the issue .
    [OLE DB Destination [132]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
    An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0"  Hresult: 0x80004005  Description: "Invalid character value for cast specification".
    [OLE DB Destination [132]] Error: There was an error with input column "filedate" (523) on input "OLE DB Destination Input" (145). The column status returned was: "The value could not be converted because of a potential loss of data.".
    [OLE DB Destination [132]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.  The "input "OLE DB Destination Input" (145)" failed because error code 0xC0209077 occurred, and the error row disposition on "input "OLE
    DB Destination Input" (145)" specifies failure on error. An error occurred on the specified object of the specified component.  There may be error messages posted before this with more information about the failure.
    [SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED.  The ProcessInput method on component "OLE DB Destination" (132) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (145). The identified
    component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running.  There may be error messages posted before this with more information about the
    failure.
    Surendra Thota

    Hi Surendra,
    It might be a data type casting issue caused by memory pressure. Please try to use the minimal length of data types that meet the requirements. Besides, if the package runs in 32-bit runtime mode, try to execute it in 64-bit runtime mode. In addition, if
    the issue is not happening in the production environment, I suggest that you install the latest Service Pack for your SQL Server 2008 (R2).
    Regards,
    Mike Yin
    If you have any feedback on our support, please click
    here
    Mike Yin
    TechNet Community Support

  • Correlation in parallel flow

    Hi,
    I have a problem with the following scenario:
    My BPEL process contains a flow. Within this flow there are two parallel asynchronous calls to a subprocess (another BPEL process). Each of the two Invokes is followed by a Receive to get the asynchronous callback from the subprocess. The two parallel calls use exactly the same PartnerLink and operation.
    I added correlation sets to each of the asynchronous calls to address the problem with a “Conflicting Receive”. I create unique correlation id’s by calling a web service.
    The problem I meet now is that the process containing the parallel calls does not continue after the subprocess instances finished and “called back”. The Receives continue waiting for a callback.
    Can someone tell me if the scenario I created is possible in BPEL or what might cause the problem?

    The BPEL Specification version 1.1 says the following:
    "If during the execution of a business process instance, two or more receive activities for the same partner link, portType, operation and correlation set(s) are in fact simultaneously enabled, then the standard fault bpws:conflictingReceive MUST be thrown by a compliant implementation."
    Therefore it should be correct to use correlation in the scenario described above.
    Unfortunately the scenario cannot be run even with Correlation Sets. One of the Receives in the BPEL process calling the subprocesses is canceled and the whole process fails at runtime.
    Any ideas? Thanks in advance.

  • How to add a parallel flow to already present parallel flow..

    Hi,
    I have added a parallel work flow to a single user..it worked just fine..But I want to add a one more user to in that parallel work flow...
    I used the routeTask with a parallel participant and I even set IsAdhocSupported to true..but still it is not working..
    I am getting this error...
    Caused by: ORABPEL-30036
    Invalid action on workflow task.
    Action ADHOC_ROUTE on task 9e5b4b5151b1b834:-50a3ec3d:11c45e1c8e4:-3659 is not valid because of .
    Contact oracle support if error is not fixable.
         at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3408)
         at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3440)
         at oracle.bpel.services.workflow.task.impl.TaskService.routeTask(TaskService.java:1915)
         at oracle.bpel.services.workflow.task.impl.TaskService.routeTask(TaskService.java:1906)
         at oracle.bpel.services.workflow.task.ejb.TaskServiceBean.routeTask(TaskServiceBean.java:825)
         at sun.reflect.GeneratedMethodAccessor249.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at TaskServiceBean_RemoteProxy_68d4144.routeTask(Unknown Source)
         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:585)
    Is there any method to add a user to parallel work flow..
    Thanks In Advance.

    Hi,
    I have added a parallel work flow to a single user..it worked just fine..But I want to add a one more user to in that parallel work flow...
    I used the routeTask with a parallel participant and I even set IsAdhocSupported to true..but still it is not working..
    I am getting this error...
    Caused by: ORABPEL-30036
    Invalid action on workflow task.
    Action ADHOC_ROUTE on task 9e5b4b5151b1b834:-50a3ec3d:11c45e1c8e4:-3659 is not valid because of .
    Contact oracle support if error is not fixable.
         at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3408)
         at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3440)
         at oracle.bpel.services.workflow.task.impl.TaskService.routeTask(TaskService.java:1915)
         at oracle.bpel.services.workflow.task.impl.TaskService.routeTask(TaskService.java:1906)
         at oracle.bpel.services.workflow.task.ejb.TaskServiceBean.routeTask(TaskServiceBean.java:825)
         at sun.reflect.GeneratedMethodAccessor249.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at TaskServiceBean_RemoteProxy_68d4144.routeTask(Unknown Source)
         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:585)
    Is there any method to add a user to parallel work flow..
    Thanks In Advance.

  • Parallel flow using same Partnerlink

    Hi all,
    This is what i'm trying to do: i have a process that splits up in two parallel processes which are EXACTLY the same (only input differs very slightly). Later on these processes converge again to one.
    So, I decided to build a process A that calls upon process B twice, using flow to have it in parallel. I realized I had to do something about getting the receive right. The thing to use looks to be the Correlation Set. However, Correlation set documentation is very meagre. I can't seem to understand the working of the 109.CorrelationSets example, as it looks to use a double correlation (?). It just confuses me.
    I really need some help here, and would appreciate a very simple working example.
    What I really need to know is:
    - what steps to take (BPELDEV guide isn't enough help)
    - where to place correlation (on invoke or receive in process A ?, on receive or reply in process B?)
    - how to set the correlation value, or is it always derived on the basis of the "query" in the bpws:PropertyAlias?
    Thanks in advance!

    Hi,
    This is probably related to the fact that you cannot have two concurrently enabled activities with the same partner link, operation, and correlation set (this constraint can be found in the BPEL spec.) The correlation sets won't help you here because correlation sets are there to do instance routing (i.e. route an inbound message to the right process instance) but the problem here is not to route to the right process instance, but to route to the appropriate "receive" action... If there are two competing receive actions, the engine just go nuts, and this is why the above constraint was introduced in the BPEL spec.
    One way to go around (assuming that the interaction between A and B is based on asynchronous send/receive), is to first send the two messages in a flow, and then wait for the response with a single receive (rather than two separate receive actions). Something like this:
    <sequence>
    <flow>
    <invoke (send asynchronous message to B), no output variable here!>
    <invoke (send asychrnous message to B), again, no output variable here!>
    </flow>
    set variable counter to 1
    <while counter <= 2>
    <receive one message from B>
    increment variable counter by 1
    </while>
    </sequence>
    With a colleague, we have written a more complicated version of this scenario, where we effectively can receive messages through the same partner link not from 2 process instances, but from any arbitrary number of process instances. See http://www.serviceinteraction.com and download the code sample for "one-to-many send/receive with dynamically determined partners".
    I can send you the full Oracle BPEL project for this example if you think it would help. But I think that with the above information you should be able to proceed.
    Regards
    Marlon Dumas (m . dumas @ qut . edu . au)

  • Parallel flow for folder in KM- portal DMS

    Hi Experts,
    Is parallel approval flow is possible for a folder in KM

    Hi Senthil K.
    Thanks for the suggestion.My customer scenario is given below.
    They have four functional departments. The main document consists of 4 individual documents. They want to send the main document to all 4 functional heads -parallel for approval . Approval from 4 heads is a must before moving the document for final approval by QA. But in the present set up , after approval from one person it is going for second approval. is it possible to restrict the flow

  • How to use parallel flow in BPEL ...... ???

    Hi ,
    I have created a Synchronous BPEL process where there is a flow where flow no is 3.
    In each flow I have called separate web services, all calls are synchronous. In ws1 there is 10 sec sleep time, in ws2 there is no sleep and in last ws there is 25 sec sleep .
    Even I have used <property name="nonBlockingInvoke">true</property> in bpel.xml but still it is not working, even it generates an error when I check from BPEL Console.
    However when I not use <property name="nonBlockingInvoke">true</property> then it is working fine, but not parallel , one after another . Means after complete one call next call starts.
    But I have to work all flow parallel, so that if there is any problems or sleep in any web service it doesn't effect others call.
    Please help me in this regards as soon as possible.
    Thanks
    Angshuaman

    Hi Angshuaman & Sunita,
    You might be hitting the Bug : 8859449(unpublished) which is fixed in 10.1.3.4.0 MLR # 9 patch - 8589928.
    FYI -
    200001 : Instance #200001 of FlowN FlowN (v. 1.0) 1/16/10 5:21:26 PM
    I've used the SOA_ORACLE_HOME\\bpel\samples\references\FlowN sample.
    Regards
    A

  • Values in parallel flow are not getting reflected

    Hi ,
    I have split in one of my auto activity.In this split one of flow I am changing instance variable (boolean) value.But this value is not getting reflected in second flow.Is there any way to set this value.
    Please help me
    Thanks
    Sailendra

    Yes - you can use your Split / Join design pattern for what you're trying to do. You just need to add one more thing.
    This is going to take a knowledge of:
    <li> Correlation - initiate and terminate methods
    <li> Notification using logic from a screenflow and
    <li> Message Wait activity with an Interrupt property
    It might seem like a lot, but if all you have is JMS then it's what I'd suggest.
    1. Create a correlation just after the Split and before your Automatic activity. The purpose of this correlation is to be the receptor of a notification when you want to eliminate the time loop. The logic for this looks like this:
    args[] = clientCaseId
    args[] = productId
    Correlation.initiate(name : "documentRetrieval", values : args)2. Add a Message Wait activity in your process. If you call it "WaitForEarlyReleaseCompletion" you might find that the logic in the step 4 is helpful. Have its property set to "Allows interruptions" and "External". Add this activity outside of the process's flow. Right mouse click the Messsage Wait activity -> click "Argument Mapping" -> click on the arguments icon in this dialog and add the (two in the example) argument variables you want to use to notify the correlation (clientCaseId and productId in this example). Click the "Correlations" icon in this dialog (two to the right of the arguments icon). In the left panel add a new correlation (name it case sensitive "documentRetrieval" for this example). Right click this new correlation and give it properties (the variables you want to use for the correlation - in this example "clientCaseId", "productId". Select the correlation and click the right arrow to move the correlation to the upper right portion of the dialog. Leave "Initiate" set to "No". In the lower right portion of the dialog, map the correlation's properties (again clientCaseId and productId in this example) to the incoming argument variables you just created (also called clientCaseId and productId in this example). Click OK
    3. This standalone activity needs to flow to an Automatic activity outside of the process. The logic in this Automatic activity needs two lines:
    // this assumes your time interval in your due transition is called "myTimer" and you just
    //   want to stop it
    myTimer = null
    action = BACK4. Inside your screenflow, in an Automatic Task send a notification to the Message Wait activity using the same correlation values (e.g. "clientCaseId" and "productId") you used earlier in the correlation intiate method.
    args as Any[Any]
    args["clientCaseId"] = clientCase.clientCaseId
    args["productId"] = clientCase.products.first.product.productId
    send(Notification, processId : "/DepartmentApprovals",
                                            activityName : "WaitForEarlyReleaseCompletion",
                                            arguments : args,
                                            argumentSetName : "WaitForEarlyReleaseCompletionIn")Dan

Maybe you are looking for

  • PDF serving

    Serving a file I'm having trouble serving a PDF file from a server to the user. I've used iText to generate a PDF file (by completing an AcroForm with info from a database) which now resides on an absolute path. I've used BalusC's tutorial for filese

  • Can I connect my A1225 IMAC'S as a Dual Monitors?

    Can I connect my A1225 IMAC'S as a Dual Monitors?

  • Customer Submitted webapp with payment

    Hi, How can we set minimum amount for webapp, when a customer submits a webapp item. Thank you Gregory M

  • SAP Mobile 7.1 post installation activities

    Hi, I have installed SAP Mobile 7.1 ABAP stack. can any help in locating the post installation steps to activate the mobile contents? I followed the steps given in the installation guide. after that I tried to carry out the basic steps like "Create a

  • I'm still having problems with Premiere Pro CS6

    I downloaded the program but it didn't open so I tried to redownload it but it still didn't open! I have Windows 7 and it was supposed to work as the others Adobe programs I have! I tried to remove it with the Cleaner Tool and redownload and it doesn