Fault policy and jca.retry.count in 11g

I have a composite which has the architecture as follows :
Adapter (File) -- Mediator -- Adapter (FTP)
The mediator follows sequential routing pattern
I have configured jta.retry.count = 3 for the FTP adapter.
Also the composite refers to the fault policy file from the MDS
In the fault policy file the ora retry action is defined as follows :
< Action id="ora-retry">
<retry>
<retryCount>1</retryCount>
<retryInterval>5</retryInterval>
<retryFailureAction ref="ora-rethrow-fault"/>
</retry>
</Action>
We have configured the following rejection handler for the file adapter :
<faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages"
name="rjm:FILE_RD_B2BOutFolder_Files">
<condition>
<action ref="ora-ws"/>
</condition>
</faultName>
We get the following message as part of rejection message email notification :
The adapter has exceeded maximum configured retries. The adapter has exceeded maximum configured retries. The adapter was unable to process "{0}" after having retried for {1} times, now the adapter will reject the message. This exception usually comes due to errors in downstream systems. Please increase the value for "jca.retry.maxRetries" in composite.xml for the inbound service and redeploy.
I have the following doubts:
1. When the FTP adapter fails because of a remote fault, which retry will be executed fault policy or jta.retry.count ?
2. If the jta.retry.count is executed then can I see 3 instances on the EM console or any other entry in the Log file.
3. where can i configure jca.retry.maxretries property. this property is not available on emconsole.

Hi,
Section 12.4.4 and 12.4.5 should answer your questions.
http://docs.oracle.com/cd/E12839_01/integration.1111/e10224/bp_faults.htm#BABICJAD
Regards,
Neeraj Sehgal

Similar Messages

  • Diff activAgent jca.retry.count  vs partnerLinkBinding prop.retryCount?

    When I look into the bpel.xml of some BPEL projects I can find two similar parameters:
    In <partnerLinkBinding ...> there can be a
    <property name="retryCount".....>
    A couple of lines below in the <activationAgent> section of bpel.xml there is sometimes a similar
    <property name="cap.retry.count=....> value
    Mind the dot between "retry" and "count"!
    Whats the difference?
    Peter

    Hi Peter,
    Can you post complete bpel.xml...
    Basically as of my knowledge the retries for jca activation agents are for... If you take File adapter, and in that if we mention some xsd for the input message and the input message you are getting is not compatable with that xsd, it will fail....In that case first it will try number of times mentioned in the activation agent level times.
    Regards
    PavanKumar.M

  • Urgent : 11g Fault Policy Java Handler

    Im trying to use fault policies in 11g and in fault policies want to catch the remote faults and pass it to a custom java handler.
    in Custom Handler use IFaultRecoveryJavaClass and also BPELFaultRecoveryContextImpl , i want to pick fault information
    and pass store it in DB...
    i placed the client jar file in <Oracle_HOME>\user_projects\domains\base_domain\lib
    Duuring runtime the server is able to Pick the IFaultRecoveryJavaClass but not BPELFaultRecoveryContextImpl
    is there anything im missing ?
    As per oracle documentation in Fault Handling in BPEL form SOA developer guide ..
    public class TestJavaAction implements IFaultRecoveryJavaClass {
    public void handleRetrySuccess(IFaultRecoveryContext ctx) {
    System.out.println("This is for retry success");
    handleFault(ctx);
    public String handleFault(IFaultRecoveryContext ctx) {          
    System.out.println("-----Inside handleFault-----\n" + ctx.toString());
    dumpProperties(ctx.getProperties());
    /* Get BPEL specific context here */
    BPELFaultRecoveryContextImpl bpelCtx = (BPELFaultRecoveryContextImpl) ctx;
    bpelCtx.addAuditTrailEntry("hi there");
    System.out.println("Policy Id" + ctx.getPolicyId());
    please find the Fault Policy and Custom Java Class
    please see may fault policy below..
    =====================================================================================================================
    <?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.1.3" id="ConnectionFaults">
    <Conditions>
    <!-- Remote Fault Handler -->
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:remoteFault">
    <condition>
    <action ref="technical-fault-handler"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <!-- Human Intervention -->
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <!-- Technical Fault Action -->
    <Action id="technical-fault-handler">
    <javaAction className="com.FaultHandler"
    defaultAction="ora-human-intervention" propertySet="TechnicalProps">
    <returnValue value="OK" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    </Actions>
    <Properties>
    <!-- Properties for Technical Errors -->
    <propertySet name="TechnicalProps">
    <property name="logFileName">techinical-faults.log</property>
    <property name="logFileDir">c:\tmp\log</property>
    <property name="ErrorType">Technical</property>
    </propertySet>
    </Properties>
    </faultPolicy>
    </faultPolicies>
    Custom Java Handler ..
    =====================================================================================================================
    import java.io.File;
    import java.io.PrintStream;
    import java.util.ArrayList;
    import java.util.Map;
    ==============================================================
    // SOA Runtime fabric-runtime.jar Available with SOA Runtime Libraries
    ==============================================================
    import oracle.integration.platform.faultpolicy.IFaultRecoveryContext;
    import oracle.integration.platform.faultpolicy.IFaultRecoveryJavaClass;
    ==============================================================
    // BPEL Runtime orabpel.jar Available with BPEL Runtime Libraries
    ==============================================================
    import com.collaxa.cube.engine.fp.BPELFaultRecoveryContextImpl;
    public class FaultHandler implements IFaultRecoveryJavaClass {
    public FaultHandler() {
    super();
    public void handleRetrySuccess(IFaultRecoveryContext ifc) {
    print("RertySuccess");
    public String handleFault(IFaultRecoveryContext ifc) {
    print("Handle Fault");
    Map<String,ArrayList> props = ifc.getProperties();
    for (Map.Entry<String,ArrayList> entry: props.entrySet()){
    print (entry.getKey() + " = " + entry.getValue().get(0));
    String logFileName = (String) props.get("logFileName").get(0);
    String logFileDir = (String) props.get("logFileDir").get(0);
    String ErrorType = (String) props.get("ErrorType").get(0);
    PrintStream ps = null;
    try
    ps = new PrintStream(logFileDir + File.separator + logFileName);
    catch (Exception e) {
    print(e.getMessage());
    System.out.println( "Fault Details");
    System.out.println("===============================================================");
    System.out.println("Fault Type ................ " + ifc.getType());
    System.out.println("Poilcy ID ................. " + ifc.getPolicyId());
    System.out.println("Faulted Partner Link ...... " + ifc.getReferenceName());
    System.out.println("Error Type ...... " + ErrorType);
    System.out.println("Port Type ................. " + ifc.getPortType());
    try {
    BPELFaultRecoveryContextImpl bpelCtx = (BPELFaultRecoveryContextImpl) ifc;
    System.out.println("BPEL Context + getActivityName" + bpelCtx.getActivityName());
    System.out.println("BPEL Context + getActivityType" + bpelCtx.getActivityType());
    System.out.println("BPEL Context + getComponentInstanceId" + bpelCtx.getComponentInstanceId());
    System.out.println("BPEL Context + getComponentInstanceId" + bpelCtx.getComponentInstanceId());
    System.out.println("BPEL Context + getCompositeName" + bpelCtx.getCompositeName());
    System.out.println("BPEL Context + getECID" + bpelCtx.getECID());
    System.out.println("BPEL Context + getFault" + bpelCtx.getFault());
    System.out.println("BPEL Context + getFault" + bpelCtx.getProcessDN());
    catch (Exception ee){
    System.out.println("BPEL Context + Exception" + ee.getMessage());
    return "OK";
    Error Log ..
    =====================================================================================================================
    Caused by: com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}runtimeFault}
    parts: {{
    summary=<summary>com/collaxa/cube/engine/fp/BPELFaultRecoveryContextImpl</summary>
    ,detail=<detail>java.lang.NoClassDefFoundError: com/collaxa/cube/engine/fp/BPELFaultRecoveryContextImpl
         at com.FaultHandler.handleFault(FaultHandler.java:56)
         at com.collaxa.cube.engine.fp.RecoveryActionJava.execute(RecoveryActionJava.java:67)
         at com.collaxa.cube.engine.fp.BPELRecoverFault.recover(BPELRecoverFault.java:87)
         at oracle.fabric.CubeServiceEngine.recoverFault(CubeServiceEngine.java:1589)
         at oracle.integration.platform.faultpolicy.RecoverFault.recoverAndChain(RecoverFault.java:149)
         at oracle.integration.platform.faultpolicy.RecoverFault.resolveAndRecover(RecoverFault.java:112)
         at oracle.integration.platform.faultpolicy.FaultRecoveryManagerImpl.resolveAndRecover(FaultRecoveryManagerImpl.java:121)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.resolveAndRecover(BPELInvokeWMP.java:1170)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__handleException(BPELInvokeWMP.java:1111)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__callback(BPELInvokeWMP.java:626)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.handleNormalInvoke(BPELInvokeWMP.java:465)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:182)
         at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:140)
         at com.collaxa.cube.engine.CubeEngine._performActivity(CubeEngine.java:2675)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2558)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1256)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:188)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:285)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4607)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:828)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:610)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:354)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
         at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
         at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy184.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.handleInvoke(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:241)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:34)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:139)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
         at java.lang.Thread.run(Thread.java:619)
    </detail>

    I tried bundling the jar file but still it is not able to pick up the class and throws the same exception. please find the following code which i tried to use to pick up the remote fault.
    System.out.println( "Fault Details");
    System.out.println( "===============================================================");
    System.out.println( "Fault Type ................ " + ifc.getType());
    System.out.println( "Poilcy ID ................. " + ifc.getPolicyId());
    System.out.println( "Faulted Partner Link ...... " + ifc.getReferenceName());
    System.out.println( "Error Type ...... " + ErrorType);
    System.out.println( "Port Type ................. " + ifc.getPortType());
    BPELFaultRecoveryContextImpl bpelCtx = (BPELFaultRecoveryContextImpl) ifc;
    System.out.println("BPEL Context + getActionId" + bpelCtx.getActionId());
    System.out.println("BPEL Context + getActivityName" + bpelCtx.getActivityName());
    System.out.println("BPEL Context + getActivityType" + bpelCtx.getActivityType());
    System.out.println("BPEL Context + getComponentInstanceId" + bpelCtx.getComponentInstanceId());
    System.out.println("BPEL Context + getCompositeName" + bpelCtx.getCompositeName());
    System.out.println("BPEL Context + getECID" + bpelCtx.getECID());
    System.out.println("BPEL Context + getFault" + bpelCtx.getFault());
    System.out.println("BPEL Context + getFault" + bpelCtx.getProcessDN());
    If you have any working example can you please pass the code. my emailid is [email protected]
    Edited by: lakshmi nadh on Jul 27, 2009 3:39 AM

  • Fault policy files in MDS repository is not working 11g

    Hi All,
    I have created my fault policy and fault bindings file and tested in my local project. It worked fine.
    To make it available in MDS,
    I added the files under JDeveloperHome/jdeveloper/integration/seed/apps/faulthandling
    I deployed this MDS repository to my server by the below method.
    I created a new generic application, then a generic project, to which I added a new Deployment Profile of type JAR file.
    To the JAR file, I added my folder in which the policy files exist. I created a SOA bundle from the ‘Applications’
    Then I deployed the project to my server finally.
    For all these things I refferred to
    http://www.orafmwschool.com/soa-11g-mds/
    Now in my adf-config.xml I have made changes as follows.
    <metadata-store-usage id="mstore-usage_2">
    <metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
    <property value="D:\StudyForInstalling\SOA11gHome\jdeveloper\integration" name="metadata-path"/>
    <property value="seed" name="partition-name"/>
    </metadata-store>
    </metadata-store-usage>
    Then in my composite.xml I have,
    <property name="oracle.composite.faultPolicyFile">oramds:/apps/faulthandling/fault-policies.xml</property>
    <property name="oracle.composite.faultBindingFile">oramds:/apps/faulthandling/fault-bindings.xml</property>
    I hav shutdown the partnerlink service.
    Now, I can see remote exception while executing. My fault policy files are not executing.
    In the same apps/ I have my PurchaseOrder.xsd file. When I tried importing the schema to my project from the mds, it is working fine.
    I used like this in my wsdl.
    <import namespace="http://www.order.org" schemaLocation="oramds:/apps/faulthandling/PurchaseOrder.xsd" />
    Why is my faultpolicy file not working on MDS?  But, if pput the file on the source code this working fine, but get the policy to source not from MDS?
    Help me

    It could mean that the location for MDS in the code isn't correct.
    Can you re-verify the path provided for MDS?

  • How to configure Fault policy for the Mediator??

    Hi All,
    I failed to configure fault policy for the mediator on FMW 11g. Below are my configurations.
    1. I created simple ESB project: Consume message(using JMS adapter) from AQ topic: Q1 and produce to another AQ topic: Q2. In order to test the fault policy, The project will thorw an exception when produce to the AQ topic Q2 (Q2 didnt exist).
    2. Created fault-policies.xml and fault-bindings.xml files in the Composite project directory.
    But it didnt work, I didnt find any retry action in the log file. Is this the correct way to configure the fault policy? your suggestions are welcome. thanks.
    fault-policies.xml
    ======================================================
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicies>
    <faultPolicy version="2.0.1" id="CRM_ServiceFaults">
    <Conditions>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults"
    name="medns:mediatorFault">
    <condition>
    <test>contains($fault.mediatorErrorCode, "TYPE_FATAL_MESH")</test>
    <action ref="ora-retry"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-retry">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>40</retryInterval>
    <exponentialBackoff/>
    <retryFailureAction ref="ora-terminate"/>
    <retrySuccessAction ref="ora-terminate"/>
    </retry>
    </Action>
    <Action id="ora-terminate">
    <abort/>
    </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"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="CRM_ServiceFaults"/>
    </faultPolicyBindings>
    Thanks Mingzhuang

    http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_faults.htm#SOASE9906

  • DB adapter retry count value

    Hi gurus,
    I am using a db adapter for polling options. The option used is 'Delete the row(s) that were read' .
    Here the retry count by default is set to unlimited. Is this the recommended one? In normal db adapter options i see the retry count as '4'
    the property value seen in composite.xml is shown below
    <property name="jca.retry.count" type="xs:int" many="false" override="may">2147483647</property>
    Will this lead to any performance issues? Or what could be the correct retry count value?
    Please let us know.

    Hi,
    We have used the polling options using Logical delete vastly in our project and never faced any performance issues with respect to this property value being set to 'unlimited'.
    I believe there should not be any performance issues with respect to the 'Delete the row(s) that were read' option as well.
    According Oracle documentation:
    In the Auto-Retries section, specify the value for auto-retry incase of time out. In case of a connection related fault, the Invoke activity can be automatically retried a limited number of times. You can specify the following values in the fields in this section:
    To retry indefinitely, type unlimited in the Attempts field.
    Interval is the delay between retries.
    Backoff Factor: x allows you to wait for increasing periods of time between retries. 9 attempts with a starting interval of 1 and a back off of 2 leads to retries after 1, 2, 4, 8, 16, 32, 64, 128, and 256 (28) seconds.
    Thanks,
    Deepak.

  • Fault policy files in MDS repository is not working..

    Hi All,
    I have created my fault policy and fault bindings file and tested in my local project. It worked fine.
    To make it available in MDS,
    I added the files under JDeveloperHome/jdeveloper/integration/seed/apps/faulthandling
    I deployed this MDS repository to my server by the below method.
    I created a new generic application, then a generic project, to which I added a new Deployment Profile of type JAR file.
    To the JAR file, I added my folder in which the policy files exist. I created a SOA bundle from the ‘Applications’
    Then I deployed the project to my server finally.
    For all these things I refferred to
    http://www.orafmwschool.com/soa-11g-mds/
    Now in my adf-config.xml I have made changes as follows.
    <metadata-store-usage id="mstore-usage_2">
    <metadata-store class-name="oracle.mds.persistence.stores.file.FileMetadataStore">
    <property value="D:\StudyForInstalling\SOA11gHome\jdeveloper\integration" name="metadata-path"/>
    <property value="seed" name="partition-name"/>
    </metadata-store>
    </metadata-store-usage>
    Then in my composite.xml I have,
    <property name="oracle.composite.faultPolicyFile">oramds:/apps/faulthandling/fault-policies.xml</property>
    <property name="oracle.composite.faultBindingFile">oramds:/apps/faulthandling/fault-bindings.xml</property>
    I hav shutdown the partnerlink service.
    Now, I can see remote exception while executing. My fault policy files are not executing.
    In the same apps/ I have my PurchaseOrder.xsd file. When I tried importing the schema to my project from the mds, it is working fine.
    I used like this in my wsdl.
    <import namespace="http://www.order.org" schemaLocation="oramds:/apps/faulthandling/PurchaseOrder.xsd" />
    Why is my faultpolicy file not working?
    Kindly help me
    Thanks,
    Sabarisri .N

    I am not sure if we can use oramds references as properties values in composite.xml. Did you try with preferences ??

  • Fault Policy Management Framework in 10.1.3.3

    Hi,
    According to the Oracle Documentation, 10133technote. It says
    1) "A fault policy can be associated at the following levels:
    Partner link,Port type, Process & Domain."
    - Here can you through a light on "Process" n what "Process" means
    - Is it Refering to a BPEL Process or a "Process" in <faultPolicyBindings>
    - Can we have multiple "Process" for a <faultPolicyBindings>
    2) "The framework looks for fault policy bindings in the following files (in order of priority):
    - In the bpel.xml file at the process level
    - In the domain level file "
    - what entry should go in bpel.xml (are we really have to edit bpel.xml, created by JDEV)
    - what does it mean Process Level & Domain Level
    - where we can have a thin line between "Process Level" & "Domain Level"
    and How they differ-in while at Implemenation level
    Lastly what are the files that we need to modify/edit to make faultPolicy work.
    Thanx in adv

    Hello,
    See comments below:
    Hi user568921,
    Thanx for an immediate reply.
    Apologize for the long list of questions.
    1) Already we can have expentional Handling in BPEL,
    then why this
    Fault Management Framework be used on top of this
    [ irrespective of your BPEL Process has Expectional
    Handling or not (pl. correct me if im wrong)]
    more over i have to restart the server for each
    modification,
    this is not that recommended when it goes to
    Production.
    1a) if i have both BPEL Expectional Handling and
    Fault Management Framework applied to my Process
    which one preceedes.
    Fault Management Framework is used for generic fault
    handling on a deployed server.
    Since the change affects all deployed processes, we do
    not recommend changing policy or bindings in production.
    We are providing a client api in 10.1.3.4.0 to reload fault
    policy and binding files.
    Fault Management Framework precedes BPEL "catch". You can
    attempt retry actions, if this fails, invoke java code to
    email an administrator and mark the activity for human
    recovery or do a rethrowFault to pass to BPEL exception
    handling.
    2) This is what my bpel.xml files contains
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BPELSuitcase>
    <BPELProcess id="FaultPolicyManagement"
    src="FaultPolicyManagement.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="client">
    <property
    name="wsdlLocation">FaultPolicyManagement.wsdl</prope
    ty>
    </partnerLinkBinding>
    <partnerLinkBinding name="sayHelloService">
    <property
    name="wsdlLocation">sayHelloService3.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding
    name="FaultPolicyManagementSync">
    <property
    name="wsdlLocation">url?wsdl</property>
    </partnerLinkBinding>
    artnerLinkBindings>
    </BPELProcess>
    <faultPolicyBindings>
    process faultPolicy="defaultPolicy"/>
         <process faultPolicy="anvvPolicy"/>
    <partnerLink
    k faultPolicy="DefaultPolicy"></partnerLink>
         <partnerLink faultPolicy="anvvPolicy">
         <name>FaultPolicyManagementSync</name>
    <portType
    tType
    xmlns:db="http://FaultPolicyManagementSync">db:FaultPo
    licyManagementSync_plt</portType>
         </partnerLink>
    </faultPolicyBindings>
    /BPELSuitcase>
    when i edit the bpel.xml with
    <faultPolicyBindings></faultPolicyBindings> and
    deploy it
    all the <faultPolicyBindings></faultPolicyBindings>
    is resetting back to original bpel.xml
    ( The Content between
    <faultPolicyBindings></faultPolicyBindings> is taken
    from fault-bindings.xml file )
    why it is so ?
    and my fault-bindings.xml is
    <?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"
    <process faultPolicy="DefaultPolicy"/>
    <process faultPolicy="anvvPolicy"/>
    <partnerLink
    k faultPolicy="DefaultPolicy"></partnerLink>
         <partnerLink faultPolicy="DefaultPolicy2">
         <name>FaultPolicyManagementSync</name>
    <portType
    tType
    xmlns:db="http://FaultPolicyManagementSync">db:FaultPo
    licyManagementSync_plt</portType>
         </partnerLink>
    </faultPolicyBindings>
    and DefaultPolicy.xml & DefaultPolicy2.xml is same as
    what is there in the server.
    Is the file contents correct in Implementation.
    Only one process tag is allowed.
    2a) if Fault Management Framework applied and NO
    <faultPolicyBindings></faultPolicyBindings> is added
    to bpel.xml
    and if it is left as it is (i.e., default bpel.xml
    generated by JDEV) then what is the policy it is
    applied.
    Once the system detects an invoke has faulted, it tries
    to check if there is a fault policy attached to this faulted
    partner link (or port type, or the process), if no policy
    binding is detected, it will flow bubble up the fault. By
    default there is no policy applied.
    3) Can you please let me know
    - how many ( fault-binding.xml &) fault-policy's can
    n i have per domain.
    - how many ( fault-binding.xml &) fault-policy's can
    n i have per process.
         many to one or many to many relationship.
    We can have only one policy
    [config/DefaultPolicy.xml] at a Domain Level
    To create a Fault Policy File for Automated Fault Recovery
    Create directories named fault-policies under the config directory for
    every domain in which you want to use the fault management framework.
    SOA_ORACLE_HOME\bpel\domains\domain_name\config\fault-policies
    You can have n fault policies per domain.
    To provide a fault policy applicable to an entire domain in the
    fault-bindings.xml file in the SOA_ORACLE_
    HOME\bpel\domains\domain_name\config directory.
    You can have 1 fault-bindings.xml per domain.
    3a) how can i make sure/ensure that Fault Management
    Framework is applied at each process level and/or at
    Domain level.Provide a fault-binding: with
    <process faultPolicy="YourPolicy"/>
    >
    4) Is there any Advantages, limitations / contrains
    that we have if we are opting Fault Management
    Framework (have to consider, before going to
    production).
    The framework is applicable for faults in "invoke" activity
    only.
    5) can i have any samples / URL for samples for Fault
    Management Framework in OTN or else where.
         so that i can work around.
    >
    >
    Other than 10133technotes.pdf do you have any other
    documentation which has an eloberative description
    about
    Fault Management Framework and its samples
    please guide me accordingly.Let me know if you need more information.

  • Sharing PIN try counter -CVM retry counter- EMV GP contactless payment card

    I am trying to find out information regarding Pin try counter (referred to as the CVM retry counter in the the Global Platform 2.1.1 specs). We require a multi application card - one Mchip application and one proprietary application - The GP spec states that the PIN is shared accross applications (global PIN) however I am trying to find out the status of PIN try counter -can it be shared accross applications or is this not feasible? Also same question regarding the application transaction counter (ATC).
    GP spec is not clear on this - but it seems that counter sharing is not a requirement. Even if not a requirement, is it possible? Thanks
    GP spec states:
    The CVM state may be used by an Application to assist in managing PIN related functions. The non-atomic states
    of the CVM may be seen within a Card Session. The CVM state, the Retry Limit, and the Retry Counter are
    closely related. All CVM state transitions are immediately visible to the Application that caused the transition as
    well as to any Applications that may be selected on other logical channels.

    Thanks for your reply. Pin try counter (PTC) sharing is very common in contact EMV cards, we have been led to believe that there is an architecture issue in the contactless cards that makes PTC sharing more difficult (no problem with our Mchip contact cards with same applictions resident). From what I understand, in the contactless environment, firewalls exist around each "application" that prevent the sharing of most data other that the global PIN.
    We require the PTC to be shard for the use case in which the PTC is blown and a PTC reset script must be sent to the card. The scripts generally only update data in the active appliction and not the other apps residing on the card, therefore if you have multiple PTCs, the correct one might not be updated by the script. This is very problematic for us.

  • Wht happens when we say retry and rethrow in fault policy?

    Hi All,
    Can any one explain me on retry and rethrow in bpel fault policy?
    wht i mean if a binding/remote fault occurs then how the flow of a fault will be executed. if a retry is there then how many retries? and if that retries r finished then wht happens?

    Please refer to this thread, Re: wht is retry and rethrow in AIA fault policies

  • SOA BPEL 11g (11.1.1.3.0) - Using encapsulated retries in fault-policy file

    Hi,
    We are using oracle SOA suite 11g (11.1.1.3.0)
    I'm trying to configure a fault-policy file so that it first retries 20 times every 20 secs, then reties 20 times every 10 minutes, then retries 23 times every hour, then retries 24 times every 6 hours and if the fault persists call a java action to send an email and then go to human-intervention. It seems however that only the first retry is executed. The rest ones are ignored and the action following the first retry failure is the Java Action. The fault-policy is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <faultPolicy version="0.0.1" id="TransferResponsibilityRequestProcessFaults"
    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:freeze="http://rom/cosmote/bpel/webservice/util" name="freeze:BpelWSFault">
    <condition>
    <action ref="ora-human-intervention"/>
    </condition>
    </faultName>
    <faultName xmlns:retry="http://rom/cosmote/bpel/webservice" name="retry:PendingRequestsFault">
    <condition>
    <action ref="ora-retry-20sec"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-retry-20sec">
    <retry>
    <retryCount>10</retryCount>
    <retryInterval>20</retryInterval>
    <retryFailureAction ref="ora-retry-10min"/>
    </retry>
    </Action>
         <Action id="ora-retry-10min">
    <retry>
    <retryCount>10</retryCount>
    <retryInterval>600</retryInterval>
    <retryFailureAction ref="ora-retry-1hour"/>
    </retry>
    </Action>
    <Action id="ora-retry-1hour">
    <retry>
    <retryCount>23</retryCount>
    <retryInterval>3600</retryInterval>
    <retryFailureAction ref="ora-retry-6hour"/>
    </retry>
    </Action>
         <Action id="ora-retry-6hour">
    <retry>
    <retryCount>24</retryCount>
    <retryInterval>21600</retryInterval>
    <retryFailureAction ref="ora-java"/>
    </retry>
    </Action>
    <Action id="ora-java">
    <javaAction className="gr.cosmote.bpel.util.JavaActionInCaseOfRetryFails"
    defaultAction="ora-human-intervention">
    <returnValue value="RETURNED" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    Is retrying with various intervals only done by using the tag <exponentialBackoff/>?
    Thanks for any response.

    I had a similar requirement, although not as elaborate as yours. After I failed to figure it out myself I filed a SR. Basically, you cannot restart a retry block after the first execution to avoid an infinite loop.
    If you need to send the e-mail after the 23rd hour, why not just retry until the 23rd hour and send an e-mail?

  • Fault Policy framework doesnt work - SOA 11g

    Hi All,
    I am trying to excute a composite in which i had a business fault and i had the swicth condition based on reply.
    If reply is other than success or failure i will throw a fault Invalid data and the fault is catched by teh fault handler. but the fault policy doesn't work.
    these is my fault ploicy
    <?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="0.0.1" id="FusionMidFaults"
    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:medns="http://schemas.oracle.com/mediator/faults"
    name="medns:mediatorFault">
    <condition>
    <action ref="MediatorJavaAction"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:remoteFault">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <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:runtimeFault">
    <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-retry"/>
    </condition>
    </faultName>
    <faultName xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    name="bpws:InvalidData">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <!-- <fault name="test" type="bpws:InvalidData" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" >
    <condition>
    <action ref="ora-retry"/>
    </condition>
    </fault> -->
    </Conditions>
    <Actions>
    <!-- Generics -->
    Note: The preseeded recovery action tag names (ora-retry, ora-human-intervention, ora-terminate, and so on) are only samples.
    You can substitute these names with ones appropriate to your environment.
    Notes: ¦ Fault policy file names are not restricted to one specific name.However, they must conform to the fault-policy.xsd schema file. ¦ Example
    12–5 provides an example of catching faults based on fault names. You can also catch faults based on message types, or on both:
    <Action id="ora-retry">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>2</retryInterval>
    <exponentialBackoff/>
    <retryFailureAction ref="java-fault-handler"/>
    <retrySuccessAction ref="ora-terminate"/>
    </retry>
    </Action>
    <Action id="ora-rethrow-fault">
    <rethrowFault/>
    </Action>
    <Action id="java-fault-handler">
    <javaAction className="in.ibm.com.FAPErrorHandler"
    defaultAction="ora-human-intervention" propertySet="properties">
    <returnValue value="OK" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <Action id="ora-terminate">
    <abort/>
    </Action>
    <Action id="default-replay-scope">
    <replayScope/>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    And my fault bindings.xml file
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicyBindings version="0.0.1"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="FusionMidFaults"/>
    <!--<composite faultPolicy="ServiceExceptionFaults"/>-->
    <!--<composite faultPolicy="GenericSystemFaults"/>-->
    </faultPolicyBindings>
    In 10g we used a default fauly policy and we used to register it used to work fine. Here there is soem thing wrong with the java class.?????
    my compsoite execution gives the following error
    <bpelFault>
    <faultType>
    <message>0</message>
    </faultType>
    <InvalidData>
    <part name="summary">
    <summary xsi:type="def:string">Invalid status from HOL</summary>
    </part>
    <part name="detail">
    <detail xsi:type="def:string">HOL Sends Invalid Status</detail>
    </part>
    <part name="code">
    <code xsi:type="def:string">Error</code>
    </part>
    </InvalidData>
    </bpelFault>
    as per my fault value but not calling my java class... how do i know my fault policy is working or not ?????This is teh errored fault
         Error Message: {http://schemas.xmlsoap.org/ws/2003/03/business-process/}InvalidData
    Fault ID     default/FAPCustomerInitiatedBarUnbar!1.0*374a445a-1396-438e-a7c4-76bf5c6404a8/FAPCustomerInitiatedBarUnbarProcess/210005-BpThw0-BpSeq30.11-3
    Fault Time     Oct 25, 2010 4:26:49 PM
    Non Recoverable System Fault :
    <bpelFault><faultType> <message>0</message></faultType><InvalidData xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Invalid status from HOL</summary></part><part name="detail"><detail xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">HOL Sends Invalid Status</detail></part><part name="code"><code xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Error</code></part></InvalidData></bpelFault>
    I verified the serverlog and diagonostic log file..
    the java class is not called what is wrong with my java class call in fault policy.
    Venugopal Raja
    Edited by: user12893766 on Oct 25, 2010 3:57 AM
    Edited by: user12893766 on Oct 25, 2010 5:35 AM

    Many Thanks.
    I had misinteprted the documentation I had read which stipulated the pattern of the test should be $fault.<PartName>/<LocationPath>.
    What I didnt realise was the $fault.<PartName> e.g. $fault.code returned the root node which in this case is <code>. Therefore no further location path is required as this is a simple type / string field rather than a complex type

  • Can SOA 11g fault policy handle XSD Validation errors from the Mediator?

    I would like all errors in my SOA process to go through the fault-policies.xml. But I don't seem to be able to catch any mediator error caused by an XSD validation failure. A sample of the sort of error I am trying to 'catch' is:
    Nonrecoverable System Fault          oracle.tip.mediator.infra.exception.MediatorException: ORAMED-01303:[Payload default schema validation error]XSD schema validation fails with error Invalid text 'A' in element: 'TermCode'Possible Fix:Fix payload and resubmit.
    My fault-policies.xml file is as follows:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <faultPolicy version="2.0.1"
         id="NewStudentRegistrationFaults"
    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:medns="http://schemas.oracle.com/mediator/faults" name="medns:1303">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages" name="rjm:GetNewStudentRegistrationFile">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:TYPE_ALL">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:mediatorException">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:bindingFault">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:remoteFault">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="java-fault-handler">
    <javaAction className="edu.villanova.soa.handlers.FaultNotificationHandler"
    defaultAction="ora-human-intervention" propertySet="faultNotificationProps">
    <returnValue value="OK" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <!-- Human Intervention -->
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <!-- Terminate -->
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    <!-- Property sets used by custom Java actions -->
    <Properties>
    <!-- Property set for FaultNotificationHandler customer java action -->
    <propertySet name="faultNotificationProps">
    <property name="from">[email protected]</property>
    <property name="to">[email protected]</property>
    <property name="subject">Reporting a SOA fault</property>
    </propertySet>
    </Properties>
    </faultPolicy>
    <faultPolicy version="2.0.1"
         id="MediatorFaults"
    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:medns="http://schemas.oracle.com/mediator/faults" name="medns:1303">
    <condition>
    <action ref="java-fault-handler"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="java-fault-handler">
    <javaAction className="edu.villanova.soa.handlers.FaultNotificationHandler"
    defaultAction="ora-human-intervention" propertySet="faultNotificationProps">
    <returnValue value="OK" ref="ora-human-intervention"/>
    </javaAction>
    </Action>
    <!-- Human Intervention -->
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    <!-- Terminate -->
    <Action id="ora-terminate">
    <abort/>
    </Action>
    </Actions>
    <!-- Property sets used by custom Java actions -->
    <Properties>
    <!-- Property set for FaultNotificationHandler customer java action -->
    <propertySet name="faultNotificationProps">
    <property name="from">[email protected]</property>
    <property name="to">[email protected]</property>
    <property name="subject">Reporting a SOA rejected msg. fault</property>
    </propertySet>
    </Properties>
    </faultPolicy>
    </faultPolicies>
    My fault-bindings.xml file is as follows:
    <?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">
    <composite faultPolicy="NewStudentRegistrationFaults"/>
    <component faultPolicy="MediatorFaults">
    <name>NewStudentRegistrationMediator</name>
    </component>
    <service faultPolicy="NewStudentRegistrationFaults">
    <name>GetNewStudentRegistrationFile</name>
    </service>
    </faultPolicyBindings>
    You'll notice that I've tried a number of ways (and various other combinations) to try to steer the error above into my Java fault handler but nothing has meet with success. The mplan is as follows:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <!--Generated by Oracle SOA Modeler version 1.0 at [2/3/10 1:21 PM].-->
    <Mediator name="NewStudentRegistationMediator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/sca/1.0/mediator"
    wsdlTargetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ftp/Experiments/NewStudentRegistration/GetNewStudentRegistrationFile%2F">
    <operation name="Get" deliveryPolicy="AllOrNothing" priority="4"
    validateSchema="true">
    <switch>
    <case executionType="queued" name="RegToBanner.insert_2">
    <action>
    <transform>
    <part name="$out.NewstudentregistrationCollection"
    function="xslt(xsl/NewStudentRegistration_To_NewstudentregistrationCollection.xsl, $in.body)"/>
    </transform>
    <invoke reference="RegToBanner" operation="insert"/>
    </action>
    </case>
    </switch>
    </operation>
    </Mediator>
    I'm a newbie to Oracle SOA. So perhaps I am missing the obvious. But I haven't read much in the documentation specifically about using the XSD validation option on the mediator and have seen nothing specifically about catching this sort of exception in the fault policy (apart from the faults I already have in my policy). Can anyone suggest what I am doing incorrectly here or perhaps whether what I am attempting to do is not possible? Thanks.
    - Cris

    Has anyone got it working yet?
    In my case, I have the following sequence:
    FileAdapter -> Mediator1 -> Mediator2->DB Adapter
    I am deliberately introducing validation error in File. Isn't it correct to assume Fault framework would get triggered at Mediator1 level since we are invoking FileAdapter service?
    I am getting a strange behaviour. If I enable XSD validation at Mediator1 level, process is Faulted with no re-try option. However, if I enable XSD validation ONLY at Mediator2 level, I get Recoverable fault. There seems to be some disconnect between documentation and reality. I am using JDeveloper 11.1.1.3.0 version and SOA Suite 11g.
    Thanks,
    Amjad.

  • Retry in Fault Policy is not Working..

    Hi,
    - I have created sync BPEL Process and invoking JDE BSSV in the same.
    - I want to retry invoking BSSV in case of remote and binding fault.
    - I am using Fault Policy to achieve the same but RETRY is not Working._
    I am using below Fault Binding / Fault Policy for the same..
    ........................Fault BINDING.........................................
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicyBindings version="3.0"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <composite faultPolicy="BPELFaults"/>
    </faultPolicyBindings>
    .......................Fault Policy...............................................
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <faultPolicy version="3.0" id="BPELFaults"
    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>
    <condition>
    <action ref="ora-retry"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-retry">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>10</retryInterval>
    <retryFailureAction ref="ora-rethrow-fault"/>
    <exponentialBackoff/>
    </retry>
    </Action>
    <Action id="ora-rethrow-fault">
         <rethrowFault/>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    I tried using "humanIntervention" instead of Retry and it worked
    but Retry dont work..
    I am stuck on this error from 2 days but unable to achieve it :(
    I will appreciate if someone can provide any Solution on the same..
    Thanks in Advance :)

    Hi Vijay,
    Thanks for your response..
    Please find below Path For policy Files, fault policy Content and Exception*:*
    path for your policy files
    <service name="XXXXXXXImpl"
    ui:wsdlLocation="XXXXXXXXProcess.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/XXXXXXXXXToJDEE1App/XXXXXXXXXImpl/XXXXXXXXXProcess#wsdl.interface(CustomerSearchPIPS0238Process)"/>
    <binding.ws port="http://xmlns.oracle.com/XXXXXXXXXXToJDEE1App/XXXXXXXXXXImpl/XXXXXXXXProcess#wsdl.endpoint(XXXXXXXXImpl/XXXXXXXProcess_pt)">
    <property name="weblogic.wsee.wsat.transaction.flowOption"
    type="xs:string" many="false">NEVER</property>
    </binding.ws>
    </service>
    *<property name="oracle.composite.faultPolicyFile">fault-policies.xml</property>*
    *<property name="oracle.composite.faultBindingFile">fault-bindings.xml</property>* <
    component name="XXXXXXXXXProcess" version="1.1">
    <implementation.bpel src="XXXXXXXXProcess.bpel"/>
    <property name="bpel.config.transaction" type="xs:string" many="false">required</property>
    </component>
    fault-policy.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="3.0" id="CustomerSearchPIPPolicy"
    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-action-retry"/>
         </condition>
         </faultName>
         </Conditions>
         <Actions>
    <Action id="ora-action-retry">
    <retry>
    <retryCount>3</retryCount>
    <retryInterval>10</retryInterval>
    <retryFailureAction ref="ora-rethrow-fault"/>
    <exponentialBackoff/>
    </retry>
    </Action>
         <Action id="ora-rethrow-fault">
         <rethrowFault/>
         </Action>
    <Action id="ora-human-intervention">
         <humanIntervention/>
         </Action>
         <Action id="ora-terminate">
         <abort/>
         </Action>
         </Actions>
    </faultPolicy>
    </faultPolicies>
    Fault-binding.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicyBindings version="3.0"
    xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <!--composite faultPolicy="CustomerSearchPIPPolicy"/-->
    <component faultPolicy="CustomerSearchPIPPolicy">
    <name>XXXXXXXXXXProcess</name>
    </component>
    </faultPolicyBindings>
    Exception
    Message     javax.xml.rpc.soap.SOAPFaultException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail.
    Supplemental Detail     at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.generateSoapFaultException(WebServiceEntryBindingComponent.java:1193)
    at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:971)
    at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)
    at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1112)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)
    at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:233)
    at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:194)
    at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:485)
    at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:528)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Please suggest me, what else i can do.. this is heppening only in case of retryAction. except this every thing workin but as per requirement i have to use retry Action.

  • How to retry a external webservice without fault policy framework?

    hi ,
    -->i want retry a external web service if invocation fails first time, without using fault policy frame work how to achieve this?
    -->I have a Advanced Queue in OSB, i am Dequeueing that  , i have a proxy to deque the AQ topic, with any reason dequeue fails it should retry for number of times and then handled in Exception Hnadler in OSB.
    How to retry the AQ to Dequeue?
    Thanks,
    Shekar

    We are experiencing exactly the same problem!
    Only in our case its Wssp1.2-2007-Wss1.0-X509-Basic256.xml
    We encrypt and sign the request, the server processes it correctly.
    But afterwards we send a "naked" request(not encrypted nor signed) and still the WLS processes it.
    Is there a setting of some sort that enables strict enforcement of the policy?

Maybe you are looking for

  • Assigning values to the charecterstics in a purchase order

    Hello, I have to create the configuration object and assign the values to it in a purchase order. I am able to generate the temporary CUOBJ using FM CUXM_SET_CONFIGURATION but not able to save it to the database. I am using FM CUCB_CONFIGURATION_TO_D

  • Or between prompted columns in report filter

    Hi, If I give an 'Or' between two prompts in the report filter, as below:- Value Date is prompted OR Trade Date is prompted ... then the condition does not apply on the report. I am using dashboard prompts OBI version is 10.1.3.4.1 Is there a way aro

  • Can you do a partial publish?

    I decided to enable "comments" on my blog, not realizing it would be added to ALL of my blog entries. Now when I go to publish, it starts fine, but eventually I get a "publish error" and nothing can be uploaded. I assume this is because there is too

  • How I restore my mac air to factory

    How do I restore my air to factory settings

  • T500 Graphic Issue (atikmdag.sys)

    Hi, I want to mention I've already went ahead and tried every other possible solution suggested on the web before coming here, but either I am still doing something wrong, or I have to assume my ATI just died... I don't have much experience with comp