This discussion is archived
5 Replies Latest reply: Aug 7, 2012 8:14 AM by Rakesh JS RSS

How to invoke concurrent request set from BPEL?

Rakesh JS Newbie
Currently Being Moderated
I am trying to invoke a concurrent request set from BPEL.
In my case i have created 2 apps adapters : one for calling the api APPS.FND_SUBMIT.SET_REQUEST_SET and the next for calling the API APPS.FND_SUBMIT.SUBMIT_SET. i am getting a success response for the first one however the second invoke is failing to register the concurrent job.

the output from the 2nd invoke is:-

<OutputParameters>
<FND_SUBMIT-24SUBMIT_SET>0</FND_SUBMIT-24SUBMIT_SET>
</OutputParameters>

I am unable to identify where it is specifically failing.

regards
Rakesh
  • 1. Re: How to invoke concurrent request set from BPEL?
    702566 Newbie
    Currently Being Moderated
    Try to pull the two invokes into a Flow Activity and set thebpelX: Non blocking property=true. This actually triggers the two processes at the same time.
    Use a Scope(The flow activity should be in a scope) error handler for this and try to log the fault.

    Edited by: user10359791 on Jul 17, 2012 2:37 PM
  • 2. Re: How to invoke concurrent request set from BPEL?
    Rakesh JS Newbie
    Currently Being Moderated
    I am unable to locate the bpelx:property non-blocking with the invoke operations. could you please give further details on this property & is it to be configured to the flow activity.

    I dragged the 2 invoke activities into the flow activity without setting any property. but still my request is not working. no request id is being generated for the submit_set operation.

    Details of the submit_set invoke activity is below.

    <messages>
    <InvokeSubmitAccrualJob_SubmitRunAccruals_InputVariable><part name="InputParameters" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><InputParameters xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/XX_BPEL_SUBMITRUNACCRUALS/FND_SUBMIT-24SUBMIT_SET/"/></part></InvokeSubmitAccrualJob_SubmitRunAccruals_InputVariable>
    <InvokeSubmitAccrualJob_SubmitRunAccruals_OutputVariable><part name="OutputParameters" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/XX_BPEL_SUBMITRUNACCRUALS/FND_SUBMIT-24SUBMIT_SET/"><FND_SUBMIT-24SUBMIT_SET>0</FND_SUBMIT-24SUBMIT_SET></OutputParameters></part></InvokeSubmitAccrualJob_SubmitRunAccruals_OutputVariable></messages>

    thanks
    Rakesh
  • 3. Re: How to invoke concurrent request set from BPEL?
    veejai24 Pro
    Currently Being Moderated
    To setup non-blocking invoke activity, check the below url.

    http://stefankoser.blogspot.co.uk/2012/07/new-bpel-thread-pool-in-soa-11g-for-non.html

    Thanks,
    Vijay
  • 4. Re: How to invoke concurrent request set from BPEL?
    Rakesh JS Newbie
    Currently Being Moderated
    thanks for the coments, but my problem is still not resolved. I set the unblockinginvoke parameter for both the invokes under each flow as true. however, still the set_request_set returns 1(success) response but the submit set returns 0(failure).


    I am also able to run the request set from system administrator responsibility. please suggest what could be done...


    below is the bpel source:-






    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Oracle JDeveloper BPEL Designer

    Created: Wed Jul 18 23:50:54 IST 2012
    Author: RJS
    Type: BPEL 1.1 Process
    Purpose: Empty BPEL Process
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    -->
    <process name="ProcessNShoreAccurals"
    targetNamespace="http://xmlns.oracle.com/NShoreAccruals/NShoreAccuralR12Service/ProcessNShoreAccurals"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:client="http://xmlns.oracle.com/NShoreAccruals/NShoreAccuralR12Service/ProcessNShoreAccurals"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/ftp/NShoreAccruals/NShoreAccuralR12Service/GetNShoreAccurals"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/ftp/NShoreAccruals/NShoreAccuralR12Service/PutNShoreAccuralFiles"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:ns3="http://xmlns.oracle.com/pcbpel/adapter/file/attachment/"
    xmlns:ns4="http://xmlns.oracle.com/pcbpel/adapter/apps/NShoreAccruals/NShoreAccuralR12Service/NShoreAccurals_Set_Request_Set"
    xmlns:ns5="http://xmlns.oracle.com/pcbpel/adapter/apps/NShoreAccruals/NShoreAccuralR12Service/NShoreAccurals_Submit_Set"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns7="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/XX_BPEL_NSHOREACCURALS_SUBMIT_/FND_SUBMIT-24SUBMIT_SET/"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:ns6="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/XX_BPEL_NSHOREACCURALS_SET_REQ/FND_SUBMIT-24SET_REQUEST_SET/"
    xmlns:bpm="http://xmlns.oracle.com/bpmn20/extensions"
    xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:ns8="http://www.hitachiconsulting.com/pmi/NotificationManagerBPEL_Service"
    xmlns:ns9="http://www.hitachiconsulting.com/pmi/NotificationManagerService">

    <!--
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    -->
    <partnerLinks>
    <partnerLink name="GetNShoreAccurals" partnerLinkType="ns1:Get_plt"
    myRole="Get_role"/>
    <partnerLink name="PutNShoreAccuralFiles" partnerLinkType="ns2:Put_plt"
    partnerRole="Put_role"/>
    <partnerLink name="NShoreAccurals_Set_Request_Set"
    partnerLinkType="ns4:NShoreAccurals_Set_Request_Set_plt"
    partnerRole="NShoreAccurals_Set_Request_Set_role"/>
    <partnerLink name="NShoreAccurals_Submit_Set"
    partnerLinkType="ns5:NShoreAccurals_Submit_Set_plt"
    partnerRole="NShoreAccurals_Submit_Set_role"/>
    <partnerLink name="AccrualsNotifications"
    partnerLinkType="ns8:NotificationManagerBPEL_Service"
    partnerRole="NotificationManagerBPEL_ServiceProvider"
    myRole="NotificationManagerBPEL_ServiceRequester"/>
    </partnerLinks>
    <variables>
    <variable name="ReceiveNShoreAccurals_Get_InputVariable"
    messageType="ns1:Get_msg"/>
    <variable name="InvokeNShoreAccurals_Put_InputVariable"
    messageType="ns2:Put_msg"/>
    <variable name="InvokeAccuralsSet_Request_set_NShoreAccurals_Set_Request_Set_InputVariable"
    messageType="ns4:args_in_msg"/>
    <variable name="InvokeAccuralsSet_Request_set_NShoreAccurals_Set_Request_Set_OutputVariable"
    messageType="ns4:args_out_msg"/>
    <variable name="InvokeNShoreAccural_Submit_Set_NShoreAccurals_Submit_Set_InputVariable"
    messageType="ns5:args_in_msg"/>
    <variable name="InvokeNShoreAccural_Submit_Set_NShoreAccurals_Submit_Set_OutputVariable"
    messageType="ns5:args_out_msg"/>
    <variable name="InvokeAccrualsMailer_notify_InputVariable"
    messageType="ns8:NotificationManagerBPEL_ServiceRequestMessage"/>
    </variables>
    <sequence name="main">
    <receive name="ReceiveNShoreAccurals" createInstance="yes"
    variable="ReceiveNShoreAccurals_Get_InputVariable"
    partnerLink="GetNShoreAccurals" portType="ns1:Get_ptt"
    operation="Get"/>
    <assign name="CopyOverAccurals">
    <copy>
    <from variable="ReceiveNShoreAccurals_Get_InputVariable" part="attach"
    query="/ns3:attachmentElement/@href"/>
    <to variable="InvokeNShoreAccurals_Put_InputVariable" part="body"
    query="/ns3:attachmentElement/@href"/>
    </copy>
    </assign>
    <invoke name="InvokeNShoreAccurals"
    inputVariable="InvokeNShoreAccurals_Put_InputVariable"
    partnerLink="PutNShoreAccuralFiles" portType="ns2:Put_ptt"
    operation="Put" bpelx:invokeAsDetail="no"/>
    <wait name="Wait_30_Secs" for="'PT30S'"/>
    <scope name="Scope1">
    <sequence name="Sequence2">
    <assign name="SetConc_Req_Set_Details">
    <copy>
    <from expression="'XXHCC'"/>
    <to variable="InvokeAccuralsSet_Request_set_NShoreAccurals_Set_Request_Set_InputVariable"
    part="InputParameters"
    query="/ns6:InputParameters/ns6:APPLICATION"/>
    </copy>
    <copy>
    <from expression="'FNDRSSUB1013'"/>
    <to variable="InvokeAccuralsSet_Request_set_NShoreAccurals_Set_Request_Set_InputVariable"
    part="InputParameters"
    query="/ns6:InputParameters/ns6:REQUEST_SET"/>
    </copy>
    </assign>
    <flow name="Flow1">
    <sequence name="Sequence">
    <invoke name="InvokeAccuralsSet_Request_set"
    inputVariable="InvokeAccuralsSet_Request_set_NShoreAccurals_Set_Request_Set_InputVariable"
    outputVariable="InvokeAccuralsSet_Request_set_NShoreAccurals_Set_Request_Set_OutputVariable"
    partnerLink="NShoreAccurals_Set_Request_Set"
    portType="ns4:NShoreAccurals_Set_Request_Set_ptt"
    operation="NShoreAccurals_Set_Request_Set"
    bpelx:invokeAsDetail="no"/>
    </sequence>
    <sequence name="Sequence1">
    <invoke name="InvokeNShoreAccural_Submit_Set"
    inputVariable="InvokeNShoreAccural_Submit_Set_NShoreAccurals_Submit_Set_InputVariable"
    outputVariable="InvokeNShoreAccural_Submit_Set_NShoreAccurals_Submit_Set_OutputVariable"
    partnerLink="NShoreAccurals_Submit_Set"
    portType="ns5:NShoreAccurals_Submit_Set_ptt"
    operation="NShoreAccurals_Submit_Set"
    bpelx:invokeAsDetail="no"/>
    </sequence>
    </flow>
    </sequence>
    </scope>
    <assign name="AssignAccrualsMailerDetails">
    <copy>
    <from expression="'EMAIL'"/>
    <to variable="InvokeAccrualsMailer_notify_InputVariable" part="payload"
    query="/ns9:processNotificationServiceRequest/ns9:NotificationType"/>
    </copy>
    <copy>
    <from expression="'EmailDBLookup'"/>
    <to variable="InvokeAccrualsMailer_notify_InputVariable" part="payload"
    query="/ns9:processNotificationServiceRequest/ns9:Email/ns9:EmailDetailsLocation"/>
    </copy>
    <copy>
    <from expression="'NShoreAccruals'"/>
    <to variable="InvokeAccrualsMailer_notify_InputVariable" part="payload"
    query="/ns9:processNotificationServiceRequest/ns9:Email/ns9:EmailType"/>
    </copy>
    <copy>
    <from expression="'NShore Accrual Service Completion Details'"/>
    <to variable="InvokeAccrualsMailer_notify_InputVariable" part="payload"
    query="/ns9:processNotificationServiceRequest/ns9:Email/ns9:EmailInfo/ns9:subject"/>
    </copy>
    <copy>
    <from expression="concat('NShore Accruals SOA Service completed. The Set request set activity completed with status:',bpws:getVariableData('InvokeAccuralsSet_Request_set_NShoreAccurals_Set_Request_Set_OutputVariable','OutputParameters','/ns6:OutputParameters/ns6:FND_SUBMIT-24SET_REQUEST_SET'),' The Concurrent request have be raised with ID: ',bpws:getVariableData('InvokeNShoreAccural_Submit_Set_NShoreAccurals_Submit_Set_OutputVariable','OutputParameters','/ns7:OutputParameters/ns7:FND_SUBMIT-24SUBMIT_SET'))"/>
    <to variable="InvokeAccrualsMailer_notify_InputVariable" part="payload"
    query="/ns9:processNotificationServiceRequest/ns9:Email/ns9:EmailInfo/ns9:body"/>
    </copy>
    </assign>
    <invoke name="InvokeAccrualsMailer"
    inputVariable="InvokeAccrualsMailer_notify_InputVariable"
    partnerLink="AccrualsNotifications"
    portType="ns8:NotificationManagerBPEL_Service" operation="notify"
    bpelx:invokeAsDetail="no"/>
    </sequence>
    </process>
  • 5. Re: How to invoke concurrent request set from BPEL?
    Rakesh JS Newbie
    Currently Being Moderated
    have anyone implemented request set with BPEL..

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points