Using Fault handling framework for executing Database procedure

We have a requirement wereby we have API to be executed on Oracle DB which would return a code saying 0 or 1.
I meaning error.
Now with regards to exception handling we require that we receive remote fault we retry for 3 times & if not successful have a email sent out & a human intervention.
This can be easily taken care by having define this in Fault polciy.xml
Another requirement is when the API fails for some reason & we get returncode as 1.Now we would like ot invoke the same policy for this type of error.Although BPEL instance is not failed.But we can throw custom fault.
Now the APi's that we have can be called in 3 ways.
1.In each instance we call API exactly once
2.In each instance we call API in a loop for each record in message.Hence if 10 records are there in message & while executin 7th time it failed then how to handle reminaing records?
3.In each instance we call API only once but submit all 10 reocrds at once.And at same time 7th record fails then whats best way to handle this?
We realy want to use fault handling mechanism because it gives a lot of options of replay rethroew continue...but given the requirement can somebody point out a right way of using fault policy?
Thanks

U can archive the records in archive tables once the database adapter polls the data.
-Ramana.

Similar Messages

  • Fault handling policy for a process in the fault-binding.xml

    Can I specify a fault handling policy for a specific process using fault handling framework 10.1.3.3?
    <process faultPolicy="DefaultPolicy"/>
    I cannot specify the name of the process according to the xsd :(
    Can this be achieved?
    I have a two different partner links in different processes having the same name. If I add the partner link to the fault-binding.xml what would be the result?
    Note: I cannot use bpel.xml to specify the fault policies as of now.

    The fault policy bindings file does not allow you to specify a specific fault policy for an individual processes. You can only do this for all BPEL processes (eg: process Level) or at finer grained levels such as partner link levels.
    You might be able to use the partner link level for any services that call the process in which you wnat to error handle (eg: Process C needs to be error handled. Process A and B call C so for the partner link names for invoking C could have the fault policy defined for them). Therefore any faults returned from C could propagate back to process A / B and be handled within by the policy outside of Process C. Obviously if this apporach was used you would not want to use process level definitions as C would continue to use this.
    If the partner links were of the same name, they should both be handled by the fault policy that is defined withiin the Fault policy (e.g Partner Link level definitions)
    An approach that can be used is to specify the fault policy within the bpel.xml file. The information would be added as follows:
    </partnerLinkBindings>
    <!-- Start of Definition-->
    <faultPolicyBindings>
    <process faultPolicy="AProcessFaultPolicy"/>
    <partnerLink faultPolicy="APartnerLinnkPolicy">
    <name>insertSSN_dbAdapter</name>
    <name>Another_Adapter</name>
    </partnerLink>
    </faultPolicyBindings>
    <!-- End of Definition -->
    </BPELProcess>
    </BPELSuitcase>
    However, I noted you said you were unable to do this. I wasn't sure if this was for technical/governamce reasons or knowledge reasons (unsure where to place to the details.
    Hope that helps and does not confuse matters
    Dave

  • Fault Handling framework 10.1.3.3 queries

    Hi,
    The fault handling framework has been a nice addition to BPEL. I have some queries as below:
    1. The Replay action tried for recovery (and service faults again) does not execute the fault handling framework. Is this expected behavior?
    2. The technotes state the following
    <em>"The Oracle BPEL Process Manager API enables you to programmatically perform the abort, retry (with a success action), continue, rethrow, and replay recovery options"
    </em>Instead of using the BPEL console, I would like to have the same functionality in my user interface. Can this be acheived? I did not find any relevant documentation or examples regarding this.
    3. The Retry option is not working (human intervention does work), I put a proxy in between the calls and am unable to see multiple invokes.
    Any suggestions would be appreciated.

    The Retry option is not working (human intervention does work), I put a proxy in between the calls and am unable to see multiple invokes.I was trying to use chaining but realized thanks to http://www.it-eye.nl/weblog/2007/09/10/oracle-bpel-10133-fault-policy-management/#comment-128307 that sequencing needs to be done with success we need to specify a retryFailureAction.

  • Clarification needed in the Fault Handling Framework(Error Hospital)

    Hi,
    I need some clarification on Fault Handling Framework...
    Scenario:
    My BPEL Process is Asynchronous.(10.1.3.3.1) and I tryed to invoke the another BPEL Process( which is used to select the Fname from the table using DB Adapter) . In the Main BPEL Process I have the Fault handling Framework and I done necessary changes in the bpel.xml. This is successfully working for Invoke Activity when ever an Remote or Binding Fault occurs in the Sub-BPEL Process and this Fault is send to Fault-Policy.xml in the server(bpel/domains/default/config/fault-Policy) and works accordingly to the action mentioned in the policy xml....( I have also made changes in the fault-bindings.xml ).
    How ever this Framework is working fine for every actions.
    Need Clarification:
    1) Only the Binding and Remote faults will work for the Fault handling Framework.
    2) can we use User defined faults (Buissness Faults,,,) for this........because I used the User defined faults to invoke the fault-policy.xml and it won't works....
    3)Only Invoke Activity can be handled for this Framework or any Other Activity........
    4)How to handle other Activity in the Fault-policy.xml...
    5)Any difference for Asynchronous or Synchronous in this Fault Handling Framework.......
    I also referred the Oracle SOA Suite New Feauters PDF .......
    Can any one send me the related documents and try to help me on this.
    Please help me on this.......
    Thanks,
    Ashok.

    Hi Chintan,
    You are saying that Custom faults are also supported for fault-Policy.xml.
    I can't understand that 2nd answer you said. can you please explain how to use the Custom faults in the FaultHandlingFramework..
    My Scenario:
    I have 2 BPEL Process, BPEL1 will invoke the BPEL2 and if any remote fault or binding faults occurs in the BPEL 2 its returning the same fault to BPEL1 and here I am using FaulthandlingFramework , this fault send to fault-policy.xml and necessary action is took place succesfuly...(like retry, human intervention.....)
    But when I throw some CustomFaults(userdefinedFaults)in the BPEL2 , its returning as a remotefault to BPEL1. I don't know how to use the customFaults in the Fault handling framework.......
    Can you explain me in detail how to use custom faults in faulthandling framework...............
    Send me some related documents for this.....

  • 11g: Help regarding fault handling framework

    I am trying to implement a POC demonstrating the fault handling framework using fault policies. I am trying to handle remote and business faults. These faults are being thrown explicitly in the code. But I dont see the framework coming into picture. Here are the fault policies and fault bindings files
    The POC does the following
    1. If input is R, throws a remote fault.
    2. If input is B1, throws a business fault. There is a catch defined for this. But as we also have a policy for this error, we expect the policy overrides the catch
    3. If input is B2, throws a business fault. There is no catch defined for this. We expect the policy to handle this.
    4. If any other input, we return a string.
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <faultPolicy version="2.0.1" id="ComponentFaults"
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Conditions>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:remoteFault">
    <condition>
    <action ref="ora-human-intervention"/>
    </condition>
    </faultName>
    <faultName xmlns:ns1="NS_B1"
    name="ns1:LP_B1">
    <condition>
    <action ref="ora-human-intervention"/>
    </condition>
    </faultName>
    <faultName xmlns:ns2="NS_B2"
    name="ns2:LP_B2">
    <condition>
    <action ref="ora-human-intervention"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    Here is the fault-bindings.xml file
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicyBindings version="2.0.1"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!-- Below listed component names use policy ComponentFaults -->
    <component faultPolicy="ComponentFaults">
    <name>BPEL</name>
    </component>
    </faultPolicyBindings>

    I created another bpel in the same composite that calls the original bpel. So now, those errros are supposed to travel to calling bpel.
    Fault policies are coming into effect now. So, one part of the problem is solved, that atleast syntax and all is correct, and the fwk does work (!) but another one has opened - why is the fault not getting handled by the fwk if there is a single bpel that is throwing and not catching those faults.
    Also, even in this new avatar, fault b1 is getting handled by the catch in BPEL process, while the fault policies are supposed to override any catches in bpel code.
    What I was attempting was, throwing the fault in a bpel process and expecting the fault handling fwk to handle it.
    It turns out, the framework is not capable of doing this, its only capable of handling faults coming after an invoke activity.
    Consulted Oracle Support on this. Their response
    The behavior within the single composite you are seeing is correct and is by design. As the documentation states:
    http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_faults.htm#BABIGGIB
    If a fault occurs during runtime in an invoke activity in a process, the framework catches the fault and performs a user-specified action defined in a fault policy file associated with the activity.
    The fault management framework catches all faults (business and runtime) for an invoke activity.
    So the above means that unless the fault is thrown in response to an invoke activity the Fault Policy set will not be triggered, which has been confirmed through the test you have uploaded. Please let me know if you have any questions or concerns.

  • Fault handling framework

    Hi all,
    I'm currently using the fault handling framework introduced with the 10.1.3 version of BPEL. I've done some testing and it works fine. When I get an error from invoking one of my partnerlinks the framework handles the error - cool :-).
    Now to the problem.
    I would like to throw an error from within a process which I would like the framework to handle (I don't want to call a partnerlink which I know fails). I've tried using the throw activity but it doesn't work. According to the doc. the framework only handles errors comming from invoking a partnerlink (the throw activity shouldn't work but I just had to try). My question is, is it impossible what I'm trying to do?
    Best regards
    Stig

    Well, we have a bpel process here with some human tasks in which they can alter some variables and some invokes which may return variable values that are incorrect (because they are wrongfully altered in the source database) which result in a selection faillure during assign or transformation.
    So it would be nice if we could catch those and manually alter the variables and continue the process.
    We tried this but reading things here, it seems impossible?
    <?xml version="1.0" encoding="UTF-8" ?>
    - <faultPolicy version="2.0.1" id="DefaultPolicy" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.oracle.com/bpel/faultpolicy" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <!-- This section describes fault conditions. Build more conditions with faultName, test and action
    -->
    - <Conditions>
    - <!-- Fault if wsdlRuntimeLocation is not reachable
    -->
    - <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:remoteFault">
    - <condition>
    <action ref="ora-retry" />
    </condition>
    </faultName>
    - <!-- Fault if location port is not reachable
    -->
    - <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:bindingFault">
    - <condition>
    <action ref="ora-retry" />
    </condition>
    </faultName>
    - *<faultName xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" name="bpws:selectionFailure">*
    - <condition>
    *<action ref="ora-human-intervention" />*
    *</condition>*
    *</faultName>*
    </Conditions>
    - <Actions>
    - <!-- This action will attempt 8 retries at increasing intervals of 2, 4, 8, 16, 32, 64, 128, and 256 seconds.
    -->
    - <Action id="ora-retry">
    - <retry>
    <retryCount>2</retryCount>
    <retryInterval>2</retryInterval>
    <retryFailureAction ref="ora-human-intervention" />
    <exponentialBackoff />
    </retry>
    </Action>
    - <!-- This is an action will cause a replay scope fault
    -->
    - <Action id="ora-replay-scope">
    <replayScope />
    </Action>
    - <!-- This is an action will bubble up the fault
    -->
    - <Action id="ora-rethrow-fault">
    <rethrowFault />
    </Action>
    - <!-- This is an action will mark the work item to be "pending recovery from console"
    -->
    - <Action id="ora-human-intervention">
    <humanIntervention />
    </Action>
    - <!-- This action will cause the instance to terminate
    -->
    - <Action id="ora-terminate">
    <abort />
    </Action>
    </Actions>
    </faultPolicy>

  • BPEL Fault Handling Framework, default Action to send Notification

    All,
    I'm using SOA Suite 11g R1
    Is there a way to send (email) Notification without Java coding in the BPEL Fault Handling Framework ?
    I would like to, when catching a fault in the Fault Handling Framework (remotFault/bindingFault) -> send a Notification and then HumanIntervention.
    Thanks
    Bjorn-Erik

    Hi,
    one option wud be to send it to human intervention and then rethrow the fault back to bpel....here u can define the email activity in the catch handler...try it.

  • Retry mechanism in Fault handling framework SOA 11g

    hi
    i have used Fault management framework in my project. I have added fault-policies and fault-bindings file. in fault-policies file i am using retry mechanism for any remote or binding fault. but i am not able to see the retry working in flow trace. however human intervention and terminate actions are working fine.
    can any one assist me why retry mechanism is not working.
    thanks in advance.

    hi
    thanks for the response. i added that property in my bpel tag but unfortunately it didn't work. plus the instance remains in running state. plz help me out with this.
    this is my fault-policies.xml and fault-binding.xml
    fault-policies.xml*
    <?xml version="1.0"?>
    <faultPolicies xmlns="http://xmlns.oracle.com/CreateTaskPOC_jws/Project9/BPELProcess1">
    <faultPolicy version="2.0.1" id="MyCompositeFaultPolicy">
    <Conditions>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:bindingFault">
    <condition>
    <action ref="ora-retry"/>
    </condition>
    </faultName><faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:remoteFault">
    <condition>
    <action ref="ora-retry"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-rethrow-fault"><rethrowFault/></Action>
    <Action id="ora-retry">
    <Retry>
    <retryCount>3</retryCount>
    <retryInterval>2</retryInterval>
    <retryFailureAction ref="ora-rethrow-fault"/>
    </Retry>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    fault-bindings.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicyBindings version="2.0.1" xmlns="http://xmlns.oracle.com/CreateTaskPOC_jws/Project9/BPELProcess1">
    <composite faultPolicy="MyCompositeFaultPolicy"/>
    <component faultPolicy="MyCompositeFaultPolicy">
    <name>BPELProcess1</name>
    </component>
    <reference faultPolicy="MyCompositeFaultPolicy">
    <name>InsertEmp_BPELProcess</name>
    </reference>
    </faultPolicyBindings>

  • Fault handler triggered for "100 Continue" messages from web service

    I'm using the Flex/Flash "WebService" class to connect to a .NET4 web service.
    Things always work fine unless the service sends a "100 Continue" message,
    (which it does seemingly at random, which is allowed by HTTP1.1).
    The problem is that Flex/Flash does not appear to handle this message.
    It triggers the fault handler with the following message:
    "SOAP Response cannot be decoded".
    The message body pulled from the Flash Builder's "Network Monitor" window (raw view) is:
    HTTP/1.1 100 Continue
    Server: ASP.NET Development Server/10.0.0.0
    Date: Tue, 21 Aug 2012 14:42:25 GMT
    Content-Length: 0
    If I understand correctly, any client using HTTP 1.1 should be able to handle "100 Continue" messages even if they didn't ask for them.
    Does anyone know what's going on here?
    Here are the software versions of everything involved:
    Flash plugin: 11.3.300.257 (ActiveX)
    Flash Builder: 4.6
    Flex Compiler SDK: 4.6.0
    OS: WinXP Pro, 32-bit, SP3
    Browser: IE 8.0.6001
    Web Service: .NET framework 4
    Any help/advice is greatly appreciated!!

    Update: The problem also occurs with Firefox 12 using the debug version of FlashPlayer 11.3.300.257, so I don't think it's a browser issue... Looks like Flash itself.

  • Handling blank values in Database Procedure

    Hello Guys,
    I am building an application with HANA on ABAP. Here, I have created a database procedure which we are consuming from ABAP via database procedure proxy. In this case, we are facing issues on the below point:
    As in conventional ABAP program, within the 'Where Clause' of a select statement if we pass a select-options/parameter with no value, then it will get all the data from the table. However, while passing blank value to database procedure, then it is unable to fetch the data from underlying HANA database tables/views.
    In this regard, it will be really helpful, anyone could guide me on how to handle the blank value like we do in ABAP.
    With Regards,
    Arnab

    Have a look on the discussions in this thread.
    How to keep filter for Blank values in Calculation view
    Regards,
    Krishna Tangudu

  • BPEL Fault Handling framework

    Hi,
    I understand from the document that there are two ways of handling exceptions
    1. Creating fault-policies and fault-binding xml files in same directory with composite.xml
    2. Placing the two xml file in MDS
    How to deploy the fault-policies and fault-bindings xml file to MDS?
    Regards,
    Sundar

    In Oracle document for Fault Handling http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_faults.htm#BABIGGIB it is given that fault-policies.xml adn fault-bindings.xml can be placed in same directory of composite.xml or it can be placed in common location.
    I take that common location as MDS repository. Can anyone tell me how can i place the two files to MDS repository?
    If my understanding is wrong can you please tell me how to achieve the second crieteria?
    Regards,
    Sundar

  • Fault Handling Framework 11.1.1.4.0 : invokeWS not working?

    I have a simple question. Is the invokeWS action support in the Error Handling Framework. I can read about it in the documentation but when I enter it in the policy file I get a validation error stating 'invokeWS' is not valid. Can somebody confirm this? So this would mean I need to write a Custom Java Class that invokes a composite. That is a shame.

    Very simple. The file adapters is reading a file from the file system. When the reading fails (file is not in correct format) the file will be rejected and a rejected message will be posted. I want to 'catch' this rejected message and send a mail informing someone that this has happened. I cannot do that. There is not a mail action. So I found somewhere you could invoke a web service. I wanted to call a composite that does the mailing for me. Unfortunately the invokeWS that is mentioned in some technology adapter help document is not supported in SOA Suite (version 11.1.1.4.0, The customer does not want to upgrade yet as there are appr 100.000 process instances running)

  • Should I use a MVC framework for an large RIA application

    The book of "Adobe Flex 3 Training from the Source" does not
    talk about any MVC frameworks in its
    eCommerce example. I think Flex's events, functions, and mx
    components are MVC already. Do they have to be in separate file to
    call them MVC? I do not find that core Flex is harder to read and
    understand than using a MVC framework. I think using the MVC
    framework would hurt the performance because too many additional
    events are dispatched. Any comments?

    MVC is one design pattern that is pretty darn useful for a
    lot of applications, IMHO. There are frameworks that more or less
    force you to think in MVC pattern terms, like Cairngorm and
    PureMVC. But you certainly don't need to use a framework to create
    an overall design pattern of model, view, controller. However, it
    sure can make it easier if you're doing a large project. The book
    you're talking about is a good example. They don't use a framework
    but they have tried to use a form of MVC in the way that they
    implement all the components to ensure things are loosely coupled.
    As far as hurting performance, I'm no expert but there are so
    many thousands of events occurring all the time in Flex that you
    might actually enhance performance if you take more control by
    using custom events of your own creation within a well designed
    framework.
    I'm a fan of the Mate because I get it and it doesn't impose
    a strict structure like Cairngorm. I don't have a whole lot of
    experience with OOP (though I'm sure getting it thanks to this
    forum). Many others have their own opinions and will surely
    recommend other frameworks. However, the bottom line is that if
    you're doing a big project, I would think it would be a huge help
    to at least have a conceptual framework approach in your mind, if
    not part of the code.
    Here's a video intro to Mate
    http://tinyurl.com/mateintro

  • Fault error framework for synchronous Bpel process

    Hi all,
    Do fault policies work for synchronous Bpel processes? I am using a synchronous bpel process which invokes JMS service. I have used fault policies and bindings for this , when the instance fails due to binding fault the instance gets timed out and it neither goes to catch block nor fault policies.Is it normal behaviour or am i doing wrong anywhere. please help
    Regards
    Raju.

    Hello Raju,
    yes fault policies absolutely work for sync Bpel processes, please check if you have defined the Binding fault in your fault policy and also in your bindings.
    if you have defined them in your policies then the control will jump to the policies first do the respective action defined.
    so do check again...
    Good luck..
    vny.

  • How to connect with VPN of type L2TP programatically in IOS8 ? canse NEtwoatically in IOS8 ? can i use NEtwork/Extension framework for this?rk/Extension framework for this?

    I have a mobileconfig file and the VPNType is L2TP . How can i connect to this VPN programatically in IOS8 ?Apple's Network/Extension framework has methods which supports IPSEC and IKEV2 protocols(NEVPNProtocolIPSec, NEVPNProtocolIKEv2). Can i use Network/Extension framework to connect with L2TP type VPN ?

    I have a mobileconfig file and the VPNType is L2TP . How can i connect to this VPN programatically in IOS8 ?Apple's Network/Extension framework has methods which supports IPSEC and IKEV2 protocols(NEVPNProtocolIPSec, NEVPNProtocolIKEv2). Can i use Network/Extension framework to connect with L2TP type VPN ?

Maybe you are looking for

  • How to increase the battery life of your N series ...

    What I am about to post here is valid for any 3G phone or device regardless of model but it is particularly focused towards the N series devices and their power hogging features. Your battery life is dependant on many many things. How often you take

  • How can I add system font to Acrobat Pro X?

    I tried to use "Edit Document Text" Function. There is an error pop-up as " All or part of the selection has no available system font. You cannot add or delete text using the currently selected font.". How can I add system font to Acrobat Pro X?

  • IPod Nano will not work

    My daughter has had her iPod Nano 8GB for about 10 months and now it will only play when its attached to the computer. What is causing this and how can it be fixed?

  • Business area readjustments

    Dear Experts, When we are running F.5E  in test run  system is showing this error message   -  "nopostings can be creted for company code 1000 Errors occur when determining adjustment acounts correct the error execute program SAPF180K to do this You

  • Generate the Chart in Excel from Java

    Hi All, I have a typical problem that is I want to generate the Excel charts through Java coding dynamically . Now Iam able to create a excel sheet and populating the Data in that,but Iam not able and not even have the Idea how to generate the Chart