AQ  and Correlation sets in BPEL

Hi Gurus,
can any one share me a working sample of how to work with AQ and Correlation sets in BPEL .
Thanks in advance ,
Cheers
Vamsi

Sunil,
Find an explanation here:
http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_correlate.htm#sthref914
Arik

Similar Messages

  • Query: Correlation ID and Correlation sets.

    Hello,
    Can somebody please brief me about the Concept and implementation of the correlation ID and correlation sets ?
    Thanks in advance.

    Hi,
    In the aromatic activity also you can set the Correlation ID.
    Please write the following code inside the automatic activity.
    Correlation.initiate(name : <Unique_ID>, values : {<your_actual_value>});
    As Dan suggested terminate the Correlation id after completing the process by using the following code.
    Correlation.terminate(name : <Unique_ID>)
    Bibhu

  • Correlation set in bpel

    Hi,
    EveryOne,
    Good day to all of you..
    I am new to Oracle BPEL technology and during my course of study and understanding period, i thought of creating a process and i have a query regarding correlation in Oracle BPEL.
    I have a asynchronous process, which accepts 2n different kinds of requests and two differnt kind of responses which i have integrated using JMS.
    Ex: Process -------------- REQ ------ JMS1
    --------------- RESP_ACK------
    --------------- REQ_ACK----- JMS2
    --------------- RESP -------------
    My problem is i can send multiple requests at a shot into the JMS and the system which talks to JMS sends me back a Acknowledgment (REQ_ACK)...
    Now i wait at the JMS2 for the response which can be coming for any of those requests that i had already posted.
    I would like to know is there any way i would be able to find out the response for that particular request that i had sent. I am using Order Number as corrleation.
    kindly let me know if there are any solutions for this problem. I am quite stuck at this point.
    Thanks a lot in advance.
    - deepak

    Yes you can achieve this. There are many ways to get this, it depends on your design. I didn't try the correlation sets.
    If i were you I would like to use the message header properties of the JMS queue. Set an MsgID for the request message and use the same MsgId to listen the response. You have to ask the partner to listen to your request message and store the KsgID and set the same MsgID to the header properties in response message.
    Let me know if you have any questions.
    Thanks
    Ramana.

  • AQ and correlation sets

    I'm using SOA 10.1.3.3 and trying to use the correlation sets for AQ to manage long running PL/SQL.
    Once the PL/SQL has finished I wan the process to continue processing. To do this i want to use correlations. I enqueue the AQ with the correlation set. In the BPEL process I set the header to the corresponding correlation set but the AQ is never dequeued.
    anyone successfully done this.
    cheers
    James

    Thank you James for your reply. I have follow up questions on the same topic.
    - I believe the internal BPEL queue would be persistent though I looked into OraBPEL schema and did not see any queues. Do you know where those queues are?
    - How would the recommendation of using one queue work when there are two different processes i.e. one for enqueueing and one for dequeueing?
    Thanks,
    Dipal

  • Confgure correlation set in BPEL

    All,
    I have a scenario where my plsql proc is taking long time to fetch records from DB. I need to use the records fetched from the db in my bpel process. for that I want to use corrleation set with db adaptor so that at the end of the procedure again the same bpel process will get executed. this is to avoid soa/jta timeout issues between bpel and db operation(Proc). now I am looking for the steps to configure correlation set for this requirement, can anybody help me out?
    Thanks

    Hi Satish,
    Thanks for your answers. I have tried the way you explained, but I am still facing the timeout issue. I have created a once bpel process from which I am invoking an aync bpel process which has db adaptor call to sql. I have created correlation set in the first bpel in the invoke activity which invokes second bpel process. The above sql is already tuned and the time out set in the admin is constant and uniform across all intefaces in my project. So I cann not change the time out property in admin.
    Thanks

  • Correlation Set in BPEL (11G)

    I was trying to learn the concept of correlation set and did a simple POC. built 3 simple service A,B,C. A -> B -> C -> A. Services A and C are asynchronous and B is one way. Service A has Invoke to B and a Receive from C. Defined Correlation set with appropriate property and Aliases (one with service B's Request Message type and another with service C's Response Message Type). Initiated the correlation set in Invoke from A -> B and set patter as 'IN' as the request is sent. Used the same correlation set for receive from A <- C with initiate set to 'NO'. When I tested this flow, I got an error "Correlation set no initialized.It cannot be used in receiving activity". Blindly going by the error message, initiated the correlation set at the first receive of service A. Now got no error but the process A is running for long time, pending receive response from C. I know this is not conceptually correct solution to overcome the initiate error in receive of A <- C. Can someone explain me what's the mistake am making here and a solution to complete this POC successfully?
    Thanking in advance
    Ranjani

    Hello,
    Sorry for late response.
    I have 1 more question before that.
    When C is replying then how does service 'C' knows that it is replying to service 'A'?
    I'm asking this because B is 1 way service, but it is invoking service C which is asynchronous so at some point of time B is expecting a response from service C. On other hand if you have used both receive and reply activity in the flow of service C using same partner link then what it does is that it sends response back to service B. There is ReplyTo http header which comes in input request and based on URL present inside it, reply activity knows where to send response back. This case will require 2 partner links in service C. receive will be based on input from B and reply(A is not waiting for response since it did 1 way invocation to service B hence I think we should use Invoke activity here instead of reply activity to send response back to service A, will have to findout using POC) will be based on partner link for service A (Callback port).
    Just try to explore on this direction once since I am currently away from my system. As soon as I get back, I will implement this POC in my system if it doesn't work. Meanwhile see if above direction works.
    Regards,
    Ankit

  • Difference between conversion id and correlation id in bpel

    Hi All,
    In invoke/receive/pick activity, there are two options. one for conversion id and one from correlation id. I know the purpose of correlation id in these activities. But donot know what is the difference between both.
    Are both having same functionality or something overlapping.
    Regards,
    Sunil

    Sunil,
    Find an explanation here:
    http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_correlate.htm#sthref914
    Arik

  • BPEL orchestration, correlation sets.

    Hi,
    i'm a beginner, i have to coordinate those three projects:
    is it possible with bpel 2.0?
    i tried using correlation sets but bpel engine stop during the invoke in "proc.bpel".
    i think it happens because "proc.bpel" doesn't know where to redirect its message (Auth first receive or Auth second receive?)
    Thanks.

    I have three bpel processes: Portal.bpel , Auth.bpel , Proc.bpel
    the full orchestrated sequence of calls is the following:
    -Portal invokes first Auth
    -Auth receives the call and then reply to Portal
    -Portal then calls Proc waiting for a Reply.
    -Proc, before replying to Portal, has to invoke Auth.
    in this exaple, Auth has two Receive in its process: the first from Portal, the second from Proc.
    When Proc calls Auth is not able to distinguish which Receve to point, so Auth.bpel process fails.
    I've tryied to map the two different variables received by Auth (one from Portal, the other from Proc) into two different correlation sets, but it doesen't work.
    sorry for my bad english.
    thank you very much

  • Correlation Conflict inside BPEL

    Hi ,
    I am getting correlation conflict inside the BPEL process.
    Can any body suggest some solution to it.
    Conflicting receive.
    A similar receive activity is being declared in the same process. Another receive activity or equivalent (currently, onMessage branch in a pick activity)
    has already been enabled with the partnerLink "CreateOrUpdateRWOService", operation name "AcknowledgeRWO" and correlation set "{{http://xmlns.oracle.com/RWOProcessApp/RWOProcess/CreateOrUpdateRWOProcess/correlationset}RWOReference=
    {http://xmlns.oracle.com/RWOProcessApp/RWOProcess/CreateOrUpdateRWOProcess/correlationset}RWOReference=}" (or conversation ID). Appendix A -
    Standard Faults in the BPEL 1.1 specification specifies a fault should be thrown under these conditions. Redeploy the process after removing the conflicting receive activities.
    Regards
    Manish
    Edited by: 858026 on Sep 14, 2011 5:28 PM

    Yes you can achieve this. There are many ways to get this, it depends on your design. I didn't try the correlation sets.
    If i were you I would like to use the message header properties of the JMS queue. Set an MsgID for the request message and use the same MsgId to listen the response. You have to ask the partner to listen to your request message and store the KsgID and set the same MsgID to the header properties in response message.
    Let me know if you have any questions.
    Thanks
    Ramana.

  • WS-addressing vs. Correlation Sets

    Hi.
    Is there possibility to address BPEL process by WS-addressing and Correlation Sets together.
    Imagine: Process with more than 2 receive activity. First to initiate process. Other for waiting at different places in process to push forward.
    Send message to BPEL process with <input>correlationId</input>. Process starts and now has conversationId (generated by WS-addressing) and correlationId (set by message). Can I push process forward using both correlationId or conversationId? Are there some troubles with it?
    I create described process. I get conversationId from BPEL Console but I can't push process by WS-addressing using <add:RelatesTo RelationshipType="?">conversationId</add:RelatesTo>.
    When I remove Correlation Set from receive in body of process and left Correlation Set only in start receive then WS-addressing came alive.
    Is there some conditions for using this?
    Many Thanks.

    Any Updates ?

  • Correlation set & onMessage

    Hi.
    I have process with many receive operations. There is defined Correlation set and properties. Everything goes fine: I can send messages to process and get reply :o)
    But when I add onMessage branch to process scope with same Correlation set and add property with setting for given operation, I can't send message to operation which is defined as onMessage.
    Thanks for advice.

    I made some changes in wsdl (remove imported xsd) and now I get
    ORABPEL-03810 Conflicting receive. Another receive activity or equivalent (currently, onMessage branch in a pick activity) has already been enabled with the partnerLink "client", operation name "Cancel" and correlation set "{{http://xmlns.oracle.com/Process/correlationset}orderId_property={http://xmlns.oracle.com/Process/correlationset}orderId_property=}" (or conversation id). Appendix A - Standard Faults in the BPEL 1.1 specification specifies a fault should be thrown under these conditions.
    I don't understand it. I have this operation only one time.
    First receive -> operation: Initiate
    onMessage -> operation: Cancel
    Where is the conflict?

  • How to use Correlation set to persist record in BPEL for multiple request

    Hi ,
    I need to persist record in BPEL as it a stateful.I am using soa suite 11.1.1.5 v.The purpose is to persist multiple messages from single service/partnerLink(JMSAdapter)and aggregated to form a group message using BPEL correlation set concept
    There are 5 message in a JMS queue like 1st message ->one,2nd message->two,3rd message->three,4th message->four,5th message->empty
    All are text messages.Last message/string is an empty message.
    IS it possible in bpel to fetch all the 5 message(using JMS adapter) under one single instance and append all messsage until empty string is not coming?
    My final output would be one single message:*onetwothreefour*

    Can you contact me offline @ [email protected] ?

  • BPEL-Multiple Correlation Sets

    I'm receiving an error when using two different correlation sets. I have two separate partnerlinks, and the invokes for each initiate a distinct correlation set. I know that these correlation sets work because when I launch the process with only ONE correlation set used, it works fine.
    I set the delivery logging level to ALL and can see where the correlation sets are initiated. It looks like when correlation set A is initiated and received, everything is fine. However, when correlation set B is initiated, on the return there seems to be some confusion--it looks like it's trying to evaluate correlation set A's property. I'm not sure why this mix-up is happening...any thoughts?

    I have three bpel processes: Portal.bpel , Auth.bpel , Proc.bpel
    the full orchestrated sequence of calls is the following:
    -Portal invokes first Auth
    -Auth receives the call and then reply to Portal
    -Portal then calls Proc waiting for a Reply.
    -Proc, before replying to Portal, has to invoke Auth.
    in this exaple, Auth has two Receive in its process: the first from Portal, the second from Proc.
    When Proc calls Auth is not able to distinguish which Receve to point, so Auth.bpel process fails.
    I've tryied to map the two different variables received by Auth (one from Portal, the other from Proc) into two different correlation sets, but it doesen't work.
    sorry for my bad english.
    thank you very much

  • Using the same correlation set to multiple instances of the same process

    Hi all,
    Assuming that I have a Purchase Order with multiple items and I have a BPEL process that is triggered for each item.
    When the Purchase Order is cancelled by the customer, I want to cancel all BPEL process that is still running. I'm using SOA Suite 11.1.1.2.
    My first attempt was to use an event handler associated to a cancellation operation, but I couldn't do this because when the second BPEL instance was started, a conflictingReceive BPEL Fault is triggered. This occurs because BPEL can't have more than one active receive/on message using the same correlation set.
    Another way to do this is using a different correlation set for each instance (somethig like a composite key - Purchase Order ID + Item ID, i.e), but in this way I need to know all composite key in advance and send one message to each instance specifically.
    Anyone have any suggestion of how to cancel more then one instance of the same BPEL process using Event or a generic way that does not need to send one message for each instance?
    Events work very well to start more then one BPEL process but does not work well to receive an intermediate message during process execution because in this case we need correlation set to associate the event with the correct instance and BPEL does not support more then one instance of the same BPEL process waiting for the same correlation set.
    Any suggestion will be very welcome.
    Thanks in advance,
    Rafael

    Never mind. I got it.
    I put the iisforward.dll and .ini is a seperate folder, and edited the iisproxy.ini's to include the portnumber like this. And I changed the hostheaders in IIS to Site1, Site2 etc
    vhost1=Site1:80
    Site1:80=C:\Sites\Site1\iisproxy.ini
    vhost2=Site2:80
    Site2:80=C:\Sites\Site2\iisproxy.ini
    vhost3=Site3:80
    Site3:80=C:\Sites\Site3\iisproxy.ini

  • Correlation in Asynchronous BPEL process

    I have thoroughly read docs & various blogs for this correlation concept and I am developed the bpel process without any compilation error. But when I execute, all the instances are waiting in receive activity with message *"Waiting for "processResponse" from "AsynchBPELProcess3.AsynchBPELProcess1.PartnerLink1". Asynchronous callback."*
    My scenario goes like this, I have three simple Asynchronous BPEL process with flow A --> B --> C i.e;
    step 1) client invokes process A with initial inputs
    step 2) process A does some assignment and invokes process B and then followed by a receive activity to receive response back directly from process C
    step 3) process B simply invokes process C after some assign activity
    step 4) process C do actual task for computation -- this is from where i am expecting output result at process A
    Done correlation at process A's recieveInput activity & in additionally added a receive activity to get response.
    Flows works as expected....everything if fine. But only at the time of returning the output result back to process A ..this waits for long time and after some time it becomes stale.
    Thanks.

    Yes you can achieve this. There are many ways to get this, it depends on your design. I didn't try the correlation sets.
    If i were you I would like to use the message header properties of the JMS queue. Set an MsgID for the request message and use the same MsgId to listen the response. You have to ask the partner to listen to your request message and store the KsgID and set the same MsgID to the header properties in response message.
    Let me know if you have any questions.
    Thanks
    Ramana.

Maybe you are looking for

  • Mac Mini and thunderbolt/vga to LCD TV

    Hi All, Here is an interesting one...... I have just taken delivery of 5 new Mac Minis which have the thunderbolt port on them.  The Mac Minis each connect using displayport tb/vga adapter to a switch then on to 5 LCD TVs. The HDMI/DVI is not used. I

  • How to use 'Submit' for Program rpsinfo (tcode:cn41n)

    Hi Friends, CN41N is a Hierarchical report of PS Module. Which displays WBS, Network, Project details in Hierarchical view. I want to store the output of this report in internal table for further processing. For this i am using the following code . S

  • Upgrading from 8.1.6 to 8.1.7 release 3 under linux

    Hi, Does anyone know if there are any problems associated with this upgrade? TIA Steve

  • Create document using SharePoint Designer workflow

    I am using SharePoint Online (2013 version) and SharePoint Designer 2013. I have tried to create a document library using "Create Item in List" action. A word document is created after the workflow executes, but the created document is corrupt. It do

  • Open-With menu displays two of every application

    After upgrading to Snow Leopard, there are two of every application when I right-click to "open-with" a file. I have followed directions found here, http://discussions.apple.com/message.jspa?messageID=10043445 except one problem, I have no .csstore f