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.

Similar Messages

  • What is the use correlations property inside bpel invoke activity ?

    Hi all,
    There is a tab called correlations inside invoke activity,what is the use of correlations.What is the significance of its paramaters "set" "initiate" "properties" "pattern".
    And also kindly provide some links how to use it ?

    There is a topic called Correlation Sets. Read about that. There is an example in soa suite around 'mid process receive'. Here you can see an example of how the correlation tab is used.

  • How to use external Java API in Java Embedd inside BPEL

    How to use external classes inside the BPEL in Java Embed Activity ? Any sample code availble ? Like i want to use log4j API inside BPEL.

    No you dont have to change your startManagedServer.cmd/.sh everytime you need to have a Java Embedding activity. You only need it in case of using Log4J. As log4j requires a configuration xml viz log4j.debug.xml and log4j.dtd you need to let the soa managed server know about it. The best way to load this configuration files is using the JAVA_OPTIONS command during server startup.
    Hope the explanation helps.

  • Reading MSQueue Correlation ID in BPEL

    Hi,
    I have an inbound JMS queue adapter which keeps polling to a queue. As soon as there is a message in the queue, it will be picked up by the JMS adapter and it will be given to the BPEL process. I can access the queue message through the "inputvariable" in BPEL. However, I also need the correlation ID in BPEL flow since I need to put it back into another queue along with the processed message.
    Can some one help me how do I get the correlation ID in this case?
    I know how to access it if I have a mediator. But I don't want to use mediator between queue adapter and BPEL.
    Let me know if there is a way of doing this.
    KP

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

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

  • Reading SAML attributes inside BPEL on weblogic 11g

    Hi,
    My customer wants to access to SAML token attributes and username inside BPEL workflow on weblogic 11g.
    This workflow is exposed as a webservice and is protected by attached policy.
    My question is if it is possible to access SAML token attributes inside BPEL, is yes how to do it.
    Thanks
    Hubert

    Is this what you are looking for??
    http://lesterrebollos.blogspot.co.uk/2008/02/extracting-wsse-security-headers-from.html??
    best regards Nicolas

  • Invoke DB Adapter inside BPEL

    Hi SOA Gurus,
    i am using 11.1.1.5.0
    Requirement is similar to
    Update Employee Sal using Web Service.
    Input Parameters
    EmpNo
    Sal
    If Sal > 10% Orig sal send for APproval.
    To achieve this need to call DB Adapter from BPEL.
    Question is can we directly invoke DB adapter from BPEL  ? or
    Should I invoke  Web Service (Ws-Mediator-DBAdapter)  inside BPEL?
    Appreciate if you can provide solution.
    Thanks,
    Kiran

    Yes, you can call directly invoke DB Adapter from BPEL, no issues with that.

  • Create XML inside BPEL

    How to create XML inside BPEL process like below
    <Main>
    <psn:attr xmlns:psn="PSN:ML:6:0" name="Std_Fname"><psn:value>Any Value</psn:value></psn:attr>
    <psn:attr xmlns:psn="PSN:ML:6:0" name="Std_Lname"><psn:value>Any Value</psn:value></psn:attr>
    </Main>
    Where Any Value may changes at runtime.
    Thanks

    In XML Fragment when I use the following code it doesn't get value of bpws:getVariableData("var1").
    <Main>
    <psn:attr xmlns:psn="PSN:ML:6:0" name="Std_Fname"><psn:value>bpws:getVariableData("var1")</psn:value></psn:attr>
    <psn:attr xmlns:psn="PSN:ML:6:0" name="Std_Lname"><psn:value>bpws:getVariableData("var2")</psn:value></psn:attr>
    </Main>
    Any help?

  • Schema Validation Inside BPEL after receive

    Hi,
    Is there a way i could validate the an XML against a schema inside BPEL.
    here is what i want to do, take the input data as a string which is suppose to be an XML and want to validate against different schemas based on some parameters.
    thanks,
    -Ng.

    I created a partner link PartnerLink_1. A wsdl was generated, PartnerLink_1.wsdl:
    <definitions
    name="DateValidator"
    targetNamespace="http://commesse/dates/DateValidator.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://commesse/dates/DateValidator.wsdl"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    >
    <import namespace="http://commesse/dates/DateValidator.wsdl" location="http://portaldev.zigroup.net:8810/manageDates/DateValidator?WSDL"/>
    <plnk:partnerLinkType name="DateValidatorPortType_PL">
    <plnk:role name="DateValidatorPortType_Role">
    <plnk:portType name="tns:DateValidatorPortType"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    Is it correct how I changed it?
    <definitions
    name="DateValidator"
    targetNamespace="http://commesse/dates/DateValidator.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://commesse/dates/DateValidator.wsdl"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    >
    <import namespace="http://commesse/dates/DateValidator.wsdl" location="http://portaldev.zigroup.net:8810/manageDates/DateValidator?WSDL"/>
    >>>
    <types>
    <schema attributeFormDefault="qualified"
    elementFormDefault="qualified"
    targetNamespace="http://xmlns.oracle.com/diapason"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:tns="http://commesse/dates/DateValidator.wsdl">
    <element name="commessaDates">
    <complexType>
    <sequence>
    <element name="fromDate" type="date" />
    <element name="toDate" type= "date" />
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    <<<
    <plnk:partnerLinkType name="DateValidatorPortType_PL">
    <plnk:role name="DateValidatorPortType_Role">
    <plnk:portType name="tns:DateValidatorPortType"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>

  • Error in defining a property & property-alias for a correlation for a BPEL

    hallo,
    would anybdy be kind enough to tell me where i've done somthing wrong?
    im using netbeans 6.1 for SOA application development. there are two receive activities in a BPEL, recieve1 and recieve2. on the latter i have defined a correlation whose initiator is recieve1. the related source code from correlationWSDL is :
    <vprop:property name="wzrd_prop_ContactNo_ContactNo" type="xsd:int"/>
        <vprop:propertyAlias propertyName="tns:wzrd_prop_ContactNo_ContactNo" messageType="ns:checkLeadDuplicationStatusRequest" part="part1">
            <vprop:query>/ns0:LeadCoreInfo/ns0:ContactNo</vprop:query>
        </vprop:propertyAlias>
        <vprop:propertyAlias propertyName="tns:wzrd_prop_ContactNo_ContactNo" messageType="ns:leadWSOperationRequest" part="part1">
            <vprop:query>/ns0:LeadDetailedInfo/ns0:LeadCoreInfo/ns0:ContactNo</vprop:query>
        </vprop:propertyAlias>error that i'm getting is:
    ERROR: The first step has to be "ns0:LeadCoreInfo", if an absolute path is used for query. Expression: "/ns0:LeadCoreInfo/ns0:ContactNo"
    regards

    hallo,
    would anybdy be kind enough to tell me where i've done somthing wrong?
    im using netbeans 6.1 for SOA application development. there are two receive activities in a BPEL, recieve1 and recieve2. on the latter i have defined a correlation whose initiator is recieve1. the related source code from correlationWSDL is :
    <vprop:property name="wzrd_prop_ContactNo_ContactNo" type="xsd:int"/>
        <vprop:propertyAlias propertyName="tns:wzrd_prop_ContactNo_ContactNo" messageType="ns:checkLeadDuplicationStatusRequest" part="part1">
            <vprop:query>/ns0:LeadCoreInfo/ns0:ContactNo</vprop:query>
        </vprop:propertyAlias>
        <vprop:propertyAlias propertyName="tns:wzrd_prop_ContactNo_ContactNo" messageType="ns:leadWSOperationRequest" part="part1">
            <vprop:query>/ns0:LeadDetailedInfo/ns0:LeadCoreInfo/ns0:ContactNo</vprop:query>
        </vprop:propertyAlias>error that i'm getting is:
    ERROR: The first step has to be "ns0:LeadCoreInfo", if an absolute path is used for query. Expression: "/ns0:LeadCoreInfo/ns0:ContactNo"
    regards

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

  • Invoking secure services inside bpel with x509 certificate and weblogic

    Hi, everyone. Here we have a problem with invoking secure webservices (*client authentication*) from a bpel deployed in weblogic that is consuming so much time (more than a week) and don't know what else to try.
    The scenario: we have a bpel process which invokes a series of web services without any security mechanisms. Now, we have to change it to invoke a series of webservices that do exactly the same, but using ssl and client authentication with x509 certificates. The first part of it, the ssl one, is done without any problems. But the second part is not working at all, and we (I) are running out of ideas how to configure it in weblogic.
    The situation: I want to invoke a webservice, say, Service1. It requires client authentication, so I should pass a certificate (*which I already have*). I put that certificate inside a keystore (with keytool -importkeystore, from p12 to jks). With SoapUI I have no problem now to invoke the service now. But, I'm not sure what should I do to make it work in weblogic; after all, the provider keeps answering with a HTTP 403 Forbidden error.
    The actions: inside the weblogic's enterprise manager, in SOA deployments (SOA / soa-infra / default ) I selected my composite, and in the Dashboard (down at Services and references), clicked the particular service (Service1). Then, it took me to another page where I can see statistics about that service, and a tab named Policies. There (in Policies) I have the chance to attach a policy, but I don't know which one is the approppriate; I guest it should be WSS11_x509_token_with_message_protection_service_policy, which in turn asks me to provide a value for keystore.recipient.alias, keystore.sig.csf.key and keystore.enc.csf.key. For this keys, I provide values that I configured in Credentials (Weblogic Domain / Security / Credentials, subtree oracle.wsm.security). My own logic tells me that what I have done is what I should have done, but still no luck :(
    I am sure the keystore is ok (if I rename the keystore file it tells me that the keystore file cannot be found, and if I specify an alias which is not inside the keystore it tells me that the alias is not found and list me valid aliases). I guess I am missing something, somewhere, but after many hours (days, almost 2 weeks) googling, still cannot make it work.
    Any ideas would be apreciated. If anyone knows about a post or article about this, it would be apreciated too, but I can tell is not that I just googled for 25 minutes, but I have spent more than a week googling, trying, analyzing and reading formal documentation, with no results.
    Thanks in advance!

    Try to enable SSL and WS debugging on your WLS. Add the following to your startup script:
    -Dweblogic.webservice.verbose=true
    -Dssl.debug=true
    ..then you might be able to spot if the rejection is based on some handshake problem.

  • 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

  • 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

Maybe you are looking for