Exception handler activity doesn't execute

I have an exception handler in my bounded task flow but it not always executes when an error is raised by some of the BTF activities.
In my application I'm having a problem with connections closed.
I don't know if the database, the firewall or who is closing connections but sometimes I get an error in the logs "oracle.jbo.JboException: JBO-29000: Se ha obtenido una excepción inesperada: java.sql.SQLRecoverableException, mensaje=Conexión cerrada" translation "oracle.jbo.JboException: JBO-29000: Un unexpected exception has been raised: java.sql.SQLRecoverableException, message=Closed connection".
That is bothering me specially because my task flow continues execution despite of the error. ADF opens the connection and then continues execution. This is fatal because previous updating in the entity objects is lost and the consequence is very bad.
Well, I have tried to insert an exception handler in my task flow in order to capture this errors and then stop execution of the task flow.
Currently, I'm more upset because of task flow continues execution after the connection closed error that for the error itself.
The problem is that sometimes the connection closed appears in the log window but the exception handler is not executed. Sometimes yes, some others no.
In order to test I'm forcing the error manually killing the sessions in the server.
Any help for any of both problems ? (1- BTF continuing execution after this error raising and 2-Why the exception handler doesn't always execute when a java error stack appears in the log window).
Thank you.

this might be caused by a bug I found too causing eventhandlers not to work, the work round in your case would be:
blar blar blar
</variables>
<!-- start work round --><scope><!-- end work round -->
<faultHandlers>
blar blar blar
blar blar blar
</sequence>
<!-- start work round --></scope><!-- end work round -->
</process>
i.e. what I'm saying is that top level handler don't work since they are ignored by the engine because they are not in a scope. Try it and see....

Similar Messages

  • Understanding Exception handler activity

    All,
    I created 2 view activities in my adfc-config.xml and established a navigation flow between them. The flow happens on click of a button on view1. I have defined an exception handler activity to show unhanded error that may arise. On click of the button in the view1, AM IMPL methods gets called and this is the code
        public void newPage(){
            int k = 5/0; //expecting the error handler activity to get invoked here   
        } When i click on the button, i get the exception however the page associated with exception handler is not getting invoked. I want the exception handler page to be shown for error and not the default popups. How do we do that?
    thnks
    Jdev 11.1.1.5

    No, this is only one possibility...
    checkout Andrejus blog about exception handling http://andrejusb-samples.blogspot.com/2011/03/jdevadf-sample-exception-handler-for_19.html and of cause the docs http://download.oracle.com/docs/cd/E24382_01/web.1112/e16182/taskflows_complex.htm#BACJCBIC
    Timo

  • ADF Faces: Exception Handler activity ain't reraised

    Hi there!
    I'm using a Studio Edition Version 11.1.1.3.0 (Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660).
    I've done this:
    1. created a bounded task flow flow1 and added to it:
    1.1 a vew activity view1 (the default activity) - shows an inputText field for a db column, for which there is a constraint;
    1.2 a method call activity method1 - calls commit;
    1.3 a view activity view2 - has an ouputText depicting an attribute's value for the same collection as that of inputText in view1;
    1.4 a view activity errorView (marked as an exception handler) - displays a localizedMessage from the currentViewPort;
    1.5 created for the view activities page fragments (with necessary fields and buttons).
    2. linked them as follows:
    2.1 view1 -*-> method1 -*-> view2;
    2.2 errorView -*-> view1.
    3. in the default unbounded task flow created a view activity main, a page file for it, and dropped onto the latter the flow1 as a region;
    4. launched the app (as the table contains some data, the view1 displays first row in a row set);
    5. entered into the view1 's field a non-violating value;
    6. pressed a button (which has just an action property set to move to the method1 ) - everything's fine, we get to the view2;
    6. rerun the app;
    7. entered incorrect value, pressed the button - flow goes, as expected, to the errorView, which informs us the exception's details (JBO-...);
    8. on the errorView page fragment pressed a button - we are now on the view1 page again;
    9. left the wrong (violating) value (or changed it to another incorrect value, doesn't matter) and pressed the button again;
    10. wow, we reached the view2, but, I guess, we hadn't to. Why so?
    One must note, that in clauses 7 and 9, after pressing the button, there apears a popup, which advises us about an ORA-... error, that is, in step 9 the ADF Faces does receive the exception, but why it doesn't reraise the errorView, that's the question.
    Though, when I change the method1 so, that it calls a bean's method, which always throws an IllegalArgumentException, then everything works as should to - we get to the infinite loop - view1 -> method1 -> errorView -> view1.
    Or, when I extract view2 from flow1, and instead of the former insert return activity with End Transaction set to commit, and then wrap (i.e call) flow1 from a newly created bounded task flow flow2, and in main 's page replace flow1 with flow2 region, the result is quite different. The aforesaid popup with ORA- error arises, until one enters a non-violating value. That is in this case everything is good, except, that control never flows into the errorView.
    And there is one more thing to note yet. When I've, namely method1, been calling a bean with the ever exception throwing method, the Integrated WLS's log was silent, but when the method1 was calling commit, then in the log we can see this twice:
    <Utils><buildFacesMessage> ADF: Adding the following JSF error message: ORA-02290: check constraint CHECK(THE_USER.THE_CONSTRAINT) violated
    java.sql.SQLIntegrityConstraintViolationException: ORA-02290: check constraint CHECK(THE_USER.THE_CONSTRAINT) violated
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:85)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1224)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3386)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3467)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
         at oracle.jbo.server.OracleSQLBuilderImpl.doEntityDML(OracleSQLBuilderImpl.java:429)
         at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:8044)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6373)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3172)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2980)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2018)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2277)
         at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1577)
         at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1404)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1427)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2141)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:730)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:394)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
         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.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at oracle.adf.controller.internal.util.ELInterfaceImpl.invokeMethod(ELInterfaceImpl.java:168)
         at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:161)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:989)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:878)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:777)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:147)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:109)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:78)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         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:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         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:414)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         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:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)What I'm doing wrong? And how can I dismiss that popup, as it duplicates errorView and does not get messages from a custom message bundle?
    Thanks in advance for any comments.
    Yerzhan.

    Hi there!
    I'm using a Studio Edition Version 11.1.1.3.0 (Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660).
    I've done this:
    1. created a bounded task flow flow1 and added to it:
    1.1 a vew activity view1 (the default activity) - shows an inputText field for a db column, for which there is a constraint;
    1.2 a method call activity method1 - calls commit;
    1.3 a view activity view2 - has an ouputText depicting an attribute's value for the same collection as that of inputText in view1;
    1.4 a view activity errorView (marked as an exception handler) - displays a localizedMessage from the currentViewPort;
    1.5 created for the view activities page fragments (with necessary fields and buttons).
    2. linked them as follows:
    2.1 view1 -*-> method1 -*-> view2;
    2.2 errorView -*-> view1.
    3. in the default unbounded task flow created a view activity main, a page file for it, and dropped onto the latter the flow1 as a region;
    4. launched the app (as the table contains some data, the view1 displays first row in a row set);
    5. entered into the view1 's field a non-violating value;
    6. pressed a button (which has just an action property set to move to the method1 ) - everything's fine, we get to the view2;
    6. rerun the app;
    7. entered incorrect value, pressed the button - flow goes, as expected, to the errorView, which informs us the exception's details (JBO-...);
    8. on the errorView page fragment pressed a button - we are now on the view1 page again;
    9. left the wrong (violating) value (or changed it to another incorrect value, doesn't matter) and pressed the button again;
    10. wow, we reached the view2, but, I guess, we hadn't to. Why so?
    One must note, that in clauses 7 and 9, after pressing the button, there apears a popup, which advises us about an ORA-... error, that is, in step 9 the ADF Faces does receive the exception, but why it doesn't reraise the errorView, that's the question.
    Though, when I change the method1 so, that it calls a bean's method, which always throws an IllegalArgumentException, then everything works as should to - we get to the infinite loop - view1 -> method1 -> errorView -> view1.
    Or, when I extract view2 from flow1, and instead of the former insert return activity with End Transaction set to commit, and then wrap (i.e call) flow1 from a newly created bounded task flow flow2, and in main 's page replace flow1 with flow2 region, the result is quite different. The aforesaid popup with ORA- error arises, until one enters a non-violating value. That is in this case everything is good, except, that control never flows into the errorView.
    And there is one more thing to note yet. When I've, namely method1, been calling a bean with the ever exception throwing method, the Integrated WLS's log was silent, but when the method1 was calling commit, then in the log we can see this twice:
    <Utils><buildFacesMessage> ADF: Adding the following JSF error message: ORA-02290: check constraint CHECK(THE_USER.THE_CONSTRAINT) violated
    java.sql.SQLIntegrityConstraintViolationException: ORA-02290: check constraint CHECK(THE_USER.THE_CONSTRAINT) violated
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:85)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1224)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3386)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3467)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
         at oracle.jbo.server.OracleSQLBuilderImpl.doEntityDML(OracleSQLBuilderImpl.java:429)
         at oracle.jbo.server.EntityImpl.doDML(EntityImpl.java:8044)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6373)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3172)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2980)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2018)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2277)
         at oracle.adf.model.bc4j.DCJboDataControl.commitTransaction(DCJboDataControl.java:1577)
         at oracle.adf.model.binding.DCDataControl.callCommitTransaction(DCDataControl.java:1404)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1427)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2141)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:730)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:394)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:210)
         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.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at oracle.adf.controller.internal.util.ELInterfaceImpl.invokeMethod(ELInterfaceImpl.java:168)
         at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:161)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:989)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:878)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:777)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:551)
         at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:147)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:109)
         at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:78)
         at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:812)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:292)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         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:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94)
         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:414)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:159)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
         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:2268)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)What I'm doing wrong? And how can I dismiss that popup, as it duplicates errorView and does not get messages from a custom message bundle?
    Thanks in advance for any comments.
    Yerzhan.

  • GP Exception handling doesn't work

    I had implemented the GP Exception handling scenario described in [Configuring Exception Handling|http://help.sap.com/saphelp_nw2004s/helpdata/en/44/10bd4029450d1be10000000a114a6b/frameset.htm].
    But when I start the process and input a wrong user id, the exception handling action doesn't start and the process keep in running status. When I check the Background Action Processor Queue, the queue entry of action "Retrieve User Details" retry executing continously.
    And when I check the background callable object, it report that "Obsolete process exception: E_NO_USER_FOUND  " in section Process Exceptions Check .
    Is it a system bug or Is something wrong in system configuration?
    BTW: The environment is NW7.0 SP13 Java Stack

    Reposting

  • Exception Handling in bounded taskflows - expected behaviour

    Hi,
    I'm currently reviewing exception handling in bounded task flows and some things does not seems to be very clear for me.
    (q1) Does it make sense that a bounded task flow calls a method (via a method activity) defined on the page definition of another page (outside of the BTF) by using a #{data.xxxmyPageDef.myMethodName.execute} EL expression?
    (q2) Is is correct to expect the application to execute the method marked as ExceptionHandler in the taskflow, whenever an exception occurs?
    (q3) I created 5 different scenarios where I call a service method which throws an exception, from within a page fragment of the BTF.
    (q3 – sc1) Call a service method through the binding layer of the current page (by using #{bindings.xxx.execute})
    Result: A dialog containing the exception message appears.
    This is what I expected. Althought, the exception handler method does not seems to be invoked.(q3 – sc2) Call a service method through a task flow method activity using #{bindings.xxx.execute}
    Result: A dialog containing the exception message appears.
    This is what I expected. Althought, the exception handler method does not seems to be invoked.(q3 – sc3) Call a service method through a task flow method activity using #{data.myPageFragementPagedef.xxx.execute} (accessing the pageDef of the page fragment)
    Result: Nothing happens.
    This is not what I expected. Although, the exception handler method does nog seems to be invoked, I expect the ADF Error Handler to create a FacesMessage.(q3 – sc4) Call a service method through a task flow method activity using #{data.myPageContainingThePageFragmentPageDef.xxx.execute} (accessing the page containing the BTF region)
    Result: Nothing happens.
    This is not what I expected. Although, the exception handler method does nog seems to be invoked, I expect the ADF Error Handler to create a FacesMessage. (q3 – sc5) Call a service method through a task flow method activity using #{data.aPageOutsideTheBTFPageDef.xxx.execute} (accessing a page outside the BTW)
    Result: Nothing happens.
    This is not what I expected. Although, the exception handler method does nog seems to be invoked, I expect the ADF Error Handler to create a FacesMessage. (q4) How can it be possible that – without an exception handler – exceptions occur when calling method activities, without the exceptions being translated to FacesMessages?
    Thanks in advance,
    Koen Verhulst
    JDeveloper 11.1.1.4

    Koen,
    +(q1) Does it make sense that a bounded task flow calls a method (via a method activity) defined on the page definition of another page (outside of the BTF) by using a #{data.xxxmyPageDef.myMethodName.execute} EL expression?+
    No. Exceptions should be handled locally.
    +(q2) Is is correct to expect the application to execute the method marked as ExceptionHandler in the taskflow, whenever an exception occurs?+
    Only for exceptions that are before Render Response. The Render Response Phase is not handled in ADFc. So exceptions that occur in managed beans may fall through
    +(q3) I created 5 different scenarios where I call a service method which throws an exception, from within a page fragment of the BTF.+
    +(q3 – sc1) Call a service method through the binding layer of the current page (by using #{bindings.xxx.execute}) Result: A dialog containing the exception message appears.+
    This is what I expected. Althought, the exception handler method does not seems to be invoked.
    The binding layer has an error handler you can override in the DataBinings.cpx file
    +(q3 – sc2) Call a service method through a task flow method activity using #{bindings.xxx.execute}+
    Result: A dialog containing the exception message appears.
    This is what I expected. Althought, the exception handler method does not seems to be invoked.
    Again, you use the binding layer to invoke the service
    +(q3 – sc3) Call a service method through a task flow method activity using #{data.myPageFragementPagedef.xxx.execute} (accessing the pageDef of the page fragment)+
    Result: Nothing happens.
    This is not what I expected. Although, the exception handler method does nog seems to be invoked, I expect the ADF Error Handler to create a FacesMessage.
    Never use such a call. Its bad practice as there is no guarantee the container you reference is active. Always have the method call activity have its own binding defined when accessing a method call activity. I know there are lots of example floating aroundthat you #{data ...} and many are from 10.1.3. This should be avoided alltogether though
    +(q3 – sc4) Call a service method through a task flow method activity using #{data.myPageContainingThePageFragmentPageDef.xxx.execute} (accessing the page containing the BTF region)+
    Result: Nothing happens.
    This is not what I expected. Although, the exception handler method does not seems to be invoked, I expect the ADF Error Handler to create a FacesMessage.
    Again, this is not a proper use of the ADF framework.
    +(q3 – sc5) Call a service method through a task flow method activity using #{data.aPageOutsideTheBTFPageDef.xxx.execute} (accessing a page outside the BTW)+
    Result: Nothing happens. This is not what I expected. Although, the exception handler method does nog seems to be invoked, I expect the ADF Error Handler to create a FacesMessage.
    accessing a page outside the BTW (!!!) This should ring a worst practices alarm on your laptop (obviously doesn't do it either)
    +(q4) How can it be possible that – without an exception handler – exceptions occur when calling method activities, without the exceptions being translated to FacesMessages?+
    Exceptions are not handled in a single place but stacked. The business service raises an exception and passes it to the binding layer if not handled. The binding layer handles the exception and if it can't passes it to ADFc. ADFc can handle this exception if it is not during Render Response.
    Bottom line: There is no single point of exception handling. So as a recommendation for best practices
    - Catch and handle exceptions as close as possible to their origins
    - If things can go wrong, thy will - use try/catch blocks in managed beans
    - Use an exception handling activity in all bounded task flows. In the case of task flow call activities being used exceptions can bubble up to the caller. However, this would take users out of their current application context
    - Exceptions not handled in ADFc can be intercepted by overriding the application task flow exception handler (used by the exception handler activities). This would give you a chance e.g. to handle issues during Render Response
    - Never fight the framework, never bend the framework: Don't use out of scope access to page definitions and resources. Exception handling is not a replacement for bad code practices (sorry for saying this, its not meant to be rude) :-)
    Though I don't have a qualified numbers of bugs open for exception handling in ADF between 11.1.1.4 and now (and some that are open), but there are issues reported in this area. If there is something that really feels wrong, please go ahead and file a bug and provide a test case for development to have a look. The Render Response issue, for example is something we are aware of and that is in discussion (afaik knows, there is a change in exception handling in JSF 2 that may have an impact to what we can do in ADFc).
    thanks
    Frank

  • Exception Handling In Struts, Declarative, programatic and customized excep

    hello .
    I'm workingon exception handling in struts , i executed the gobal exceptions.
    In glabal exception handling , one will not get the root cause of exception , rather we print the message from resource bundle.
    How to get the root cause of exception in jsp page.
    Give me sample code to deal with ExceptionHandler claas.
    Thank u
    Roshu

    Hi ,
    I am in the same situation. Global exception is working fine in my struts application . But I need to show the exception stack trace also in the screen whenever the exception occurs.Can anyone please provide me a sample code to deal with ExceptionHandler class ?
    Thanks in advance...
    Regards,
    BG

  • Exception handling branch not executing in BPM

    Hi all,
    We have a problem with exception handling in BPMs.
    We have created an exception branch in a block and a transformation step in it.  However, the branch doesn't get executed in case of exceptions.
    Any ideas?  Is this a known problem?
    Many thanks,
    Aldo

    Hi VJ,
    The exception name can only be selected from a list.  There is no chance of mistaking/misspelling in there.
    That is fine as it is.  I am quite sure about it.
    Any other ideas?
    I found SAP note 1039330 but we are already on patch 12 and that correction was released on patch 12.
    Thanks, regards,
    Aldo

  • I bought and legally own PS CS3. Installed on a desktop and the machine died completely. Downloaded a trial of CS3 from Adobe site. Went to activate and said too many activations. Activate over the phone. EXCEPT Adobe does not handle activation issues ove

    I bought and legally own PS CS3. Installed on a desktop and the machine died completely. Downloaded a trial of CS3 from Adobe site. Went to activate and said too many activations. Activate over the phone. EXCEPT Adobe does not handle activation issues over the phone. Adobe doesn't care about their older products - they don't care that I spent hundreds of dollars for CS3. This is truly disgusting corporate behavior. Is there anything I can do? We aren't all rich photographers. I paid a great deal of money for this product. Is it now useless?Thank you,
    James Scott

    HI James please contact the Adobe Chat Team for activation issue
    kindly do the mentioned steps as follow in order to get hold of chat rep of adobe
    Go to www.adobe.com/getsupport
    select the product as adobe creative suite - then select the issue as adobe id and sign in - and then click on still need help contact us then you will be able to find chat option and they will help you with the chat issue

  • Flow Activity Exception Handling Problem

    Hi,
    I am using Flow Activity in my Bpel Process, i am getting some exception in one of flow, but other flows are working fine. Even i have included Catch block for other flow still i am getting fault response.
    Please suggest me how to do exception handling in Flow Activity.
    Thanks in advance.

    Hi,
    just restructure your BPEL process. The 'Flow' activity contains several 'Sequence' activities. Simply ... put a 'Scope' activity inside of each 'Sequence' activity. Then put another 'Sequence' activity inside of each 'Scope' activity ... and put there required logic/activities.
    After that you can create fault handling on these 'Scope' activities. In this way you can handle faults in each flow-sequence.
    Regards,
    Martin

  • TaskFlow Exception Handler Behavior

    Hi all,
    I have a question about taskflow exception handler.
    My customer is using method-call exception handler to display error detail as FacesMessage dialog in their taskflow.
    And they are now trying to find the way to call exception handler but not to show the dialog in case that some sort of exceptions happen.
    To achieve this requirement they delete FacesContext.addMesage() from their exception handler, but when not call addMessage() they always get return code 500 (internal server error).
    From the behavior we've got, do we always need to call addMessage() in it to come back to original page?
    Regards,
    Atsushi

    Hi Frank,
    Thank you for your reply. Please let me ask you another question.
    When method-call error handler is executed it returns an outcome. And the outcome determines the next activity I get to.
    My question is whether it is a designed behavior of method-call error handler that when the below two conditions are met I get back to the original error page to see facesMessage dialog.
    1. The method-call outcome doesn't match any control flow case
    2. addMessage() is called in the method defined at method-call
    If any, I'd like to know how to get back the original page after error handler is executed without faces message.
    Thanks,
    Atsushi

  • Exception handling in App. package PeopleCode

    Hi,
    I am accessing a table that is on remote database using DBLink for an update/insert operation using SQLExec. I am trying to implement exception handling to account for the scenario where the remote database is offline so that transaction can continue. However when I use the try-catch block in the app. package PeopleCode somehow the processing does not seem to move forward from the error. The App. pacakage code is triggered by the handler of the service operation. The goal is to simply skip the SQLExec if the table is not available. I am not sure if there is any limitation to the fatal SQL errors which the try-catch can handle.
    As expected i get below error when running select on a view which has remote table in the SQL developer as remote database is down.
    ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
    Has anyone enconutered similar issue with exception handling and best way to move forward in this scenario.
    Any response is much appreciated.
    Thanks,
    Gireesh

    I did this with PL/SQL once. Basically, you want to know if the remote database is available before you execute SQL against it. Here is my function. You can then SQLExec something like select 'x' from dual where my_package.link_available('the_link_name') = 1. If you get a result, then the db link is active. If you don't, it is not active.
    FUNCTION LINK_AVAILABLE(pv_name VARCHAR2)
      RETURN NUMBER AS
            lv_result PLS_INTEGER;
            lv_name   VARCHAR2(128);
        BEGIN
            lv_name := UPPER(pv_name);
            -- parameter check to avoid SQL injection with dynamic SQL below
            -- if the following selects no rows, it will fall through to exception
            -- and return 0;
            SELECT 1
              INTO lv_result
              FROM ALL_DB_LINKS
             WHERE DB_LINK = lv_name;
            -- if we made it this far, then the parameter was a valid db link name
            -- execute SQL to test
            EXECUTE IMMEDIATE 'SELECT 1 FROM PS_INSTALLATION@' || lv_name INTO lv_result;
            RETURN lv_result;
        EXCEPTION
            WHEN OTHERS THEN
                RETURN 0;
      END LINK_AVAILABLE;

  • It takes long time to invoke the Exception handler code

    In our setup there is firewall between the Appserver that is using toplink and the database.The firewall terminates idle connection on any port if the connection is idle for 1 hr.So i have implemented an exception handler to reconnect when the connection is broken.The code works fine but It takes 15 mins for the exception handler code to be invoked.
    The database is Oracle and the driver is thin driver,OS is solaris.No external connection pool
    I had registered the exceptionhandler to the serversession,should i register it with each ClientSession?

    yes ,15 mins is the time taken before the server session's exception handler code is invoked.
    The following is the exception handler code on the sever session.Any thing wrong?
    server.setExceptionHandler(new ExceptionHandler()
    public Object handleException(RuntimeException ex)
    {//This method is executed only after 15 min ,if the connection is broken
    String mess=ex.getMessage();
    System.out.println("In handler excep mess is "+mess);
    if ((ex instanceof DatabaseException) && (mess.equals("connection reset by peer.")||(mess.indexOf("IOException :Broken pipe")!=-1)))
    DatabaseException dbex = (DatabaseException) ex;
    dbex.getAccessor().reestablishConnection (dbex.getSession());
    return dbex.getSession().executeQuery(dbex.getQuery());
    return null;
    What could be wrong ?
    I tried Oracle's connection cache Impl created a connection pool using the same thin driver and on the same env.SQLException is thrown immediately on using the broken connection.so I feel the driver is not causing any problem.
    Is there any way in toplink to keep the connections active?or Is there any way to poll all connections in the connection pool and check If they are connected instead of waiting until the exception gets thrown and handle it?

  • Task flow exception handler

    Hi all,
    I'm trying to specify a method activity as an exception handler in the adfc-config. The problem is if I specify a view activity or a bounded task flow as the exception handler then it works fine, but if the exception handler is a method activity then it is not recognized. What could be the cause?. I need to execute a method when an exception occurs.
    Version: 11.1.2.0
    Edited by: NewBee on Apr 23, 2013 10:37 AM

    Hi,
    there should not be a problem with this and I recently did the same with JDeveloper 11g R2 (not sure which version of JDeveloper you use because you did not share this information). I assume you just marked the method activity as an exception handler without any other configuration? If so then set a break point to the managed bean method that you access from the method activity to see if it actually stops there. Also note that not all exceptions are handled by the controller exception handler. E.g an exception during render response phase (typically an exception in a managed bean) is not handled by the controller. Also you need to avoid the managed bean that handles the exception to itself throw one. This however you will see when debugging the bean.
    Frank

  • Exception handling issue

    I have a perplexing question.... I am in the midst of developing an APEX 4.0 application. Customer will NOT be going to4.1 for a while....I wish to have exception handling that will handle both APEX based interactions and some back-end Sql Loader activity.
    I have built an Exception handler that has a supporting APEX page to display a more human compatible error page, but am trying to make the exception handler NOT try and call up a page and such if the exception it encounters is a trigger being fired when a # of rows are being bulked loaded..
    Simply put.. In the exception handler, how can I have code branch around the fact I might NOT have an APEX application for it to display the error ...
    What I'd love to find is an object or variable that tells me what I am running the PL/SQL under..
    Thank you,
    Tony Miller
    Dallas, Tx

    Jari,
    If I try running this from SQL Plus, I would assume it would crash due to fact I am NOT running under APEX and can NOT see the Application object that this function is based upon:
    IS_SESSION_VALID Function
    This function is a Boolean result obtained from executing the current application's authentication scheme to determine if a valid session exists. This function returns the Boolean result of the authentication scheme's page sentry.
    Its like trying to figure out which came 1st, the chicken or the egg...
    Thank you,
    Tony Miller
    Dallas, TX

  • Avoid transaction roll back using exception handler

    Hi everybody!
    I've created a proxy service in OSB using a DB adapter for polling from a database table. I've configured the service to be transactional with same transaction for reponse. The proxy has a route node that routes to a business service created from a db adapter for storing the polled data. Insert table has a db trigger associated wich raises a custom exception in certain cases. I need to catch that exception in the route exception handler to avoid the full transaction to be marked rolled back. For this, I've setup a response with failure action in the handler.
    After testing the service I realized that it's not working as expected as transaction is being rolled back when the trigger raises the exception (so registry is not marked as polled in source table).
    Could anyone explain me which action should be taken to avoid a rollback when handling exception?
    Best regards,
    Daniel.

    Hi Athhek,
    If I set reply with success then both route node and system error handlers are executed. I get following response metadata
    <con:metadata      xmlns:con="http://www.bea.com/wli/sb/test/config">
    <tran:response-code      xmlns:tran="http://www.bea.com/wli/sb/transports">1</tran:response-code>
    </con:metadata>
    and also following error reaches system handler:
    <con:fault      xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-382050</con:errorCode>
    <con:reason>
    Expected active transaction, actual transaction status: Marked Rollback
    </con:reason>
    <con:location>
    <con:path>response-pipeline</con:path>
    </con:location>
    </con:fault>
    When I set reply with error only route node handler is executed but I still get
    <con:metadata      xmlns:con="http://www.bea.com/wli/sb/test/config">
    <tran:response-code      xmlns:tran="http://www.bea.com/wli/sb/transports">1</tran:response-code>
    </con:metadata>
    Thank you.

Maybe you are looking for