Fault handling policy according to the input

I have a requirement that according to the input specified the fault handling policy should differ.
Say the input is 'A' the operation should be retried 5 times, if the input is 'B' the operation should be retried once only.
I am creating two different partner links and attaching different fault policies for the same service to work this problem out. I am not satisfied with this approach. Can anyone provide me a better suggestion.

Hi Sashwat,
I would use two catch blocks with compensation handlers. Here you define the Action id="A" then retry parameter and then retry interval parameter set.
Then, another Action id="B" and same...
Hope that helps!
Regards
A

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

    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>

  • Fault Handler do not catch selectionFailure

    Following is my fault handler policy defintions:
    <Conditions>
    <faultName name="bpelx:remoteFault">
    <condition>
    <test>$fault.code/code="WSDLReadingError"</test>
    <action ref="ora-rethrow-fault"/>
    </condition>
    <condition>
    <action ref="ora-retry"/>
    </condition>
    </faultName>
    <faultName name="bpelx:bindingFault">
    <condition>
    <action ref="ora-human-intervention"/>
    </condition>
    </faultName>
    <faultName name="bpelx:runtimeFault">
    <condition>
    <action ref="ora-rethrow-fault"/>
    </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>
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <Action id="ora-rethrow-fault">
    <rethrowFault/>
    </Action>
    <Action id="ora-retry">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>120</retryInterval>
    <exponentialBackoff/>
    </retry>
    </Action>
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    While the policy definitions are working fine for runtime faults, it is not working for selectionFailure fault. Unless I add catch block in the bpel definition, the instances are faulted. Does fault handler ignores standard faults ?
    Please help. Thanks in advance.

    Yes, catch and catchAll branch can catch all the faults.
    fault policies will be executed only when the invoke activity fails.
    if both fault policies and catch and catchall brnaches are there,
    a. if invoke activity faults, then the fault policies will be executed.
    b. any other activity fails, then the catch or catchAll branch will be executed.
    Please look into these posts below...
    http://docs.oracle.com/cd/B31017_01/core.1013/b28764/bpel010.htm
    http://jianmingli.com/wp/?p=1740
    http://beatechnologies.wordpress.com/tag/fault-handling-and-management-in-oracle-soa-suite-11g/
    Hope this helps
    N

  • How to change the image dynamically depend upon the input parameter

    Hi All
    I have one report running depend upon the Organization specific, I have 15 operating unit and 15 different logo for each operating unit.
    How to change the Logo dynamically depend upon the input passed by the user.
    If I have three or four logo i can add in my layout using if else statement and its works fine but i have more that 10 logos so its no possible to keep these in My RTF Template.
    Is it possible to change the logo according to the input without keeping this in Template.
    I have seen this link but its not working fine
    http://erpschools.com/articles/display-and-change-images-dynamically-in-xml-publisher
    Regards
    Srikkanth.M

    Hi,
    I have not completed fully,so sorry i cant able to share the files, could you please give me some tips and steps to do.
    Without having the logo in RTF if it possible to bring the logo depends on the user input (Ie Operating unit).
    Regards
    Srikkanth

  • OdiInvokeWebService - Fault Handling

    Hi,
    I am using ODI version 11.1.1.5.0 which support secure service call using OdiInvokeWebService tool. I am able to get the response into a file for a successful service invocation. But in case of any fault the step(OdiInvokeWebService) execution fails and I am able to see the fault message in session execution log(Under Operator tab-> Session List).
    As per my requirement the service call can return various types of fault messages and ODI has to route to different step based on the fault message.
    Can you please suggest me how to do fault handling (in simple, reading the fault message)?
    Thanks,
    Sisir

    Hi Sisir,
    In short, you should be able to use the substitution method odiRef.getPrevStepLog("MESSAGE") to get the error message. From here, though, you'll probably need to figure the best way to evaluate the variable and make a determination on how to proceed.
    I would use Java code to parse the error message for the information about the error. You can then go from there with your need to execute different steps based on the error type.
    Hope this helps.
    Enjoy!
    Michael R.

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

  • What are the different approaches to do Fault Handling?

    What are the different approaches to do Fault Handling?

    for uplodig data to non sap we have 2 methodes
    i) if u know bapi u will use lasm
    2) bdc
    but u mentioned so many records isthere
    best thing is u will uplode all record sto al11 using XI interface
    then u have to write bdc / lsmw  program
    beter to go for lsmw before that u will find bapi
    if u will unable to find bapi
    u have to create bapi and use it in lasmw
    ofter that u have schedule the lsmw program as a bockground
    then u have to create a job for it
    and release from sm 37
    then u have to moniter through bd87
    if u want to go through i will help u.
    if it is usefull to u pls give points
    Saimedha

  • My phone has been losing calls and according to the apple store i need to reset it due to a software fault - i have done this and still have the same problems. how do i reset the phone without reinstalling the soft ware fault by way of icloud backup

    my phone has been losing calls and according to the apple store i need to reset it due to a software fault - i have done this and still have the same problems. how do i reset the phone without reinstalling the soft ware fault by way of icloud backup

    Well, it appears that your backup is corrupt, thus causing your issue. So, you'll have to restore as a new device, & not from backup. Follow this by syncing your content back to your phone:
    http://support.apple.com/kb/ht1414
    Do not restore from backup.

  • [svn:fx-trunk] 15021: merge 15020: update ASDoc for execute() to use FaultEvent instead of ErrorMessage in the fault handler

    Revision: 15021
    Revision: 15021
    Author:   [email protected]
    Date:     2010-03-25 07:35:43 -0700 (Thu, 25 Mar 2010)
    Log Message:
    merge 15020: update ASDoc for execute() to use FaultEvent instead of ErrorMessage in the fault handler
    QE notes:
    Doc notes:
    Bugs:
    Reviewer:
    Tests run: checkintests
    Is noteworthy for integration:
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/datavisualization/src/mx/olap/IOLAPCube.as

    *bump* I desperately need to get this fixed for work - I hope someone can please find a solution or point me in the right direction!!

  • Image selector according of the configuration of an input

    I have a problem, I wish to programmed in LABVIEW but not how to do it  I can explain to you if yoy can help me.
    I have 6 inputs, according to the configuration of these entries would show certain images in the LABVIEW, an example:
    I have A B C D E F as inputs,
              - If A and D are 1 Figure 1 show,
              - If A and F are 1 Picture 2 show,
              - If B and C are 1 Picture 3 show,
              - If A and E are 1 show Figure 4.
    The values ​​of A B C D E F come from a PLC. and I'm keeping this data in a Num Ind. (numerical indicator) in LABVIEW.
    Can you help me?
    Thank you!-

    Sorry, I misread your original post. The "and" made me think of booleans.
             - If A and D are 1 Figure 1 show,
              - If A and F are 1 Picture 2 show,
              - If B and C are 1 Picture 3 show,
              - If A and E are 1 show Figure 4.
    Do you mean:
      if (A = 1) and (D = 1)
        show Figure 1
      if (A = 1) and (F = 1)
        show Figure 2
      etc?
    If that's what you mean, then writing it down as I did should show you the way to go.
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

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

  • Problem validate the input payload in a bpel process

    Hi
    I am trying to validate the input payload in a bpel process and need to catch the exact validation error . I am using the validate activity or validate property
    I am getting the error as
    <process>
    <main (80)>
    receiveInput (pending)
    Jun 21, 2013 12:24:57 PM Invalid data: The value for variable "inputVariable", part "payload" does not match the schema definition for this part Invalid text 'Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)Final cure time (Posn7)' in element: 'PARAM_NAME'. The invalid xml document is shown below:
    <payload>
    <catchAll (60)>
    Unable to handle the error.  Please help me if anybody handled this validation.
    Thanks in advance
    kalyani

    One of the issues with using the validate activity in BPEL is that when the error is thrown it throws it with little information.  Mediators however give much more information as they throw a remote exception and this can be caught. If you require detailed fault information to be sent back to the caller, then one solution is to use a mediator with validation as a callout (echo service etc).  Then catch the remote exception, this will give you more information in the fault payload. 

  • Fault Handling in BPEL process

    hi
    We have to develop an application which involves several BPEL processes and proxy service(OSB) and JMS queue etc.
    What is the difference between Fault Management Framework in SOA11g and normal fault handling(using catch and throw activities)?
    which one we should prefer for fault handling in our application n why?
    Plz help thanks in advance.

    Hi-
    In Normal Fault handling process, you will be able to catch the faluts only but in Fault Management Framework if a fault occurs the framework catches the fault and performs a user-specified action defined in a fault policy file associated with the activity. You can also have a human intervention prescribed in it, where you perform recovery actions from Enterprise Manager.
    Pls go throgh the below post for detailed description
    http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_faults.htm
    Fault Management Framework and non BPEL soap faults
    Edited by: 333333 on Mar 23, 2011 5:01 PM

  • Fault handling for Mediator component

    I am trying to capture all the system and business faults of the composite and email the details to system groups. I am having issues with the fault policy file and get the following error. My Composite is made up of Web Services ---> Mediator ---->DBAdapter
    INFO: FaultPoliciesParser.parsePolicies ------->Begin Parsing of policy file
    <Jun 18, 2012 3:48:58 PM EST> <Error> <oracle.soa.mediator.common.error.recovery> <BEA-000000> <Failed to recover the mediator fault.
    oracle.fabric.common.FabricException: Missing fault policy: TESTFaultPolicy
    at oracle.integration.platform.faultpolicy.RecoverFault.resolveToActionRef(RecoverFault.java:101)
    at oracle.integration.platform.faultpolicy.FaultRecoveryManagerImpl.resolveToActionRef(FaultRecoveryManagerImpl.java:151)
    at oracle.tip.mediator.common.error.recovery.MediatorRecoveryHandler.resolveToActionRef(MediatorRecoveryHandler.java:158)
    at oracle.tip.mediator.common.error.ErrorMessageEnqueuer.enqueue(ErrorMessageEnqueuer.java:174)
    at oracle.tip.mediator.dispatch.db.DeferredDBWorker.handleError(DeferredDBWorker.java:117)
    at oracle.tip.mediator.common.listener.DBWorker.process(DBWorker.java:114)
    at oracle.tip.mediator.common.listener.AbstractWorker.run(AbstractWorker.java:83)
    at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
    at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
    at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
    I am attaching the following files
    FAULT-POLICIES.XML*
    <?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="TESTFaultPolicy">
    <Conditions>
    <faultName>
    <condition>
    <action ref="ora-java"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-java">
    <javaAction className="test.EmailFaultHandler"
    defaultAction="ora-human-intervention">
    </javaAction>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    FAULT-BINDINGS.XML_
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicyBindings version="2.0.1"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <composite faultPolicy="TESTFaultPolicy"/>
    <component faultPolicy=" TESTFaultPolicy">
    <name>HandleRealTimeRequests</name>
    </component>
    </faultPolicyBindings>
    I am yet to figure out how to capture the fault and email to the groups in EmailFaultHandler.java file below
    EmailFaultHandler.java_
    package test;
    import com.collaxa.cube.engine.fp.BPELFaultRecoveryContextImpl;
    import java.util.Map;
    import oracle.integration.platform.faultpolicy.IFaultRecoveryContext;
    import oracle.integration.platform.faultpolicy.IFaultRecoveryJavaClass;
    public class EmailFaultHandler implements IFaultRecoveryJavaClass {
    public void handleRetrySuccess(IFaultRecoveryContext iFaultRecoveryContext) {
    public String handleFault(IFaultRecoveryContext iFaultRecoveryContext) {
    //Print Fault Meta Data to Console
    System.out.println("****************Fault Metadata********************************");
    System.out.println("Fault policy id: " + iFaultRecoveryContext.getPolicyId());
    System.out.println("Fault type: " + iFaultRecoveryContext.getType());
    System.out.println("Partnerlink: " + iFaultRecoveryContext.getReferenceName());
    System.out.println("Port type: " + iFaultRecoveryContext.getPortType());
    System.out.println("**************************************************************");
    //print all properties defined in the fault-policy file
    System.out.println("Properties Set for the Fault");
    Map props = iFaultRecoveryContext.getProperties();
    for (Object key: props.keySet())
    System.out.println("Key : " + key.toString() + " Value : " + props.get(key).toString());
    //Custom Code to Log Fault to File/DB/JMS or send Emails etc.
    return "Manual";
    Please suggest
    Thanks
    Edited by: user5108636 on 18/06/2012 00:20
    Edited by: user5108636 on 18/06/2012 00:20

    By the way, I managed to break through a little further. Now I am past this fault policy error. However, the java fault handler class is giving ClassNotFoundException. The way I added the java file (test.EmailFaultHandler) through JDeveloper in the composite project (Right click --> New ---> Java file). How do I add this to the classpath. I thought it automatically gets added to the SOA composite project classpath.
    Please suggest.
    INFO: FaultPoliciesParser.parsePolicies ------->Begin Parsing of policy file
    <Jun 19, 2012 10:58:01 AM EST> <Warning> <oracle.soa.mediator.monitor> <BEA-000000> <Venkat:Inside Synchronized block with msg id :CCA40B60B9A911E1BF115F9190ABA14C>
    <Jun 19, 2012 10:58:01 AM EST> <Warning> <oracle.soa.mediator.monitor> <BEA-000000> <Venkat:Inside Synchronized block with msg id :CCA40B60B9A911E1BF115F9190ABA14C>
    <Jun 19, 2012 10:58:01 AM EST> <Warning> <oracle.soa.mediator.monitor> <BEA-000000> <Venkat:Inside Synchronized block with msg id :CCA40B60B9A911E1BF115F9190ABA14C>
    <Jun 19, 2012 10:58:01 AM EST> <Error> <oracle.soa.mediator.common.listener> <BEA-000000> <Enququeing to Error hospital successful...>
    <Jun 19, 2012 10:58:05 AM EST> <Error> <oracle.soa.mediator.common.error.recovery> <BEA-000000> <Error while loading "test.EmailFaultHandler" java class specified for action "ora-java".>
    <Jun 19, 2012 10:58:05 AM EST> <Error> <oracle.soa.mediator.common.error.recovery> <BEA-000000> <Failed to recover the mediator fault.
    java.lang.ClassNotFoundException: test.EmailFaultHandler
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
    at oracle.tip.mediator.common.error.recovery.CustomJavaHandler.execute(CustomJavaHandler.java:69)
    at oracle.tip.mediator.common.error.recovery.MediatorRecoverFault.recover(MediatorRecoverFault.java:73)
    at oracle.tip.mediator.serviceEngine.MediatorFacadeService.recoverFault(MediatorFacadeService.java:988)
    at oracle.integration.platform.faultpolicy.RecoverFault.recoverAndChain(RecoverFault.java:161)
    at oracle.integration.platform.faultpolicy.RecoverFault.resolveAndRecover(RecoverFault.java:124)
    at oracle.integration.platform.faultpolicy.FaultRecoveryManagerImpl.resolveAndRecover(FaultRecoveryManagerImpl.java:123)
    at oracle.tip.mediator.common.error.recovery.MediatorRecoveryHandler.recover(MediatorRecoveryHandler.java:116)
    at oracle.tip.mediator.common.error.ErrorDBWorker.handleMessage(ErrorDBWorker.java:37)
    Thanks

Maybe you are looking for

  • Show/Hide conditional text at a book level

    I am using TCS2 on Windows XP. FM 9.0 p250 I have several files as part of a large FM book. Each file has the same text conditional tags. Can I, at a book level, set my conditions to show/hide, etc. and then update the book? So far, I only know how t

  • Two major bugs in Lion - Zoom and Safari auto fill search bar

    hey there every since I updated to Lion I've been experiencing two major bugs... zoom randomly stops working (the one where you press control and zoom in and out) even though it's set to work on the settings. Safari is also experincing a problem conc

  • How to create a Fixed Asset Business Area that is restricted to a ledger

    Hello gurus, I am having trouble creating a Fixed Asset Business Area that will only restrict users to use only one type of ledger in Discoverer Admin. How do you go about this? I know how to create the business area but not sure how to restrict it.

  • Big problem with neo2, please help

    Hi I just got my new neo with bios 1.4already in it and a 3000 winchester. i did a clean install of windows, then newest 5.10 nforce from nvidia.com, I did not installed firewall. And everything was cool except ethernet because it was not recognized

  • Database frozen in time

    Oracle 10.2.4 Solaris 10.5 SPARC 64bits I have a database that I want frozen in time and looking for the best way to accomplish it. It is a very smal database use by software testers in one of our centers. Here is what I am thinking thus far: I will