Fault policies  for Mediator and BPEL

Hi
Can i use same fault-policies.xml for both mediator and BPEL or i need to create different fault-policies.xml

Yes you can use the same file, just you need to mention the BPEL/Mediator name with in component tag. Like below in fault policy file.
<component faultPolicy="FusionMidFaults">
<name>MediatorName</name>
<name>BPELName</name>
</component>
You can refer the below URL.
https://blogs.oracle.com/ateamsoab2b/entry/fault_management_framework_by_example
*7) Give points - it is good etiquette to reward an answerer points (5 - helpful; 10 - correct) for their post if they answer your question.*
thanks,
Vijay

Similar Messages

  • Using fault-policies with mediator and db Adapter doesn't work

    Please help! I'm stuck on this for 2 days....
    Hi Friends.
    In my project I am trying to give some treatment to an exception from a db adapter running a pl/sql procedure.
    I am forcing a raise_application_error in the procedure in order to treat the exception and I'd like the fault-police to treat it as "human-intervention".
    The db-adapter is wired to a mediator:
    jms-service ----> Mediator -----> Jca db adapter
    When I get the exception the log says:
    9d8bff56a1 due to: BINDING.JCA-12563[[
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'PersistirODS' failed due to: Stored procedure invocation error.
    Error while trying to prepare and execute the FORNECEDOR.UPSERTFORNECEDOR API.
    An error occurred while preparing and executing the FORNECEDOR.UPSERTFORNECEDOR API. Cause: java.sql.SQLException: ORA-20101: Deu Merda
    ORA-06512: at "FORNECEDOR.UPSERTFORNECEDOR", line 405
    ORA-06512: at line 1
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API.  This exception is considered not retriable, likely due to a modelling mistake.  To classify it as retriable instead add property nonRetriableErrorCodes with value "-20101" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    and then it looks like it's trying to run some fault-police but it says:
    [2014-04-10T20:01:39.667-03:00] [AdminServer] [WARNING] [] [oracle.integration.platform.faulthandling] [tid: Workmanager: , Version: 0, Scheduled=false, Started=false, Wait time: 0 ms\n] [userId: weblogic] [ecid: 11d1def534ea1be0:-1fa77a00:145468d59e7:-8000-000000000002801a,0] [APP: soa-infra]  [RejectedMsgHandling]Unable to apply policies on the rejected message with id - 60046[[
    oracle.fabric.common.FabricException: Cannot resolve binding to a fault policy [Faulted Activity Details:
    Activity Name=null
    Activity Id=null
    Activity lineNumber=null
    Reference Name=null
    WsdlLocation=null
    ActivityType=null
    Here are my fault-policies and fault-bindings files:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicyBindings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xsi:schemaLocation="http://schemas.oracle.com/bpel/faultpolicy ../xsd/FaultBindings.xsd"
                         xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <composite faultPolicy="fault-policy"/>
    </faultPolicyBindings>
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicies xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://schemas.oracle.com/bpel/faultpolicy ../xsd/FaultPolicies.xsd"
                   xmlns="http://schemas.oracle.com/bpel/faultpolicy">
      <faultPolicy id="fault-policy">
        <Conditions>
          <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults"
    name="medns:mediatorFault"  >
            <condition>
              <action ref="default-human-intervention"/>
            </condition>
          </faultName>
          <faultName xmlns:rjm="http://schemas.oracle.com/sca/rejectedmessages" name="rjm:PersistirODS">
            <condition>
              <action ref="default-human-intervention"/>
            </condition>
          </faultName>
          <faultName>
            <condition>
              <action ref="default-human-intervention"/>
            </condition>
          </faultName>
        </Conditions>
        <Actions>
          <Action id="default-human-intervention">
            <humanIntervention/>
          </Action>
        </Actions>
      </faultPolicy>
    </faultPolicies>
    Again
    Please help! I'm stuck on this for 2 days....

    Could you try specifying test element inside condition like the following one
        <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:mediatorFault">
            <condition>
             <test>contains($fault.mediatorErrorCode, "AppropriateErrorCode")</test>
              <action ref="default-human-intervention"/>
            </condition>
          </faultName>

  • Business faults defined in fault policies for synchonous processing

    Hi everyone,
    I have an issue I would like to use your knowledge. I am re-throwing business faults from a synchronous process to a calling synchronous client. Instead of the business fault a remote fault is being propagated back to the calling client using SOA suite 11g for synchronous SCA components. This then causes the fault policies to trigger an incorrect policy.
    Please see below what happens and the error returned.
    1. I have created a synchronous process called SynchrnousBusinessFault that invokes another synchronous process called SynchrnousThrowBusinessFault.
    2. The SynchrnousThrowBusinessFault re-throws a business fault when receiving a text 'businessfault'.
    3. The fault is automatically propaged back to the calling client SynchrnousBusinessFault without the use of any CatchAll branch. The error re-thrown is correct see below:
    <bpelFault>
    <faultType>
    <message>1</message>
    </faultType>
    <BusinessFault>
    <part name="payload">
    <BusinessFault>
    <FaultCode>1000</FaultCode>
    <FaultMessage>Own Business Fault</FaultMessage>
    </BusinessFault>
    </part>
    </BusinessFault>
    </bpelFault>
    4. The callback client SynchrnousBusinessFault receives the fault and should trigger the fault policies for the business fault I have created. The business fault in the fault policies look as follow:
    <faultName xmlns:ns1="http://www.businessfault/example"
    name="ns1:BusinessFault">
    <condition>
    <action ref="business-fault-handler"/>
    </condition>
    </faultName>
    <Action id="business-fault-handler">
    <humanIntervention/>
    </Action>
    This business fault is not triggered in the fault policies and instead the remote fault policy. The reason is that after the re-thrown of the fault the business fault is followed by another fault. I don't understand where this remote fault comes from or whatever this is expected behaviour. Please see the fault below.
    I can provide the example SCA component if required.
    Many Thanks for your time.
    Ren
    om.oracle.bpel.client.BPELFault: faultName: {{http://www.businessfault/example}BusinessFault} messageType: {{http://xmlns.oracle.com/Synchrnous_scenario_jws/SynchrnousThrowBusinessFault/SynchrnousThrowBusinessFault}FaultMessage} parts: {{ payload=<BusinessFault xmlns="http://www.businessfault/example">  <FaultCode>1000</FaultCode>  <FaultMessage>Own Business Fault</FaultMessage> </BusinessFault> } at com.collaxa.cube.engine.ext.bpel.common.BPELWMPHelper.createBPELFault(BPELWMPHelper.java:1071) at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELThrowWMP.__executeStatements(BPELThrowWMP.java:43) at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:157) at com.collaxa.cube.engine.CubeEngine._performActivity(CubeEngine.java:2585) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2444) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1121) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:220) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:322) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4497) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4428) at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:685) at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:116) at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:153) at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean.syncCreateAndInvoke(BPELEngineBean.java:107) 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.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104) at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61) at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106) at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105) at sun.reflect.GeneratedMethodAccessor756.invoke(Unknown Source) 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.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69) 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.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37) at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:55) 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 $Proxy175.syncCreateAndInvoke(Unknown Source) at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.syncCreateAndInvoke(BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.java:911) at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:784) at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:524) at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:485) at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:164) at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.request(CubeDeliveryBean.java:607) 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.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104) at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61) at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106) at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105) at sun.reflect.GeneratedMethodAccessor756.invoke(Unknown Source) 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.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69) 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.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37) at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:55) 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 $Proxy172.request(Unknown Source) at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.request(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:829) at oracle.fabric.CubeServiceEngine.request(CubeServiceEngine.java:354) at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139) at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179) at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:144) 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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:59) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy185.request(Unknown Source) at oracle.integration.platform.blocks.local.LocalInvocationProcessor.request(LocalInvocationProcessor.java:232) at oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.request(WebServiceExternalBindingComponent.java:514) at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139) at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179) at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:144) 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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy185.request(Unknown Source) at oracle.fabric.CubeServiceEngine.requestToMesh(CubeServiceEngine.java:784) at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:256) at com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke(InvokeHandler.java:1009) at com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke(InvokeHandler.java:512) at com.collaxa.cube.engine.ext.common.InvokeHandler.handle(InvokeHandler.java:123) at com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:63) at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:157) at com.collaxa.cube.engine.CubeEngine._performActivity(CubeEngine.java:2585) at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2444) at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1121) at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:73) at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:220) at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:322) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4497) at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4428) at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:685) at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:116) at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:153) at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean.syncCreateAndInvoke(BPELEngineBean.java:107) 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.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104) at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61) at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106) at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105) at sun.reflect.GeneratedMethodAccessor756.invoke(Unknown Source) 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.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69) 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.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37) at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:55) 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 $Proxy175.syncCreateAndInvoke(Unknown Source) at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.syncCreateAndInvoke(BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.java:911) at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:784) at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:524) at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:485) at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:164) at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.request(CubeDeliveryBean.java:607) 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.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104) at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413) at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61) at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106) at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:105) at sun.reflect.GeneratedMethodAccessor756.invoke(Unknown Source) 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.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69) 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.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37) at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:55) 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 $Proxy172.request(Unknown Source) at com.collaxa.cube.engine.ejb.impl.bpel.BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.request(BPELDeliveryBean_5k948i_ICubeDeliveryLocalBeanImpl.java:829) at oracle.fabric.CubeServiceEngine.request(CubeServiceEngine.java:354) at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:139) at oracle.integration.platform.blocks.mesh.MessageRouter.request(MessageRouter.java:179) at oracle.integration.platform.blocks.mesh.MeshImpl.request(MeshImpl.java:144) 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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144) at oracle.integration.platform.metrics.PhaseEventAspect.invoke(PhaseEventAspect.java:59) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy185.request(Unknown Source) at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.doMessageProcessing(WebServiceEntryBindingComponent.java:1169) at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:768) at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113) at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1160) at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:888) at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:561) at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:216) at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:179) at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:417) at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:480) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:326) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) </message>

    So that means - only fault originating from invoke activity in BPEL can be associated with a fault policy. No other fault can be associated. Even if I throw a selectionFault from throw activity, that will not be captured. Only fault from invoke activity can be associated with a fault policy.
    Please confirm.
    Thanks,
    Edited by: 833944 on Feb 24, 2011 9:36 PM

  • Oracle MDS cache for B2B and BPEL performance Issue

    Hi All,
    We have xmx set to 4GB and we have set the b2b.mdsCache to 400 MB.
    Our process runs as JMS --> B2B --> JMS --> Composite app(mediator and BPEL)--> OSB
    In composite application in one of the step mediator publishes events to EDN.
    Now when we dont have B2B MDS cache set to 400 MB, The composite process completes within a second
    But when we have b2b mds cache in b2b-config.xml set to 400 MB then the composite app takes 20 sec to complete. when we analyzed this we found that mediator is taking 10 second to publish the even to EDN which inturn increasing the over all processing time as message is being published to END twice in this composite app.
    Even subscribing to event is very slow almost 9 sec.
    Env Details :
    Soa 11.1.1.5 on linus 5.1, in dev mode with default settings
    xms - xmx = 2GB - 4GB
    We set the b2b.mdscache to 400 mb as per the Oracle doc as below:
    A ratio of 5:1 is recommended for the xmx-to-mdsCache values. For example, if the xmx size is 1024, maintain mdsCache at 200 MB
    Regards
    SVS

    Unfortunatly, the only way to tune the cach buffer chains latch is on the application side.
    Look for ways to eliminate subqueries by replacing them with inline views and joins. Given the high fetch rate in the buffer cache, this would appear to be the problem.

  • 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

  • Fault Policies using retry and java hadler

    Hi,
    I am using fault policies to handle a remote and binding faults.Whenever i get a fault i want to retry for 5 times and then call a java handler, which will insert the error into queue.
    I have written the fault policies and java handler.But the problem is for each retry it is going to Java handler and pushing the message to queue.
    Here is my Fault policies file.
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <faultPolicy version="2.0.1" id="FaultHandling-faultpolicy">
    <Conditions>
    <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    name="bpelx:remoteFault">
    <condition>
    <action ref="ora-retry"/>
    </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.xmlsoap.org/ws/2003/03/business-process/"
    name="bpws:selectionFailure">
    <condition>
    <action ref="ora-retry"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id="ora-terminate">
    <abort/>
    </Action>
    <Action id="ora-replay-scope">
    <replayScope/>
    </Action>
    <Action id="ora-retry">
    <retry>
    <retryCount>7</retryCount>
    <retryInterval>2</retryInterval>
    <retryFailureAction ref="ora-java"/>
    </retry>
    </Action>
    <Action id="ora-java">
    <javaAction className="faultpolicies.MyFaultHandler"
    defaultAction="ora-human-intervention"
    propertySet="customLogProps">
    </javaAction>
    </Action>
    <Action id="ora-rethrow-fault">
    <rethrowFault/>
    </Action>
    <Action id="ora-human-intervention">
    <humanIntervention/>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    Pls guide me what should be done..
    Thanks.

    There is no point in retry on binding fault, rather you can raise it as exception and catch it in sepcific catch block or catch all will handle it.
    Ideally this particular instance will be faulted and if required you can customize to send a mail with fault string to developer or support person or dba
    This type of fault need human intervension to fix this code or it could be data issue.
    - It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Thanks,
    Vijay

  • Agreement Configuration for B2B and BPEL integration

    I configured a listening channel on B2B to pick up custom xml files from a folder. I have a BPEL SOA composite that has a B2B adapter as a service to receive the custom xml files from B2B through direct integration. Since B2B has to send the xml file only to a SOA composite and not to another trading partner, how do I configure the agreement in B2B?
    Appreciate your help.

    Hi Naresh and Anuj,
    Thanks a lot for your responses.
    This is the problem that I am facing now.
    As per your suggestion, I deployed an inbound agreement that specifies that the Sender is the Other TP (EPCOD) and the Receiver is the Host TP EPCOZ). Also I left the channel for the Host TP blank in the agreement - did not select anything from the drop down.
    When I drop the file into the folder specified in the internal listening channel, with the following naming convention (EPCOZ_PayableInvoice_1.0_Custom_1234.xml), the file gets picked up, but I get the following error message:
    Description: Agreement not found for trading partners: FromTP EPCOZ, ToTP EPCOZ with document type PayableInvoice-1.0-OUTBOUND.
    For some reason, it thinks that both the sender and the receiver are the same. If I reverse the file name as EPCOD_PayableInvoice_1.0_Custom_1234.xml, then it thinks that the From TP is EPCOZ and the To TP is EPCOD.
    Any ideas? Appreciate your help.
    Thanks.
    Raja

  • Fault policies not getting executed for called BPEL process

    Hi,
    I am facing one issue in execution of fault policy for a called BPEL Process.
    I have two BPEL Processes - BPELProcess1 and BPELProcess2.
    We have fault-policies and fault-bindings file.
    Case1 - BPELProcess2 is synchronous :-
    BPELProcess2 throws a fault of selectionFailure.
    Now this fault is defined in fault-policies and fault policy is bound to BPELProcess2 component in fault-bindings.xml file.
    But this fault policy is NOT getting executed.
    This selectionFailure fault from BPELProcess2 goes unhandled and in BPELProcess1, invoke activity gets this unhandled fault and raises a fault "remoteFault".
    This remotefault is also defined in fault-bindings and bound to BPELProcess1 component. Here fault policy bound to BPELProcess1 is working fine.
    So problem is that for called process, fault policies are not getting executed while for calling process, they are getting executed.
    Case1 - BPELProcess2 is Asynchronous
    BPELProcess2 is asynchronous. So same situation happening here. Fault policy for BPELProcess2 is not getting executed on throwing selectionFailure.
    But now here, since BPELProcess2 is async in nature, BPELProcess1 is not getting response and it is always waiting for response which is wrong.
    So how can we use fault policies in this case?
    Please suggest.
    Thanks & Regards,
    Parshant

    So that means - only fault originating from invoke activity in BPEL can be associated with a fault policy. No other fault can be associated. Even if I throw a selectionFault from throw activity, that will not be captured. Only fault from invoke activity can be associated with a fault policy.
    Please confirm.
    Thanks,
    Edited by: 833944 on Feb 24, 2011 9:36 PM

  • Urgent : Fault Policies in 11g

    Hi All,
    im trying to use fault policies in 11g. as per documentation i can have
    1). the fault policies and fault bindings in the same composite. this works fine
    2). In a different location that is specified with two properties that you add to the composite.xml file. This option is useful if a fault policy must be used by multiple SOA composite applications. This option overrides any fault policy files that are included in the same directory as the composite.xml file. Example 12-3 provides details about these two properties. In this example, the fault policy files are placed into the SOA Metadata Service (MDS) shared area.
    <property
    name="oracle.composite.faultPolicyFile">oramds://apps/faultpolicyfiles/
    fault-policies.xml
    </property>
    <property
    name="oracle.composite.faultBindingFile">oramds://apps/faultpolicyfiles/
    fault-bindings.xml
    </property>
    Problem Description
    i tried to work on both approches
    Scenario 1
    =====================================================
    1). I have 2 Composites with BPEL process
    2). First composite will have fault policies and binidings in the same project as composite.xml and invokes the second composite
    3). Turn Off the First composite.
    remote fault is propagated and waits for recovery.
    Scenario 1
    =====================================================
    1). I have 2 Composites with BPEL process
    2). First composite will have fault policies and binidings are deployed to shared metadata and invokes the second composite and reffered as shown below
    3). Turn Off the First composite.
    remote fault is not getting propagated and process is getting faulted.
    please find the attached composite.xml file i have used.
    is this the correct way to include the fault policies .. if any body has already worked on fault policies in 11G and accessed them thru share metadata are please suggest me how to resolve this, if not any working example and pointer to setup the properties will be of great help.
    <?xml version="1.0" encoding="UTF-8" ?>
    <!-- Generated by Oracle SOA Modeler version 1.0 at [12/07/09 12:32]. -->
    <composite name="TestHello"
    revision="1.0"
    label="2009-07-12_12-32-01_093"
    mode="active"
    state="on"
    xmlns="http://xmlns.oracle.com/sca/1.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
    xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy"
    xmlns:ui="http://xmlns.oracle.com/soa/designer/">
    <import namespace="http://xmlns.oracle.com/SOAMetaData/TestHello/Lakshmi"
    location="Lakshmi.wsdl" importType="wsdl"/>
    <import namespace="http://xmlns.oracle.com/SOAMetaData/Hello/laks1"
    location="http://INT01723:8001/soa-infra/services/default/Hello/laks1.wsdl"
    importType="wsdl"/>
    <service name="lakshmi_client_ep" ui:wsdlLocation="Lakshmi.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/SOAMetaData/TestHello/Lakshmi#wsdl.interface(Lakshmi)"
    callbackInterface="http://xmlns.oracle.com/SOAMetaData/TestHello/Lakshmi#wsdl.interface(LakshmiCallback)"/>
    <binding.ws port="http://xmlns.oracle.com/SOAMetaData/TestHello/Lakshmi#wsdl.endpoint(lakshmi_client_ep/Lakshmi_pt)"/>
    <callback>
    <binding.ws port="http://xmlns.oracle.com/SOAMetaData/TestHello/Lakshmi#wsdl.endpoint(lakshmi_client_ep/LakshmiCallback_pt)"/>
    </callback>
    <property name="oracle.composite.faultPolicyFile">oramds://apps/faultpolicyfiles/fault-policies.xml</property>
    <property name="oracle.composite.faultBindingFile">oramds://apps/faultpolicyfiles/fault-bindings.xml</property>
    </service>
    <component name="Lakshmi">
    <implementation.bpel src="Lakshmi.bpel"/>
    <property name="oracle.composite.faultPolicyFile">oramds://apps/faultpolicyfiles/fault-policies.xml</property>
    <property name="oracle.composite.faultBindingFile">oramds://apps/faultpolicyfiles/fault-bindings.xml</property>
    </component>
    <reference name="Service1"
    ui:wsdlLocation="http://INT01723:8001/soa-infra/services/default/Hello/laks1.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/SOAMetaData/Hello/laks1#wsdl.interface(laks1)"
    callbackInterface="http://xmlns.oracle.com/SOAMetaData/Hello/laks1#wsdl.interface(laks1Callback)"/>
    <binding.ws port="http://xmlns.oracle.com/SOAMetaData/Hello/laks1#wsdl.endpoint(laks1_client_ep/laks1_pt)"
    location="http://INT01723:8001/soa-infra/services/default/Hello/laks1_client_ep?WSDL"/>
    <callback>
    <binding.ws port="http://xmlns.oracle.com/SOAMetaData/Hello/laks1#wsdl.endpoint(laks1_client_ep/laks1Callback_pt)"/>
    </callback>
    <property name="oracle.composite.faultPolicyFile">oramds://apps/faultpolicyfiles/fault-policies.xml</property>
    <property name="oracle.composite.faultBindingFile">oramds://apps/faultpolicyfiles/fault-bindings.xml</property>
    </reference>
    <wire>
    <source.uri>lakshmi_client_ep</source.uri>
    <target.uri>Lakshmi/lakshmi_client</target.uri>
    </wire>
    <wire>
    <source.uri>Lakshmi/Service1</source.uri>
    <target.uri>Service1</target.uri>
    </wire>
    </composite>
    Thanks
    Nadh
    when i try the second scenario it is not picking up the fault

    A Sample composite.xml for the External fault-policy and fault-binding files.
    <?xml version="1.0" encoding="UTF-8" ?>
    <!-- Generated by Oracle SOA Modeler version 1.0 at [6/3/09 4:09 PM]. -->
    <composite name="Shared_MDS_Fault_Policy_Test"
    revision="1.0"
    label="2009-06-03_16-09-26_218"
    mode="active"
    state="on"
    xmlns="http://xmlns.oracle.com/sca/1.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
    xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy"
    xmlns:ui="http://xmlns.oracle.com/soa/designer/">
    <import namespace="http://xmlns.oracle.com/Shared_MDS_Fault_Policy_App/Shared_MDS_Fault_Policy_Test/Med_SharedMDS_Fault_Policy"
    location="Med_SharedMDS_Fault_Policy.wsdl" importType="wsdl"/>
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/file/Shared_MDS_Fault_Policy_App/Shared_MDS_Fault_Policy_Test/OutFile%2F"
    location="OutFile.wsdl" importType="wsdl"/>
    <service name="Med_SharedMDS_Fault_Policy_ep"
    ui:wsdlLocation="Med_SharedMDS_Fault_Policy.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/Shared_MDS_Fault_Policy_App/Shared_MDS_Fault_Policy_Test/Med_SharedMDS_Fault_Policy#wsdl.interface(execute_ptt)"/>
    <binding.ws port="http://xmlns.oracle.com/Shared_MDS_Fault_Policy_App/Shared_MDS_Fault_Policy_Test/Med_SharedMDS_Fault_Policy#wsdl.endpoint(Med_SharedMDS_Fault_Policy_ep/execute_pt)"/>
    </service>
    *<property name="oracle.composite.faultPolicyFile">oramds:/apps/fault-policies.xml*
    *</property>*
    *<property name="oracle.composite.faultBindingFile">oramds:/apps/fault-bindings.xml*
    *</property>*
    <component name="Med_SharedMDS_Fault_Policy">
    <implementation.mediator src="Med_SharedMDS_Fault_Policy.mplan"/>
    </component>
    <reference name="OutFile" ui:wsdlLocation="OutFile.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/file/Shared_MDS_Fault_Policy_App/Shared_MDS_Fault_Policy_Test/OutFile%2F#wsdl.interface(Write_ptt)"/>
    <binding.jca config="OutFile_file.jca"/>
    </reference>
    <wire>
    <source.uri>Med_SharedMDS_Fault_Policy_ep</source.uri>
    <target.uri>Med_SharedMDS_Fault_Policy/Med_SharedMDS_Fault_Policy</target.uri>
    </wire>
    <wire>
    <source.uri>Med_SharedMDS_Fault_Policy/OutFile</source.uri>
    <target.uri>OutFile</target.uri>
    </wire>
    </composite>
    And also Please make sure that you are refering to correct oramds: location as mentioned by suhariha

  • How to careate Fault Policies.xml file in J Developer.

    Hi Friends,
    I want to handle Mediator Exceptions for that i need to create fault policies.xml file and i am new for mediator..can you Explain How to create fault policies.xml in Jdeveloper ...May i know what's the steps to folllow.. and i refered http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/med_faulthandling.htm#BABBGIDE
    this link also but i didn't get from that..?

    There is no UI support to create fault-policies.xml. One has to create it manually based on the schema defined in the doc(the link you posted). You can see the sample file here - http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/med_faulthandling.htm#CHDFAEEF.
    -Sandeep

  • Fault Policy for any fault

    Hi,
    Is there any way I can write a fault policy in such a way that for any kind of fault, go to human intervention ?
    I am excepting something like * in place of fault names.
    -Sridhar

    Hi,
    If you are on soa suite 10.1.3.3 or higher you can use the new fault framework. In the directory [oracle_home]/bpel/domains/[name]/config you have a fault-bindings.xml file. Change it contents to:
    <?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="MyPolicy"/>
            <partnerLink faultPolicy="MyPolicy"/>
    </faultPolicyBindings>Then create a file named [oracle_home]/bpel/domains/[name]/config/fault-policies/MyPolicy.xml and with contents:
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicy    version="2.0.1"
                    id="MyPolicy"
                    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:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:bindingFault">
          <condition>
            <action ref="ora-human-intervention"/>
          </condition>
        </faultName>
      </Conditions>
      <Actions>
        <Action id="ora-retry">
           <retry>
              <retryCount>5</retryCount>
              <retryInterval>4</retryInterval>
              <exponentialBackoff />
              <retryFailureAction ref="ora-human-intervention"/>
           </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>Then restart your bpel oc4j container and all remote and binding faults will result in human intervention.
    Kind Regards,
    Andre

  • Monitoring template for hosts and listeners

    I've created a monitoring template through "setup -> monitoring template -> create". Under the "policies" tab I am unable to locate some policies for hosts and listeners such as "Listener.ora Permission" and "Open Ports". However, I can see (under policy rules library) that those policies are applied to all targets by default. How do I add those policies into my monitor template?
    I am using 10.2.0.4 OEM grid control repository and agents on Sun Solaris 10.
    Thx.

    Hi,
    The Hyper-V guest can be specific the Memory weight and total number of CPU, please first confirm you have set the proper value for the vm workload.
    You can refer the following step by step Hyper-V performance troubleshooting steps set the performance monitor:
    Performance Management: Monitoring CPU Resources….
    http://blogs.technet.com/b/chrisavis/archive/2013/03/25/performance-management-monitoring-cpu-resources.aspx
    Monitoring Hyper-V Performance
    http://blogs.msdn.com/b/tvoellm/archive/2009/04/23/monitoring-hyper-v-performance.aspx
    Measuring Performance on Hyper-V
    http://msdn.microsoft.com/en-us/library/cc768535(v=bts.10).aspx
    Hope this helps.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Looking for Beta tester for a Mobile Fault Notifier for CW

    Pardon the interuption.  We are working on finishing a Mobile Fault Notifier for Blackberry and iPhone handhelds and need some help with the beta testing.  If you are interested in putting our pre GA version through its paces in the field please go here for more details about functionality and requirements.
    http://mimirsoftware.com/dfmbbabeta.html
    Thanks,
    Richard
    Mimir Software

    may i?

  • CSA Policies for dynamic users

    Hi,
    We are going to start with our CSA deployment (CSA Ver 6.0.2) and having following points to be clarify. Appreciate if someone can advise me on the bellow points:
    1) How  policies to be dynamically applied to the user, independent of which workstation / server the user is logging on to. This way IT support staff should be able to troubleshoot or login to user's PCs regardless of its installed policies.
    In other way... policies to be applied based on users accounts (users login name or Active directory name)
    2) how much bandwidth/traffic will consume to run 200 agents to communicate with MC Server (as some of the clients are located remotely via microwave link)
    3) What are best practise to run the policies for agents and severs.
    We going to have 1000 clients with 100 servers.
    Thanks in advance.

    I use user states to allow admin users to do things by using a rule module that applies only to them.
    Look at the built in user state sets to become familiar with the structure.  If you use AD to define roles, you can create user state sets that include certain AD groups and assign them to rule modules that allow the activities you want them to perform.
    For example, I have an AD group called AD\ServiceDesk.  I created a user state set called AD Service Desk Members with users matching and groups matching AD\ServiceDesk.
    I created a rule module that allows activities that are denied by other rule modules and applied the user state set to it.
    I associated it with the standard Desktop policy that is associated with the group.
    Any member of that group can do things on any host in the Desktops group but standard users cannot.
    Tom

  • Can error handling framework use fault policies and BPEL catch blocks

    As part of an integrated customer solution that makes substantial use of SOA Suite (including OSB, BPEL, Mediator, etc) we are in the process of designing an “Error Hospital” subsystem to expose a web service API specifically for BPEL services and/or the OSB layer to call whenever they encounter an exception which they cannot handle so that the appropriate user is notified of the error (via email) and the error is recorded (in an appropriate common fault format, with error codes elaborated into more meaningful descriptions, etc) within OEM, immediately prior to returning the exception to the caller.
    The problem we have experienced in our design is as follows:
    •     We have an error handling service to be called, inside the BPEL catch blocks, when an error occurs to notify the appropriate user, via email, that an error has occurred;
    •     We also use the error handling XML fault-policies so that we can recover from an error using OEM (via human intervention);
    •     The error service needs to be called before the process is suspended (waiting for human intervention) so the email notification and error message formatting occurs BEFORE the recovery action. Unfortunately the fault policies trigger BEFORE the error handler is able to transform the error into the appropriate format and notify the user so the error recorded is not the reformatted one and the user is never notified.
    The key question is how can a BPEL, upon catching an exception, invoke the error handling service and AFTER that send the error to OEM (and have the process suspended).
    It seems the two mechanisms "cannot play nicely together"

    As part of an integrated customer solution that makes substantial use of SOA Suite (including OSB, BPEL, Mediator, etc) we are in the process of designing an “Error Hospital” subsystem to expose a web service API specifically for BPEL services and/or the OSB layer to call whenever they encounter an exception which they cannot handle so that the appropriate user is notified of the error (via email) and the error is recorded (in an appropriate common fault format, with error codes elaborated into more meaningful descriptions, etc) within OEM, immediately prior to returning the exception to the caller.
    The problem we have experienced in our design is as follows:
    •     We have an error handling service to be called, inside the BPEL catch blocks, when an error occurs to notify the appropriate user, via email, that an error has occurred;
    •     We also use the error handling XML fault-policies so that we can recover from an error using OEM (via human intervention);
    •     The error service needs to be called before the process is suspended (waiting for human intervention) so the email notification and error message formatting occurs BEFORE the recovery action. Unfortunately the fault policies trigger BEFORE the error handler is able to transform the error into the appropriate format and notify the user so the error recorded is not the reformatted one and the user is never notified.
    The key question is how can a BPEL, upon catching an exception, invoke the error handling service and AFTER that send the error to OEM (and have the process suspended).
    It seems the two mechanisms "cannot play nicely together"

Maybe you are looking for