SPATIAL : External fault handler failed: oracle.cep.execution.ExecException

Hi,
I am using a cartesian context with this content :
<spatial:context id="Lambert1NORD" anyinteract-tolerance="0.01" cartesian="true"  srid="41013" tolerance="0.01"/>
I want to detect if a point is anyinteracting a rectangle. Here are my two queries :
        <![CDATA[
            istream(
            select a.*, [email protected]D(a.x, a.y) as geometry ,[email protected]1NORD( 613000.0d, 146000.0d,618000.0d, 148000.0d) as rectangle
            from inputchannel[now] as a
            where a.x is not null and a.y is not null
        ]]>
    </view>
    <query id="QueryInput"><![CDATA[
           istream(
            select i.nom, i.refSource, i.dateCurrentPos, i.x, i.y, 0d as distance
            from ViewVehicule[now] as i
            WHERE ANYINTERACT@Lambert1NORD(i.geometry, i.rectangle, 5.0d)=true
            ]]></query>
It seems to give my the first answer, but after I receive a big stack  with this :
ontext for "ApplicationFormation1.Project3" was started successfully>
VÚhicule: Acquisition Radar(S4) - CDG / ENV 7 : 04/09/2014 17:09:37 [0,000000]--
> X=614373,500000 Y=146004,500000
<Sep 4, 2014 5:05:38 PM CEST> <Warning> <CQLServerTrace> <BEA-000000> <External
fault handler failed: oracle.cep.execution.ExecException: >
<Sep 4, 2014 5:05:38 PM CEST> <Warning> <CQLServerTrace> <BEA-000000> <
oracle.cep.execution.ExecException:
        at oracle.cep.execution.operators.Select.run(Select.java:468)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1080)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1062)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1140)
        at oracle.cep.execution.queues.DirectInteropQueue.runOperator(DirectInte
ropQueue.java:573)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:457)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:84)
        at oracle.cep.execution.operators.RangeWindow.run(RangeWindow.java:537)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1080)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1062)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1140)
        at oracle.cep.execution.queues.DirectInteropQueue.runOperator(DirectInte
ropQueue.java:573)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:457)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:84)
        at oracle.cep.execution.operators.ViewStrmSrc.run(ViewStrmSrc.java:341)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1080)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1062)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1140)
        at oracle.cep.execution.queues.DirectInteropQueue.runOperator(DirectInte
ropQueue.java:573)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:457)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:84)
        at oracle.cep.execution.operators.IStream.run(IStream.java:304)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1080)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1062)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1140)
        at oracle.cep.execution.queues.DirectInteropQueue.runOperator(DirectInte
ropQueue.java:573)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:457)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:84)
        at oracle.cep.execution.operators.Project.run(Project.java:459)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1080)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1062)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1140)
        at oracle.cep.execution.queues.DirectInteropQueue.runOperator(DirectInte
ropQueue.java:573)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:457)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:84)
        at oracle.cep.execution.operators.Select.run(Select.java:553)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1080)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1062)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1140)
        at oracle.cep.execution.queues.DirectInteropQueue.runOperator(DirectInte
ropQueue.java:573)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:457)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:84)
        at oracle.cep.execution.operators.RangeWindow.run(RangeWindow.java:537)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1080)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1062)
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1140)
        at oracle.cep.execution.queues.DirectInteropQueue.runOperator(DirectInte
ropQueue.java:573)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:457)
        at oracle.cep.execution.queues.DirectInteropQueue.enqueue(DirectInteropQ
ueue.java:84)
        at oracle.cep.execution.operators.StreamSource.run(StreamSource.java:903
        at oracle.cep.execution.operators.ExecOpt.run(ExecOpt.java:1216)
        at oracle.cep.execution.ExecManager.runOperator(ExecManager.java:357)
        at oracle.cep.execution.operators.ExecOptTask.run(ExecOptTask.java:82)
        at oracle.cep.interfaces.input.QueueSource.putNext(QueueSource.java:423)
        at oracle.cep.interfaces.input.QueueSource.putNext(QueueSource.java:320)
        at oracle.cep.interfaces.input.QueueSource.putNext(QueueSource.java:267)
        at oracle.cep.execution.ExecManager.insertBase(ExecManager.java:1282)
        at oracle.cep.execution.ExecManager.insertFastBase(ExecManager.java:1392
        at oracle.cep.execution.ExecManager.insertFast(ExecManager.java:1335)
        at oracle.cep.server.CEPServer.executeDMLBase(CEPServer.java:327)
        at oracle.cep.server.CEPServer.executeDML(CEPServer.java:233)
        at oracle.cep.jdbc.CEPPreparedStatement.executeDMLBase(CEPPreparedStatem
ent.java:978)
        at oracle.cep.jdbc.CEPPreparedStatement.executeDML(CEPPreparedStatement.
java:919)
        at com.oracle.cep.processor.cql.impl.CQLEventReceiver.executeDMLBase(CQL
EventReceiver.java:562)
        at com.oracle.cep.processor.cql.impl.CQLEventReceiver.sendToEngine(CQLEv
entReceiver.java:523)
        at com.oracle.cep.processor.cql.impl.CQLEventReceiver.onInsertEvent(CQLE
ventReceiver.java:259)
        at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEventToListene
r(EventSenderImpl.java:583)
        at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEvent(EventSen
derImpl.java:291)
        at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(Ab
stractSendEventInterceptor.java:84)
        at com.bea.wlevs.eventstore.recplay.RecordPlaySendEventInterceptor.sendI
nsertEvent(RecordPlaySendEventInterceptor.java:160)
        at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(Ab
stractSendEventInterceptor.java:84)
        at com.bea.wlevs.eventinspector.EventInspectInterceptor.sendInsertEvent(
EventInspectInterceptor.java:131)
        at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(Ab
stractSendEventInterceptor.java:84)
        at com.bea.wlevs.monitor.internal.MonitorSendEventInterceptor.sendInsert
Event(MonitorSendEventInterceptor.java:476)
        at com.bea.wlevs.channel.impl.ChannelImpl.onInsertEvent(ChannelImpl.java
:459)
        at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEventToListene
r(EventSenderImpl.java:583)
        at com.bea.wlevs.processor.impl.EventSenderImpl.sendInsertEvent(EventSen
derImpl.java:291)
        at com.bea.wlevs.ede.impl.EventSourceEventSenderImpl.sendInsertEvent(Eve
ntSourceEventSenderImpl.java:85)
        at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(Ab
stractSendEventInterceptor.java:84)
        at com.bea.wlevs.eventstore.recplay.RecordPlaySendEventInterceptor.sendI
nsertEvent(RecordPlaySendEventInterceptor.java:160)
        at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(Ab
stractSendEventInterceptor.java:84)
        at com.bea.wlevs.eventinspector.EventInspectInterceptor.sendInsertEvent(
EventInspectInterceptor.java:131)
        at com.bea.wlevs.ede.spi.AbstractSendEventInterceptor.sendInsertEvent(Ab
stractSendEventInterceptor.java:84)
        at com.bea.wlevs.monitor.internal.MonitorSendEventInterceptor.sendInsert
Event(MonitorSendEventInterceptor.java:476)
        at fr.adp.oep.formation3.DatabaseAdapter.readDatabase(DatabaseAdapter.ja
va:164)
        at fr.adp.oep.formation3.DatabaseAdapter.run(DatabaseAdapter.java:90)
        at fr.adp.oep.formation3.DatabaseAdapter$$FastClassByCGLIB$$7b8987bf.inv
oke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
        at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocatio
n.invokeJoinpoint(Cglib2AopProxy.java:689)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:150)
        at com.bea.wlevs.ede.impl.EventManagerAccessorProxy.invoke(EventManagerA
ccessorProxy.java:30)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:172)
        at com.bea.wlevs.ede.impl.EventBeanProxy.invoke(EventBeanProxy.java:38)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterc
eptor.intercept(Cglib2AopProxy.java:622)
        at fr.adp.oep.formation3.DatabaseAdapter$$EnhancerByCGLIB$$553045ce.run(
<generated>)
        at com.bea.wlevs.spring.RunnableBeanPostProcessor$RunnableWrapper.run(Ru
nnableBeanPostProcessor.java:117)
        at weblogic.work.commonj.CommonjWorkManagerImpl$WorkWithListener.run(Com
monjWorkManagerImpl.java:204)
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:548)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
What is wrong with this ?
Olivier

Hi Olivier,
Could you send us the application that is easy to reproduce the failure? You can send the mail to [email protected]
It looks like the error happened at the CQL. But it is not a syntax error.
Thanks
Junger

Similar Messages

  • Fault Handling in Mediator

    Hi,
    We have a DBAdpater to retrieve the data and a mediator to invoke the DBAdapter. In cases like No Records we want to create a soap fault. So we implemented Mediator Java callout and overriden postRouting() to read the response message and create a soapfault.
    [ we referred to blog http://technology.amis.nl/blog/6669/soa-suite-11g-introducing-mediator-java-callouts-for-debug-audit-and]
    but when we tried creating SOAPFault and add it to the response message, while execution , the response message is being parsed and seeing the fault it is throwing the exception below:
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException:
    This is a fault.
    at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestMode
    l.java:575)
    at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:381)
    at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:298)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.el.parser.AstValue.invoke(AstValue.java:157)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
    at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMetho
    dBinding.invoke(MethodExpressionMethodBinding.java:53)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMet
    hodBinding(UIXComponentBase.java:1259)
    at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand
    .java:183)
    I found that if exception from mediator is not handled, then the exception is throw as system fault as shown above.
    So we tried implementing external fault handling - by creating fault-policies.xml and fault-bindings.xml and a java callout.
    fault-bindings.xml
    <?xml version=”1.0" encoding=”UTF-8"?>
    <faultPolicyBindings version=”2.0.1" xmlns=”http://schemas.oracle.com/bpel/faultpolicy”>
    <composite faultPolicy=”SOM_ServiceFaults”/>
    </faultPolicyBindings>
    fault-policies.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicies>
    <faultPolicy version="2.0.1" id="SOM_ServiceFaults">
    <Conditions>
    <faultName xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" name="env:Fault"> <!-- Qname of Business/SOAP fault -->
    <condition>
         <action ref="ora-custom"/>
    </condition>
    </faultName>
    <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:mediatorFault">
    <condition>
    <action ref="ora-custom"/>
    </condition>
    </faultName>
    </Conditions>
    <Actions>
    <Action id=”ora-terminate”>
              <abort/>
         </Action>
    <Action id="ora-custom">
    <javaAction className="gm.som.FaultPolicyJavaAction" defaultAction="ora-terminate">
    <returnValue value="ora-terminate" ref="ora-terminate"/>
    </javaAction>
    </Action>
    </Actions>
    </faultPolicy>
    </faultPolicies>
    But still getting the error.Appreciate any help on this.
    Thanks in Advance,
    Subhashini

    Not exactly but doing it the other way around by copying the fault msg to output variable and check flag for the response in my initial requester process then throw fault accordingly.. didnt have much time as it was holding back my other deliverables
    Thanks a lot for your time

  • Implement custom fault handling in bpel

    Hi,
    Can you please provide some link on how to implement custom fault handling in bpel
    Thanks,
    kpr

    See the article below for details on implementing custom fault handling.
    http://beatechnologies.wordpress.com/2011/07/18/fault-handling-in-oracle-soa-suite-advanced-concepts/

  • Creating Fault Handling and Exception in Oracle BPEL

    I am following BPELtutorial-Orderbooking.pdf and have successfully reached chapter 6 i.e. Creating Fault Handling and Exception in Oracle BPEL. Everything went fine except this one... i.e. after implementing the Fault Handling and Exception in Oracle BPEL when I execute my process and enter CustId that begins with 0.... the invokeCR generates error message as follows as expected:
    <NegativeCredit xmlns="http://services.otn.com">
    <part name="payload">
    <error xmlns="http://services.otn.com">Bankruptcy Report</error>
    </part>
    </NegativeCredit>
    However, the execution proceeds ahead instead of terminating. The tutorial states that the BPEL process should terminate as the SSN is invalid, can anyone please tell me whats going wrong.. ?

    Well not exactly.... but when click on the 'Audit' sheet under BPEL Console for this instance, I can see the following:
    invokeCR (faulted)
    [2006/03/20 10:35:07] "{http://services.otn.com}NegativeCredit" has been thrown. less
    <NegativeCredit xmlns="http://services.otn.com">
    <part name="payload">
    <error xmlns="http://services.otn.com">Bankruptcy Report</error>
    </part>
    </NegativeCredit>
    The above is exactly what the tutorial states will be the output, so I presumed that the exception must have fired !

  • Failed in the execution of the ODCIINDEXINSERT routine while loading points

    I used SQL*Loader from 11.2 client to load million records into a 11.2 spatial table (points with longitude and latitude) and I got the following error:
    SQL*Loader: Release 11.2.0.1.0 - Production on Fri Oct 12 10:17:57 2012
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    ORA-39776: fatal Direct Path API error loading table CISDWSYS.VEHICLE_LOCATION_FACT
    ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
    ORA-22054: underflow error
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 720
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 225
    SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
    Load completed - logical record count 45000.The table has a spatial index on VEHICLE_LOCATION column with MDSYS.SDO_GEOMETRY data type. Both table and spatial index are partitioned “monthly” by MESSAGE_DATETIME column. The database is 11.2 (11gR2), the client and SQL*Loader is version 11.2.
    My control file is:
    options (direct=yes, bindsize=20971520, readsize=20971520)
    Load data
    Append
    into table VEHICLE_LOCATION_FACT
    fields terminated by ","
    (VEHICLE_LOCATION_MESSAGE_ID  CONSTANT 222,
    MESSAGE_DATETIME Date 'YYYY-MM-DD HH24:MI:SS',
    ROUTE_NUMBER,RUN_NUMBER,VEHICLE_NUMBER,BADGE_NUMBER,
    TRIP_DIRECTION,GPS_LONGITUDE_NUMBER,GPS_LATITUDE_NUMBER,DIVISION_NUMBER,
    VEHICLE_LOCATION COLUMN OBJECT
         SDO_GTYPE Integer EXTERNAL,
         SDO_SRID  CONSTANT 8265,
         SDO_POINT COLUMN OBJECT
           ( X     FLOAT EXTERNAL,
             Y     FLOAT EXTERNAL
    )I noticed that number for "Load completed - logical record count" is not always same. For example, when data file size is around 300 MB the logical record count is 45000 and when the data file size is 500 MB then logical record count is 110000. The data in both files is of the same nature, just vehicles GPS locations (points).
    The control.log file is
    SQL*Loader: Release 11.2.0.1.0 - Production on Fri Oct 12 10:17:57 2012
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    Control File:   Load_Vehicle_Locations_2.ctl
    Data File:      CIS_VehLoc_L05120603gps.txt
      Bad File:     CIS_VehLoc_L05120603gps.bad
      Discard File:  none specified
    (Allow all discards)
    Number to load: ALL
    Number to skip: 0
    Errors allowed: 50
    Continuation:    none specified
    Path used:      Direct
    Table VEHICLE_LOCATION_FACT, loaded from every logical record.
    Insert option in effect for this table: APPEND
       Column Name                  Position   Len  Term Encl Datatype
    VEHICLE_LOCATION_MESSAGE_ID                               CONSTANT
        Value is '222'
    MESSAGE_DATETIME                    FIRST     *   ,       DATE YYYY-MM-DD HH24:MI:SS
    ROUTE_NUMBER                         NEXT     *   ,       CHARACTER           
    RUN_NUMBER                           NEXT     *   ,       CHARACTER           
    VEHICLE_NUMBER                       NEXT     *   ,       CHARACTER           
    BADGE_NUMBER                         NEXT     *   ,       CHARACTER           
    TRIP_DIRECTION                       NEXT     *   ,       CHARACTER           
    GPS_LONGITUDE_NUMBER                 NEXT     *   ,       CHARACTER           
    GPS_LATITUDE_NUMBER                  NEXT     *   ,       CHARACTER           
    DIVISION_NUMBER                      NEXT     *   ,       CHARACTER           
    VEHICLE_LOCATION                  DERIVED     *           COLUMN OBJECT       
    *** Fields in VEHICLE_LOCATION
    SDO_GTYPE                            NEXT     *   ,       CHARACTER           
    SDO_SRID                                                  CONSTANT
        Value is '8265'
    SDO_POINT                         DERIVED     *           COLUMN OBJECT       
    *** Fields in VEHICLE_LOCATION.SDO_POINT
    X                                    NEXT     *   ,       CHARACTER           
    Y                                    NEXT     *   ,       CHARACTER           
    *** End of fields in VEHICLE_LOCATION.SDO_POINT
    *** End of fields in VEHICLE_LOCATION
    ORA-39776: fatal Direct Path API error loading table CISDWSYS.VEHICLE_LOCATION_FACT
    ORA-29875: failed in the execution of the ODCIINDEXINSERT routine
    ORA-22054: underflow error
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 720
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 225
    SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.
    Table VEHICLE_LOCATION_FACT:
      0 Rows successfully loaded.
      0 Rows not loaded due to data errors.
      0 Rows not loaded because all WHEN clauses were failed.
      0 Rows not loaded because all fields were null.
      Date cache:
       Max Size:      1000
       Entries :       192
       Hits    :     44808
       Misses  :         0
    Bind array size not used in direct path.
    Column array  rows :    5000
    Stream buffer bytes:  256000
    Read   buffer bytes:20971520
    Total logical records skipped:          0
    Total logical records rejected:         0
    Total logical records discarded:        0
    Total stream buffers loaded by SQL*Loader main thread:        9
    Total stream buffers loaded by SQL*Loader load thread:        9
    Run began on Fri Oct 12 10:17:57 2012
    Run ended on Fri Oct 12 10:18:34 2012
    Elapsed time was:     00:00:37.16
    CPU time was:         00:00:00.32I’m confused by this reported “underflow error” because all data in the data file are correct values. When I drop the spatial index and load the records by using the same control file, same data file and the same table, I don’t get any error and later I recreate the spatial index without errors. That should mean that the values in the data file are good, no “under” values.
    Also, when I don't use "DIRECT=yes" loading in the control file, then SQL*Loader loads all records with no errors, but it takes hours which is too long.
    I want to avoid to have to drop the spatial index every morning before the data loading process, because it is a very large table and it takes 45-60 minutes to recreate that index partition, and that much time delay is not good.
    Can anyone please provide an advice or point to some link with examples of how to use “sqlldr” to load large number of records into a spatial table with spatial index?
    Thank you,
    Milan

    Hi Milan,
    take a look to "Oracle Database Data Cartridge Developer's Guide" [http://docs.oracle.com/cd/E11882_01/appdev.112/e10765/dom_idx.htm#autoId50] (here is the 11g rel2 version but is the same with 9i)
    Domain Indexes and SQLLoader*
    SQLLoader conventional path loads and direct path loads are supported for tables on which domain indexes are defined, with two limitations:
    -The table must be heap-organized.
    +-The domain index cannot be defined on a LOB column.+
    To do a direct path load on a domain index defined on an IOT or on a LOB column, perform these tasks:
    -Drop the domain index
    -Do the direct path load in SQL*Loader.
    -Re-create the domain indexes.
    doesn't seem to be possible to use "direct path method" with spatial (domain) indexes
    i hope for you that there is a workaround ...
    good luck,
    CarlT

  • 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 handling in 11g - fault-bindings.xml for a partnerLink

    I'm using 11g and I'm trying to use the fault handling framework for a specific partner link. In fault-bindings.xml I have:
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicyBindings version="2.0.1" xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    <partnerLink faultPolicy="GetDateFaultPolicy">
    <name>GetDateService</name>
    </partnerLink>
    </faultPolicyBindings>
    I have a partner link named GetDateService in the bpel that I'd like to defin a policy for, but when I try to compile, I get:
    Warning(3,58): Schema validation failed for fault-bindings.xml<Line 3, Column 58>: XML-24534: (Error) Element 'partnerLink' not expected.
    Does the framework still allow partnerlinks granularity, it says it does in the docs?
    Thanks

    Maybe I should have looked at the new schema first.... : }
    It's now reference:
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicyBindings version="2.0.1" xmlns="http://schemas.oracle.com/bpel/faultpolicy">
    *<reference faultPolicy="GetDateFaultPolicy">*
    <name>GetDateService</name>
    *</reference>*
    </faultPolicyBindings>
    Edited by: Brutus35 on Sep 16, 2010 10:42 AM

  • Using Fault handling framework for executing Database procedure

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

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

  • Fault handling framework

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

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

  • Fault handler BPEL PM Weblogic issue ?

    Products:
    SOA for WebLogic Server (10.1.3.4) , p7490612_101340_GENERIC
    Jdeveloper 10.1.3.4
    Windows XP sp2
    1.- I was install SOA for WSL 9.2 and Jdev succesfull, now i start with any test.
    2.- I test Fault handling framework , then i create the simple xml files: fault-bindings.xml and fault-policies\mybpiPolicy.xml
    ----- Abstract files
    &lt;faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension" name="bpelx:bindingFault"&gt;
    &lt;condition&gt;
    &lt;action ref="ora-retry"/&gt;
    &lt;/condition&gt;
    &lt;/faultName&gt;
    &lt;Action id="ora-retry"&gt;
    &lt;retry&gt;
    &lt;retryCount&gt;2&lt;/retryCount&gt;
    &lt;retryInterval&gt;6&lt;/retryInterval&gt;     
    &lt;exponentialBackoff/&gt;
    &lt;retryFailureAction ref="ora-human-intervention"/&gt;           
    &lt;/retry&gt;
    &lt;/Action&gt;
    3.- Then i create an simple async BPEL case for fault handling with a DB BPEL Adapter using a wrong Jdbc string for instance Bad SID database (deliberately , The correct is XE not XE1).
    Then i test it, and with audit trail in BPEL Console, i can view the 2 retries that i indicate in the descriptor, but after [FAULT RECOVERY|http://forums.oracle.com/forums/] Marked Invoke activity as "pending manual recovery, it have a exception.
    * In normal case with OC4J, after last line, the process is ready for recovery in a manual step.
    * Well i think so maybe i missing another configuration or parameter because it is deploy in WebLogic, i do not. next i put the text that in audit trail appers.
    Please help, regards.
    ----- my Messages in audit trail.
    --2008/12/30 21:28:29-- [FAULT RECOVERY|http://forums.oracle.com/forums/] Marked Invoke activity as "pending manual recovery".
    --2008/12/30 21:28:30-- "BPELFault" has not been caught by a catch block.
    --2008/12/30 21:28:30-- There is a system exception while performing the BPEL instance, the reason is "faultName: {{[http://schemas.oracle.com/bpel/extension]}remoteFault} messageType: {{[http://schemas.oracle.com/bpel/extension]}RuntimeFaultMessage} parts: {{code=0 ,summary=file:/D:/oracle/soasuitebasic/bpel/domains/default/tmp/.bpel_Test1BPEL_1.0_7f0af90c7bf1874b5077831987befd2d.tmp/do.wsdl [ do_ptt::doSelect(doSelect_inparameters,DomainCollection) |http://forums.oracle.com/forums/] - WSIF JCA Execute of operation 'doSelect' failed due to: Could not create/access the TopLink Session. This session is used to connect to the datastore. [Caused by: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: localhost:1521:XE1 |http://forums.oracle.com/forums/] ; nested exception is: ORABPEL-11622 Could not create/access the TopLink Session. This session is used to connect to the datastore. [Caused by: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: localhost:1521:XE1 |http://forums.oracle.com/forums/] See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. weblogic-ra.xml) and restart the server. Caused by Exception [TOPLINK-4002|http://forums.oracle.com/forums/] (Oracle TopLink - 10g Release 3 (10.1.3.4.0) (Build 080602)): oracle.toplink.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: localhost:1521:XE1 Error Code: 0. ,detail= Internal Exception: java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: localhost:1521:XE1 Error Code: 0}} ". Please check the error log file for more infromation. A failure is detected in use of fault policy used to recover the activity. Please audit the instance manually or let engine recovery to attempt recovery. Best practice suggests to handle exceptions in fault policy or in the fault handlers in your bpel process. less
    com.oracle.bpel.client.BPELFault: faultName: {{[http://schemas.oracle.com/bpel/extension]}remoteFault}
    messageType: {{[http://schemas.oracle.com/bpel/extension]}RuntimeFaultMessage}
    parts: {{code=0
    ,summary=file:/D:/oracle/soasuitebasic/bpel/domains/default/tmp/.bpel_Test1BPEL_1.0_7f0af90c7bf1874b5077831987befd2d.tmp/do.wsdl [ do_ptt::doSelect(doSelect_inparameters,DomainCollection) |http://forums.oracle.com/forums/] - WSIF JCA Execute of operation 'doSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore. [Caused by: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    The Connection descriptor used by the client was:
    localhost:1521:XE1
    ; nested exception is:
    ORABPEL-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore. [Caused by: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    The Connection descriptor used by the client was:
    localhost:1521:XE1
    See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. weblogic-ra.xml) and restart the server. Caused by Exception [TOPLINK-4002|http://forums.oracle.com/forums/] (Oracle TopLink - 10g Release 3 (10.1.3.4.0) (Build 080602)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    The Connection descriptor used by the client was:
    localhost:1521:XE1
    Error Code: 0.
    ,detail=
    Internal Exception: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
    The Connection descriptor used by the client was:
    localhost:1521:XE1
    Error Code: 0
    at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:623)
    at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:437)
    at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:251)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:826)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:402)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.expire(BPELInvokeWMP.java:151)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:4161)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2073)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:174)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean_lcloe8_ELOImpl.expireActivity(ActivityManagerBean_lcloe8_ELOImpl.java:542)
    at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:140)
    at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Thread.java:595)
    -----

    The fault management framework catches all faults (business and runtime) for an invoke activity only.
    For all other activities use the BPEL fault handler.

  • OdiInvokeWebService - Fault Handling

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

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

  • Fault Handler do not catch selectionFailure

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

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

  • Registering External Fault Policy(s) with a Composite in SOA 11g

    Hi
    I was wondering whether it is possible to register more than one external fault policy with a composite. I have loaded some fault policies into my database backed MDS store. I have added a fault-bindings.xml file locally to teh composite to indicate which components I want to use which policy. this file resembles:
    <composite faultPolicy="bpelSynchronousProcessingFaults"/>
    <component faultPolicy="mediatorSynchronousProcessingFaults">
    <name>MediatorRouting</name>
    </component>
    I have also added to the composite.xml file the respective imports / properties to identify the location of the fault policy files and the fault bindings. These resemble:
    </service>
    <property name="oracle.composite.faultPolicyFile">oramds:/apps/fault-policies/fault-policies-med-sync.xml</property>
    <property name="oracle.composite.faultPolicyFile">oramds:/apps/fault-policies/fault-policies-bpel-sync.xml</property>
    <property name="oracle.composite.faultBindingFile">fault-bindings.xml</property>
    <component name="MediatorRouting">
    For a test I have the BPEL component using one and the mediator component using another, both within the same composite. Depending on the order of the 2 properties shown above, only one is registered. This being the second one.
    Is it possible to register more than one policy in this way? I have been unable to get both working at the same time. Each works independently if I only register one of them. I want keep the fault policies external to the composites to allow them to be re-used appropriately across composites within an SOA project
    My thinking is, in order to be able to have differing policies effecting different components within a composite i'd have thought it would have been possible to define more than one external policy for a composite. However it appears this is not the case as it only registers or atleast works with the last policy in an import. Also placing the files locally within the composite with differing names has no impact.
    Therefore i'm assuming (unless I have configured these incoorectly) there is no option to have multiple fault policies for a composite. Therefore there is no ability to define a different policy per component within a composite
    Kind Regards
    Dave

    Using the fault binding attach your fault policy to particular component. See example below.Use the tag  <component faultPolicy="ServiceFaults">
    <?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">
      <component faultPolicy="ServiceFaults">
      <name>Component1</name>
      <name>Component2</name>
      </component>
      <!-- Below listed component names use polic CRM_SeriveFaults -->
      <component faultPolicy="CRM_ServiceFaults">
      <name>HelloWorld</name>
      <name>ShippingComponent</name>
      <name>AnotherComponent"</name>
      </component>
      <!-- Below listed reference names and port types use polic CRM_ServiceFaults
    -->
      <reference faultPolicy="CRM_ServiceFaults">
      <name>creditRatingService</name>
      <name>anotherReference</name>
      <portType
    xmlns:credit="http://services.otn.com">credit:CreditRatingService</portType>
      <portType
    xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/insert/">db:insert_
    plt</portType>
      </reference>
      <reference faultPolicy="test1">
      <name>CreditRating3</name>
      </reference>
    </faultPolicyBindings>

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

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

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

  • Fault Handling in BPEL process

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

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

Maybe you are looking for

  • IPad 4 iOS 6.0.1 cannot connect to Facebook

    Hi all, I have a strange problem that I'm trying to solve. I have an iPad 2 (iOS 5.1.1), iPhone 4S (iOS 5.1.1) and now an iPad 4 (iOS 6.0.1) Using the WiFi network at work the new iPad cannot connect to Facebook properly. The two older devices, on iO

  • Outlook 2007 doesn't sync with iphone 4

    I run outlook 2007 on my desktop pc and had no problem syncing with my iphone 4.  Then I reformatted the computer and now outlook will not sync.  It goes through the motions but nothing happens.  I use outlook only for the calendar.

  • NFS Mounts Empty After Upgrade

    Hello, I'm having some issues with my file sharing setup this morning.  Can anyone shed any light?  I didn't notice any relevant Pacman warnings I needed to watch out for. After running pacman -Syu on my laptop ( NFS client) and trying to mount share

  • Smartforms to Word or Excel.

    Hi, All. How to convert Smartform to Word or/and Excel files. SAP R/3 version 4.6c Best regards Dmitry V. Bolshakov.

  • BPEL and Content Database

    Hello, is there a tutorial explainig how to upload and manage documents with BPEL in the Content Database? thx for help Matthias