Query on bpel.config.OneWayDelivery Property

Hello,
I have a query on bpel.config.OneWayDelivery Property.
Scenario : In case of any error in BpelProcess A , it will call BpelProcess B .So BpelProcessB will be called in the catchAll branch of Process A. After calling Process B, i am throwing a fault in Process A to rollback process A (as there is a DB adpater in it which i want to roll back). To invoke Process B in a separate transaction i set the bpel.config.transaction to requires new in the component section of composite.xml of process B. Please not Process B is ASynchronous process. Now :
Case 1: By setting only bpel.config.transaction property to 'requiresnew'.
Process A gets error, it calls Process B and it itself get rolledback (because of throw activity after a call to Process B). Now in the instance of Process A i am not able to see the trace of Process B. Only Process B name is appearing, also Process B didn't get executed at all or might be rolledback along with process A (not sure on this).
Case 2: By setting only bpel.config.transaction property to 'requiresnew' and  bpel.config.OneWayDelivery property to 'sync'.
In this case everything works fine like Process A call Process B in case of Error. Process A get rolledback successfully and i am able to see the trace of Process B as it get executed successfully.
Questions :
In case1 though i have set the transaction=requiresnew, why Process B is not getting executed and i am not able to see the trace of it.Ideally Process B should get executed in a seperate transaction. While in Case2, everything works fine. So what exactly happening after placing 'OnewayDelivery' Property, that it started working.
I have went through the documents on 'OnewayDelivery', but i didn't get the clear idea corresponding to my scenarios explained above.
Can anyone please explain on how exactly 'OnewayDelivery' property works.
Thanks.

So,
For Case 1 : When Process B is getting executed in a separate Thread and Transaction , then when process A is getting rolled back why B is also getting rolled back as it's in different thread althgether.
3) For Case2 : Please clear my following understanding :
When we set the value to 'sync' for process B, then B will act like a synchronous process(ideally it Async), and will get committed after the it's execution. Because of this, even if A is getting rolled back, B will not get rolledback because it is already committed. For case 1:
By calling process B, an invocation message is being insert into the dehydration store. That causes process B to be created as a new thread/transaction.
When you perform rollback->the new transaction that was made following the new thread, is being rollback among the rest of your process transaction(the rollback causes the message not to be save and for that you can't see new instance).
For case 2:
By calling process B, only a new transaction is being creating, and invocation message is not being insert into the dehydration store.
So actualy, you have 1 thread and 2 transactions, and you are telling your process(thread) to rollback only the current transaction and not the new one (process A not owns the new transaction).
2) You mentioned if we are calling Process B with No Rollback. How to call B with No Rollback? Is there any property like that? It was just an example. Forget about it.
I hope it answered you questions...
Arik

Similar Messages

  • Reg: SQL select Query in BPEL process flow

    <p>
    Hi,
    I am suppose to execute a SQL select query (in BPEL Process flow) as mention below in JDeveloper using Database adapter.
    </p>
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE ITEM= &lt;xyz&gt;
    </p>
    <p>
    AND OBJECT= (SELECT CASE_NAME FROM CUBE_SUPPLIER WHERE ITEM=&lt;xyz&gt; AND SUPP_IND = &lsquo;Y')
    <strong>Now my question is:
    1.</strong> What does this "*" refer to in the query and how can I retrieve the value of LENGTH*WIDTH* HEIGHT from the query where LENGTH,WIDTH and HEIGHT are the individual field in the table.
    2.What does this " AS" refer to? If " ITEM_CUBE " is the alies for the table name "ITEM" to retrieve the value, then query shoud be evaluated as
    </p>
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE <strong>ITEM_CUBE.ITEM</strong>= &lt;xyz&gt;
    </p>
    <p>
    AND <strong>ITEM_CUBE.OBJECT</strong>= (SELECT CASE_NAME FROM CUBE_SUPPLIER WHERE ITEM=&lt;xyz&gt; AND SUPP_IND = &lsquo;Y')
    Is my assumption correct?
    Please suggest asap.
    Thanks...
    </p>
    <p>
    </p>

    Hi
    Thank for your reply!
    I have a nested select query which performs on two different table as shown below:
    <p>
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    </p>
    <p>
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    </p>
    <p>
    FROM CUBE
    </p>
    <p>
    WHERE ITEM= &lt;abc&gt;
    </p>
    <p>
    AND OBJECT= (SELECT NAME FROM SUPPLIER WHERE ITEM=&lt;Item&gt; AND SUPP_IND = &lsquo;Y')
    I am using DB adapter of Oracle JDeveloper in BPEL process flow, where I can able to select only one master table in DB adapter say SUPPLIER and its attributes at a time.But as per my requirment I need to select both the table (CUBE and SUPPLIER) in a single adapter to execute my query.
    It can be achievable by using two DB adapter , One to execute the nested query and another to execute the main qyery considering value of nested query as a parameter.But I want to achieve it by using a single one.
    Am I correct with my concept?
    Please suggest how to get it ?
    </p>
    Edited by: user10259700 on Oct 23, 2008 12:17 AM

  • Complex SQL Query in BPEL DB Adapter

    Hi,
    Is it possbile to write a complex query in BPEL DB Adapter using "Custom SQL Query"?
    I would like to write an IF ELSE condition in the DB Adapter similar what is given below..
    IF((SELECT COUNT(*) FROM F5898001 WHERE CT58SRCNME = 'CA_TEST' AND CTJOBNAME = '12345' AND CTEDBT = 'EDBT' AND CTEDSP = 'B') < 1)
    BEGIN
    insert into f5898001 (CTJOBNAME,CTEDSP,CTEDBT,CT58SRCNME) VALUES (#jobname, #edsp, #edbt, #srcnme)
    END.

    In a single pass no.
    You could use a DB link to perform select and return result to BPEL process variable. Put a switch decision depending on result in variable that calls a DB Adapter to perform the insert.
    Wouldn't be in a single transaction and not very elegant, but might be a way round.

  • Tax query builder with "workflow status" property

    Hi,
    is it possible to create a tax query builder with "workflow status" property? For example: folder A only with documents "Relased", folder B only with document "In progress"?
    In property meta data I saw that there is a property "cm_workflowState", I made it indexable, but it doesn't work....
    thanks,
    Paolo

    Hi,
    Thanks to share your post.
    For the issue, I think it may due to the wrong handling of the encoding type “UTF-8”, please refer to the followed article, they may give you a hand:
    http://blogs.sun.com/shankar/entry/how_to_handle_utf_8.
    http://devlog.info/2008/08/24/php-and-unicode-utf-8/.
    Hope this could help you!
    Leo

  • Bpel-config.xml and soa-infra-config.xml file location in SOA 11g Pre-built

    Hi frnds,
    I have downloaded and started Oracle SOA 11g Pre-built from http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html and trying to configure it according to my requirements to upgrade from SOA 10g to 11g. But I can't find bpel-config.xml and soa-infra-config.xml files in BPEL domain home (i.e. /oracle/fmwhome/user_projects/domains/domain1).
    Can you please help me?
    BR, Lisan

    None of those roles are intended to be granted to application users. Those are instead to limit various operational / support responsibilities. For instance, if you have "operators" for your production environment who are responsible for starting & stopping servers vs "Administrators" who are performing configuration changes, etc.
    The SOA* versions can be used to separate even further - an "Operator" ( with rights in the WL console ) can be distinct from a "SOAOperator" ( with rights in the SOA /em ), etc.
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10226/appx_roles_privs.htm#insertedID2
    also, here is a bit more on soa-infra roles:
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10226/appx_users.htm#insertedID4

  • Refreshing ADF Query Component after changing some property of a criteria

    Hi All
    Use Case : Refreshing ADF Query Component after changing some property of a criteria attribute.
    I have a query panel with 2 query criteria i.e. FirstName and DepartmentId where in DepartmentId is a drop down. The scenario is like when change the value of DepartmentId to 'Finance' with code value of '100' then my criteria attribute 'Firstaname' should be invisibe(queriable=false).
    Approach: Have overriden the queryOperationListener of adfquery as " queryOperationListener ="#{backingBeanScope.backing_queryLstener.processQueryOperation}" "
    My backing bean method goes as below :
    public void processQueryOperation(QueryOperationEvent queryOperationEvent) {
    // Add event code here...
    if( queryOperationEvent.getOperation().equals(queryOperationEvent.getOperation().CRITERION_UPDATE) ){
    DCBindingContainer bindings = (DCBindingContainer)this.getBindings();
    DCIteratorBinding iter =bindings.findIteratorBinding("EmployeeView1Iterator");
    ViewObjectImpl voimpl = (ViewObjectImpl)iter.getViewObject();
    ViewCriteria vc = voimpl.getViewCriteriaManager().getViewCriteria("EmployeeViewCriteriaDemo");
    Row currRow = vc.first();
    System.out.println("Department :"+currRow.getAttribute("DepartmentId"));
    if( (Integer)currRow.getAttribute("DepartmentId") ==100 ){
    AttributeDef[] attrs = voimpl.getAttributeDefs();
    int attrIndex = voimpl.getAttributeIndexOf("FirstName");
    ViewAttributeDefImpl attrDef = (ViewAttributeDefImpl) attrs[attrIndex];
    attrDef.setQueriable(false);
    // AdfFacesContext.getCurrentInstance().addPartialTarget(getQryId1()); //here i need to refresh the query component which is not happening
    // refreshQueryComponent(getQryId1());
    Everything is happening as expected but the query panel s not get refreshed.When i refresh the whole link/page then i can see the change.
    Please suggest.
    Thanks in adv.
    -Sanjeeb

    Hi,
    can's say anything about the first part of the question as more insight to the implementation would be required. However, have a look at http://www.oracle.com/technetwork/developer-tools/adf/learnmore/83-bidi-synchronization-tree-form-401841.pdf, which may be what you are looking for
    To the second part: You can programmaticallly refresh the tree component from a managed bean. So instead of using the declarative PPR option (or ChangeEventPolicy set to PPR on the iterator binding) you can wire the submit button to the managed bean, perform your validation and if it fails don't refresh teh tree
    The call is
    AdfFacesContext.getCurrentInstance().addPartialTarget(the_tree_instance)
    Frank

  • How to bind/pass multiple input parameters to sql query in BPEL Process

    Hi,
    I have a requirement to invoke a query on a database table to fetch the records based on the few input values or bind variables?
    I have created a Partner link using the DBAdapter service and have used custom SQL, how can i bind and pass multiple bind/input parameters for these queries.
    foreg: if i have to query employee records based on name , desgination and age, these three params would be my input parameter that i will pass when i invoke the BPEL process, bow how can i pass these parameters to the partner link using DBADAPTER service.
    Please help
    Regards

    If the parameter-value is not known beforehand and cannot be determined based on the process instance data at that time, there are 2 options. Either invoke the PL/SQL procedure you named using a DB adapter service to get the value and pass it to the other DB adapter service. Or create a single service (e.g. PL/SQL procedure) that determines the parameter value, executes the query and returns the result. However, this is more a design issue. Does it makes sense to combine these actions in a separate service and use it or are these actions not related? You furthermore state that additional (DB adapter) services make the process heavier. Do you have strict requirements on the time process-instances may run or other such requirements? If not, I think the design-choice on whether combining these actions in a single service should have more priority.

  • Nested query in BPEL JDeveloper

    Hi,
    Can anyone help me with nested query writing in BPEL (JDeveloper)
    the query is :
    SELECT LENGTH, WIDTH, HEIGHT, WEIGHT,
    LENGTH*WIDTH* HEIGHT AS ITEM_CUBE
    FROM ITEM_SUPP_COUNTRY_DIM
    WHERE ITEM= &lt;Level1 item&gt;
    AND DIM_OBJECT= (SELECT CASE_NAME FROM ITEM_SUPPLIER WHERE ITEM=&lt;Item&gt; AND PRIMARY_SUPP_IND = &lsquo;Y')
    Please help me with the steps.
    Many thanks

    Hi,
    For the following query:
    SELECT S.STORE, S.STORE_NAME, A.ADD_1, A.ADD_2, A.ADD_3, A.CITY,A.STATE, A.POST, A.COUNTRY_ID, A.CONTACT_PHONE, A.CONTACT_NAME,S.STORE_OPEN_DATE, S.STORE_CLOSE_DATE, S.REMODEL_DATE, S.TRANSFER_ZONE,S.DISTRICT,S.STORE_TYPE
    FROM STORE S, ADDR A
    WHERE S.STORE= #store
    AND to_char(S.STORE) = #keyValue1
    AND A.MODULE = #module
    AND A.ADDR_TYPE = #type
    AND A.PRIMARY_ADDR_IND=#addrType
    the DB adapter shows this xml:
    &lt;?xml version = '1.0' encoding = 'UTF-8'?&gt;
    &lt;xs:schema targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/WMSStoreDataLookUp" xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/WMSStoreDataLookUp" elementFormDefault="qualified" attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
    &lt;xs:element name="WMSStoreDataLookUpInput" type="WMSStoreDataLookUpInput"/&gt;
    &lt;xs:complexType name="WMSStoreDataLookUpInput"&gt;
    &lt;xs:sequence&gt;
    &lt;xs:element name="store" type="/&gt;<br /><br /> &lt;xs:element name="keyValue1" type="/&gt;
    &lt;xs:element name="module" type="/&gt;<br /><br /> &lt;xs:element name="type" type="/&gt;
    &lt;xs:element name="addrType" type="/&gt;<br /><br /> &lt;/xs:sequence&gt;<br /><br />&lt;/xs:complexType&gt;<br /><br />&lt;xs:element name="WMSStoreDataLookUpOutputCollection" type="WMSStoreDataLookUpOutputCollection" nillable="true"/&gt;<br /><br />&lt;xs:complexType name="WMSStoreDataLookUpOutputCollection"&gt;<br /><br />&lt;xs:sequence&gt;<br /><br />&lt;xs:element name="WMSStoreDataLookUpOutput" type="WMSStoreDataLookUpOutput" minOccurs="0" maxOccurs="unbounded"/&gt;<br /><br />&lt;/xs:sequence&gt;<br /><br />&lt;/xs:complexType&gt;<br /><br />&lt;xs:complexType name="WMSStoreDataLookUpOutput"&gt;<br /><br />&lt;xs:sequence&gt;<br /><br />&lt;xs:element name="S_STORE" type="xs:decimal" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_STORE_NAME" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_ADD_1" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_ADD_2" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_ADD_3" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_CITY" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_STATE" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_POST" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_COUNTRY_ID" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_CONTACT_PHONE" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_CONTACT_NAME" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_STORE_OPEN_DATE" type="xs:dateTime" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_STORE_CLOSE_DATE" type="xs:dateTime" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_REMODEL_DATE" type="xs:dateTime" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_TRANSFER_ZONE" type="xs:decimal" nillable="true"/&gt;<br /><br />&lt;xs:element name="S_DISTRICT" type="xs:decimal" nillable="true"/&gt;<br /><br />&lt;xs:element name="S" type="xs:string" nillable="true"/&gt;<br /><br />&lt;xs:element name="A_PRIMARY_ADDR_IND__addrType" type="xs:string" nillable="true"/&gt;<br /><br />&lt;/xs:sequence&gt;<br /><br />&lt;/xs:complexType&gt;<br /><br />&lt;/xs:schema&gt;<br /><br /><br /><br />Please, look at the last few lines of XML and let me know if this is correct..

  • Query with an integer managed property

    Hello everyone,
    A (I hope) simple question. How to do search with a managed property of type Integer (or non-text type in general)?
    Here is what I am doing and fail to make function so far.
    Create a column of type Number with a Document Library; name it LocalNumColumn.
    Crawl once to have it as a crawled property: ows_LocalNumColumn.
    Map it to one of the out-of-box predefined managed property: RefinableInt00.
    Re-crawl to populate the managed property, though not sure if necessary.
    It works with the Refinement web part. I am able to refine a search result, choosing a defined threshold.
    But that's it. I cannot use it in any other way, such as with the Content Search web part.
    A query like "path:"..."  (IsDocument:"True" OR contentclass:"STS_ListItem") RefinableInt00>1000" returns with "We didn't understand your search terms. Make sure you're using the proper syntax".
    The same response from /searchcenter/Pages/results.aspx?k=RefinableInt00%3E1000.
    I do not know whether this is a syntax issue or the way I prepare the numeric property.
    Any insight?
    Thank you, Kazu

    Hi,
    The problem is with RefinaableInt00, which is just the retrieve and refine as shown in the below screenshot.
    You need to make this refinable property to include search as well then only you are able to search in the search results.
    Edit the property and select search option and then do the full crawl.  The results will appear as per your expectation.
    The best practice in my opinion is to create the custom Managed Property with all settings set like Queryable, Search, Refinable etc and map your crawl property.
    Please mark it answered, if your problem resolved or helpful.

  • Using update query in BPEL Process

    I want to update Database using query:update ordertest set orderstatus='partially completed' where orderid=100,
    I am taking entry of orderid from JSP page and mapping the values in XSD file. I am unable to figure out
    how to update database with this query where one value which will decide the row to be updaed will come from
    JSP page or is input of XSD file.
    Please help
    Thanks
    Yatan

    WS-Addressing is used for message correlation by default and is handled completely transparently by Oracle BPEL Server. If you want to see the WS-Addressing correlation information, you can use a TCP tunnel to see the SOAP messages exchanged with the services.
    Heidi.

  • Setting BPEL's syncMaxWaitTime property in Soa suite 11g

    Hi,
    what is the path of domain.xml file in 11g to set syncMaxWaitTime property
    Regards

    Login into EM Console/Expand SOA and right click on "soa-infra" and select: SOA Administration/BPEL Properties/"More BPEL Configuration Properties/syncMaxWaitTime

  • Using Inline Query in BPEL

    Hi All,
    We have requirement to exect the bleow query by not using Custom SQL
    select * from A a where a.x1 not in (select b.x1 from B b).
    Is this possible using simple DBadapter by selecting "*perform an Operation on table*" by modifingt the Toplink in the jdeveloper.
    any help in this highly appreciated.
    Thanks and Regards,
    Nagaraju .D

    Hi,
    You can use "perform an operation on table" and in the 8th Step replace the SQL statement by
    select * from A a where a.x1 not in (select b.x1 from B b)
    Regards,
    Deepak Suri

  • Query about BPEL functionality

    I'm investigation BPEL's suitability for a project I'm working on and I'm having difficulty finding answers to the following questions:
    Is there a means to locate all instances that meet common criteria (e.g. all instances in a specific process flow or all instances at a specific activity within a specific process flow)?
    Is there a way to find out which activity and process flow a process instance is currently on?
    Is there a way to override the process flow and move a process instance from one activity to another?

    Hi, what exactly are you trying to achieve? In fact, I don't know if you can define more than one partnerLinkType in a wsdl. But only to play a little bit around with the idea (to learn):
    You have different operations with different input and output messages (let's forget about the fault ones).
    You have a port type which is bringing the operations together for the web service.
    You have a partner link describing the roles for the port type.
    (correct me if I'm mistaken, I'm still a newbie).
    A guess: Trying to split up given operations for a web service onto different partnerLinks?
    Regards,
    Hansi

  • Sun Java Directory Server Query - users in "config" tree

    Hello,
    I would like to find out if Admin users in the "config" tree have a password policy applied to them?
    I have tried running the following command (which shows password policies for users in "people"):
    # ldapsearch -h server1 -p 389 -D "cn=Directory Manager" -b "cn=Administrators,cn=config" objectclass=* PwdPolicySubentry
    Enter bind password:
    version: 1
    dn: cn=Administrators,cn=config
    dn: cn=admin,cn=Administrators,cn=config
    dn: cn=user1,cn=Administrators,cn=config
    ________________________________________________I am also wondering, is there a way I can configure an ldapclient so I could log in as a "config" user?
    Thank you

    Hello,
    I would like to find out if Admin users in the "config" tree have a password policy applied to them?
    I have tried running the following command (which shows password policies for users in "people"):
    # ldapsearch -h server1 -p 389 -D "cn=Directory Manager" -b "cn=Administrators,cn=config" objectclass=* PwdPolicySubentry
    Enter bind password:
    version: 1
    dn: cn=Administrators,cn=config
    dn: cn=admin,cn=Administrators,cn=config
    dn: cn=user1,cn=Administrators,cn=config
    ________________________________________________I am also wondering, is there a way I can configure an ldapclient so I could log in as a "config" user?
    Thank you

  • Query on sto config?

    Dear Gurus,
    In STO Config,
    "assign delivery type, one step procedure, underdel tol" customizing:
    If we tick mark on one step procedure, how it will impact?
    Thanks in advance..

    Hi
    if you set the indicator for the one-step procedure, the goods receipt
    is posted in the receiving plant at the same time as the goods issue is
    posted in the issuing plant.
    Regards
    Damu

Maybe you are looking for

  • Integratin​g Microsoft Outlook Web Access email address with a BlackBerry Internet Service account

    Hi, I would appreciate some help from anybody that can. I am a new BB user with a Curve 9300 and have been setting up my device. I have run into a problem and am at a dead end as far as solving it. KB03133 at http://www.blackberry.com/btsc/search.do?

  • EWT-Challan not generating due to open item management

    By mistake one of the end user responsible for one co code has created the withholding tax gl as without ticking the open item management .Now while generating challan  error is coming as "No unpaid tax lines exist for the given selection criteria" .

  • Java on i386SX25 / 286?

    Hi, does someone know what would happen if you try to install Java on an old i386 or i286 system? Would it work? (even if much moooore slooower)

  • NetInfo Manager in Leopard??

    I am trying to follow some instructions from the Tecplot Support page to correct an error message that I am getting. The instructions call for me to make some changes using the NetInfo Manager Utility. This utility does not appear to be in Leopard. I

  • Internet shuts down when connecting to apple tv

    The apple tv works fine, except with airplay mirroring. First I click the apple tv icon on my laptop to start screen sharing with the Apple tv. My screen changes its resolution so it will be optimized for the tv that the apple tv is connected to. Aft