Correlation sets

Hi,
Is it possible to use correlation sets for correlation multiple messages.I mean more than two messages.If so how to achieve this.For example I should return a response only after say 10 number of messages of the same group have arrived.

My understanding is correlation sets should be used to 'rejoin' processes based on a unique id. Once the id has been matched, this is a trigger for the process to continue. I have not seen a use case that allows you to wait for multiple correlations before returning. You could have a while loop, which counts the number of invokes and recieves and completes after 10, but this does not feel right to me as unless you can ensure each call will return in order, it may involve a lot of potential pitfalls.
Sorry if this is not too helpful, but I would revisit the requirement.

Similar Messages

  • 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 set problem with different messages

    Hi.
    I have process with two receive activity correlated by correlation set. But second receive wait for different message as initiation receive.
    I created correlation set
    <correlationSets>
    <correlationSet name="OrderCorrelationSet"
    properties="ns1:orderId_property"/>
    </correlationSets>
    with property
    <bpws:property name="orderId_property" type="xsd:long"/>
    and two aliases
    <bpws:propertyAlias propertyName="pns1:orderId_property" messageType="client:activationRequestMessage"
    part="payload" query="/ns5:orderElement/orderRecord/ns2:orderId/ns2:orderId" xmlns:ns5="http://xmlns.oracle.com/activation/bpel/"
    xmlns:ns2="http://b2b.web.sk/orders/"/>
    <bpws:propertyAlias propertyName="pns1:orderId_property" messageType="client:activationPushRequestMessage"
    part="payload" query="/ns5:activationPushRequest/processid"/>
    now when I send correlated message to second receive I get get error
    ORABPEL-03813
    Failed to evaluate correlation query.
    Failed to evaluate the correlationAlias query "/ns5:activationPostpaidPushRequest/processid" on the element "oracle.xml.parser.v2.XMLElement@1e44d8f"
    Please check your BPEL/WSDL source to make sure that property alias is defined correctly.
    what is wrong (I know failed evaluate query "/ns5:activationPostpaidPushRequest/processid" but why, I create it with property wizard) where I have to start?

    Solution is:
    JDeveloper using Create property alias wizard doesn't add namespace for query.
    I had to add it manually
    <bpws:propertyAlias propertyName="pns1:orderId_property" messageType="client:activationPushRequestMessage"
    part="payload" query="/ns5:activationPushRequest/processid" xmlns:ns5="http://xmlns.oracle.com/activation/bpel/"/>
    now it works

  • MQ Adapter Correlation Set Problem

    Hi,
    I was using BPEL 10g to run a application, but our company is changing to version 11g, so I created the same app, with basically the same configuration, Correlation Sets and another things, but now I dont receive a response from the MQ Series, and when I go to the panel control of my application i see this error message in the rejected messages tab:
    Cannot complete callback since unable to retrieve SourceURI/Wire from Correlation store. Either Instance Tracking is diabled or no corresponding Request succeeded prior to this callback (When i open this message, I can see the payload, and when I open it, it shows my message)
    Someone have a clue what the problem is? I verified, and created a hundred times the correlation sets, but it doesn't work, I don't know if I have to do something more, but I don't think the queue is finding the right instance to return the message, and this is why I'm getting a time out, but the reason I don't know, because it's the same process as 10g, sou it should work fine without problems.

    Solution is:
    JDeveloper using Create property alias wizard doesn't add namespace for query.
    I had to add it manually
    <bpws:propertyAlias propertyName="pns1:orderId_property" messageType="client:activationPushRequestMessage"
    part="payload" query="/ns5:activationPushRequest/processid" xmlns:ns5="http://xmlns.oracle.com/activation/bpel/"/>
    now it works

  • Correlation set was not defined in the process

    Hi All,
    I deplyoed a synchronous CustomerProviderABCS on SAO 11g server.
    This process is invoking the Adapter service(mediator) which internally calls the SAP Adapter.
    I didn't define any correaltion sets and I am not using pick activity.
    After deploying the Provider I am getting the follwing issue:
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Correlation definition not registered. The correlation set definition for operation SyncCustomerParty, process default/SyncCustomerPartySAPProvABCSImpl!2.2*soa_33303a8b-c115-4a93-b338-094e4a4c4078/SyncCustomerPartySAPProvABCSImplProcess, is not registered with the server. The correlation set was not defined in the process. Redeploy the process to the container. at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:575)
    I tried by redeploying the process multiple times.
    any workaround please........
    Thanks in adavance.
    Edited by: user6402392 on Jan 12, 2011 10:26 PM

    I don't know what happened to my server but now I am getting same issue with all my BPEL processes and earlier same process were working fine and I tired to use SOA-DIRECT and then this issue came but I removed it but still same issue and then I created new simple synch process but same issue is coming ......looks like need to change some config or some setting somewhere....please help if anybody have any idea?
    Thanks a lot in advance...
    Regards,
    Bijendra

  • Correlation sets not working

    I have a requirement as below :
    I am working on Jdev 1.5 version and BPEL 2.0 specification. I have an if-else condition in my BPEL. In the if condition I have a while loop with 2 correlation sets, Correlation_1 and Correlation_2. Now in the else condition, I have again created 2 more correlation sets Correlation_3 and Correlation_4. The Property Aliases of these correlation sets, Correlation_1 and Correlation_3 are same, but I have created them separately. Same is the case with Correlation_2 and Correlation_4. Now when I use the correlation set only in the if loop it works fine, but when I use in both the if and else condition, the correlation does not work.
    I have even tried creating a scope for the else condition, which is not in any while loop, but that scope is not visible.
    Can someone please suggest something for this?

    +... post moved from the Database General Questions forum,+
    to the BPEL forum...
    (Why you chose a database forum for your BPEL question is confusing, particularly after resurrecting a 2007 thread in that BPEL forum and trying to hijack it away -- the hijack post has been deleted, by the way.)

  • 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] ?

  • 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

  • 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.

  • Property Chooser dialog from Add Correlation Set dialog Doesn't Expand

    We are using Windows XP with NetBeans IDE 6.0 Preview (M9, build 070502).
    We are creating a BPEL workflow. We want to create a correlation set.
    1. In the Navigator, we right clicked on Correlation Sets, and and chose "Add Correlation Set ..." from the menu
    2. The Correlation Set dialog opened. It was empty.
    3. We chose Add ...
    4. The property chooser comes up.
    5. We have some WSDL files in the property chooser
    6. However, we cannot expand the WSDL files to see any parameters. (The plus sign is there, but we can't expland it)
    Aside from correlation, the process works perfectly.

    My workflow "HelloWorldProcess" has two Receive activities, they receive the same message, one receive has CorrelationSet with"initiate=yes" and another one has CorrelationSet with"initiate=no".
    After the projet gets deployed, I sent the first message to "http://localhost:18181/HelloWorldProcessWSDLService/HelloWorldProcessWSDLPort", to instantiate a instance of workflow, the instance of workflow received message, then waited on the second Receive (ReceiveUserName2), then I sent a second message (the same as first one) to "http://localhost:18181/HelloWorldProcessWSDLService/HelloWorldProcessWSDLPort", I thought this message should be received by the ReceiveUserName2, but it is not, instead a new instance of workflow gets instantiated (the secons message was receieved by the first Receive activity of new instance of workflow). Why?
    I am currently using ActiveBPEL workflow too and I am using correlation sending the same message to a existing instance of workflow. The second message was received by the second Receive activity in the workflow, I think, Correlation Set should work like this way.
    Please advise.
    Thanks
    kebin

  • 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

  • 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 set based on correlation from raised ADF event payload

    Hi,
    In a BPEL process, how can we include a Correlation set based on correlation from raised ADF event payload ?
    Thanks

    Hi Charles,
    Thanks for the response.
    Actually, my requirement is : I have a BPEL Process which has a pick activity. The OnMessage branch of the Pick activity is mapped to a service which is invoked by a Mediator. This Mediator is Subscribed to a Create Event.
    I am able to run my BPEL and Mediator instances separately but the problem is even though the Mediator is invoking the webservice, after the Create Event is raised, BPEL 's pick activity is not getting the response from the webservice due to which BPEL continues to be in running state.
    This might be a problem with a Correlation Id seting .
    How can i make by BPEL process know about the Mediator instance ? Any idea ?
    Thanks
    Nutan

  • 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

  • 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 With externals partners

    Hello,
    I have a question regarding correlation set and there usage.
    I'm currently making a samll poc on "correlation set" for testing the feature to determine if we could use it for our use case.
    I'm hitting some problems that I can't overcome for the moment, maybe someone could help me.
    First, here is my "test" use case :
    I have 1 BPEL exposing two webservices interface
    - 1 interface for creating the BPEL instance
    - 1 interface for consulting the status (or other thing) of the BPEL using a functionnal ID
    The BPEL logic goes like this :
    Receive > validate the request > generate a unique ID > reply to the consumer (attach the unique ID) > loop on the second receive (waiting for consumer calls)
    The consumer calls the second interface with the unique ID > The right instance is correlated using the unique ID > some treatment(is the response ready ? for example) > reply to the consumer (with the response if ready, otherwise "false")
    The two problems I encounter are the following :
    1 - I can't seem to be able to initialize the correlation set value anywhere in the BPEL except for the "Receive activity that create the instance". But that would assume that the consummer supply a unique ID (which is not likely in our case). Is it not possible to initialize the correlation set in the first reply ? or in any other activity in the BPEL ? The documentation doesn't say if you can or can't initialize the correlation set else where.
    2 - Whenever a consumer try to "consult" a BPEL status using an unknown ID, the call timeout after 45 seconds with a technical exception. It is not possible to handle such a case in order to supply a "functionnal fault" without waiting the 45 seconds ?
    remark :
    This is working totaly fine when I initialize the correlation set with the first request of the consummer but as stated above, my externals partners (several) will not be able to provide me unique ID.
    regards,
    mathieu
    Edited by: mathieu.d on Mar 12, 2013 5:58 AM

    Hi,
    I'm facing the same issue in 10.1.3.3 when trying to use a correlation set on an attribute of a regular xml message.
    Have you been able to figure out what the problem was in your case?
    Kind regards,
    Nathalie

Maybe you are looking for

  • Error in Business Hrs Formula u2lcom.dll is missing

    Hi, I have recently migrated a Crystal Reports 10 Ent system to a Business Objects Crystal Enterprise XI R2 system. I have one problem with it which seems to be a mismatch in code and u2lcom.dll. One of my users gets the following error when creating

  • G3 iBook having dial-up connection issues

    iBook 500MHz G3 running 10.3.9 My Dad's computer is acting very, very strange. He's got a dial-up with connection, which is admittedly slow. This affects both Safari & Firefox when he's browsing the 'net. Lately (past few months, off and on) it's bee

  • I can t get any sound notication sounds on my ipad 2 such as new email etc

    I can t get any sound notication sounds on my ipad 2 such as new email etc

  • How do I edit a website (My own) from Safari?

    When I logged into my website as administrator, I received a message that SAFARI cannot edit website! Are there any browser plugin's that I can use or must I load another browser like Firefox?

  • Allowing the copy of duplicated files

    Hi, I'm backing up my old windows folders into my Mac. Once I'm copying the files (drag and drop) the system stops because it detects duplicated file names. I'm aware of the duplicated names and I would like to continue, however the system is not all