ADF, TopLink exceptions handling on 10g

We have a J2EE application using TopLink and ADF datacontrols. In development environment (JDeveloper) all exceptions are shown well (there's a <html:errors/> tag on every jsp page generated automatically together with ADF datacontrols). But when we deploy our application on 10g server, we see only meaningless "null".
When we look on server into log called "redirected output/errors", there is all here.
(Including SQL statement and exact error description). Must be anything set on application server to bahave exactly as OC4J in JDeveloper ? Thanks.

Errors are stored into application.log file for every particular application. Could it be possible to show the content of this file in application by using some interface such as it is in enterprise manager? That means showing groups of 500 lines and browsing capability to show another ones.

Similar Messages

  • 11g ADF TaskFlow Exception Handling in BPM

    Hi Guys
    BPM 11g
    I have a human task that is implemented as an ADF task flow. I would like to be able to throw an exception from the ADF application and have it handled by the BPM process, does anyone know if this is possible or how I would do that?
    At the moment I have an ADF error page - I could return an "error" outcome to the process from that but an error is an error and it feels right to show that in the process instead of a normal outcome.
    anyone else worked through this?
    cheers,
    Steve

    help yourself with this thread - Re: Exception Handling
    it should answer your question

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

  • Exception Handling in ADF

    Jdeveloper version 11.1.1.5.0
    Use Case :
    My application has :- 1 Jspx page ( testPage.jspx ) , 1 taskflow ( testExceptionFlow.xml ) , 1 pageFragment ( testOperation.jsff ).
    I have employee table dragged as table on testOperation.jsff with 4 buttons :
    1. Delete - Executes the VO's Delete action.
    2. Commit - AM's commit operation ( through datacontrol )
    3. CustomDeleteAndCommit - One method in VOImpl which deletes the currentRow and calls this.getDBTransaction().commit() method.
    4. CustomCommitThroughBean - Action listener in beans calls the commit through operation binding.
    I have secured my application and create two users in jazn.xml User1 and User2. Now both users are logged in to the application using different browser.
    Both users can see employee with empId 100.
    User1 selects a employee with empId 100 and clicks Delete button. Further clicks Commit button.
    User2 selects the same employee with empId 100 and clicks Delete button. Further he can choose to commit through different options :
    a) Commit
    b) CustomCommitThroughBean
    OR
    CustomDeleteAndCommit
    Obviously there will be jboException stating that row is already delete. When I am calling it through CustomCommitThroughBean operationBinding.getErrors() has errors, so I don't see error on UI.
    I see a couple of posts about different ways of handling Exception :
    [Using Exception Handler in an ADF Task Flow | https://blogs.oracle.com/ADFProgrammers/entry/using_exception_handler_in_an]
    [Extending the ADF Controller exception handler | https://blogs.oracle.com/jdevotnharvest/entry/extending_the_adf_controller_exception_handler]
    [Task Flow Exception Handler | http://adfpractice-fedor.blogspot.com/2011/12/task-flow-exception-handler-you-must.html]
    [Exception Handling in adf (Part 1) | http://adfwithejb.blogspot.com/2012/05/exception-handling-in-adf-part-1.html ]
    Which method of exception handling is applicable should be chosen ?
    I just want to notify user about exception through some custom message and table should get refreshed for further operation.
    My observations :
    I get an error dialog in case :
    Commit & CustomDeleteAndCommit
    whereas no default error in case : CustomCommitThroughBean
    I have uploaded my application [here | http://dl.dropbox.com/u/70986236/BlogApplication/OperationBindingExecuteErrorApp.zip ] . Want to implement exception handling in this application.
    Thanks,
    Rajdeep
    Edited by: Rajdeep on Jul 26, 2012 9:45 PM

    When you invoke an operation programmatically through an ADF OperationBinding, the eventual exception is not thrown to you but it is reported to the BindingContainer and the BindingContainer automatically adds a FacesMessage of ERROR severity to the FacesContext. If you have an <af:messages> tag in your ADF Faces page, this error message should be displayed automatically.
    Dimitar

  • Exception Handling in ADF 10g

    Hi everybody,
    I want to develop an application and need exception handling.
    I have a helper application that contains this classes:
    MyADFPhaseListener extends ADFPhaseListener that return this: return new MyFacesPageLifecycle(),
    MyErrorHandler extends DCErrorHandlerImpl,
    MyFacesPageLifecycle extends FacesPageLifecycle that contain this methods:
    prepareModel(LifecycleContext ctx) that set my errorhandler with this: ctx.getBindingContext().setErrorHandler(new MyErrorHandler(true));
    and
    reportErrors(PageLifecycleContext ctx){
    DCBindingContainer bc = (DCBindingContainer)ctx.getBindingContainer();
    if (bc != null) {
    ArrayList<Exception> exceptions =new ArrayList<Exception>();
    exceptions = bc.getExceptionsList();
    if (exceptions != null) {
    /*handle exceptions*/
    My problem is here:
    when throw an exception in my app like this: throw new JboException("Don't do that.", "101", null);
    after create pagelifecycle and calling prepareModel(), reporterros() dose not call....!!!
    why?
    Edited by: 859070 on May 15, 2011 9:35 PM

    when click a button and call action of this button.
    please note:
    My helper application and main application are apart. I deploy helper application to jar file and use this jar file in main application.
    Maybe exceptions don`t send to reportErrors() method in MyPageLifeCycle class, because i create a test class like this:
    public class test {
    public static void main(String[] args) throws SQLException {
    ArrayList<Exception> exss = new ArrayList<Exception>();
    exss.add(new JboException("A fatal exception is occurred",
    "103", null));
    exss.add(new NullPointerException());
    exss.add(new SQLException());
    MyFacesPageLifecycle efpl =new MyFacesPageLifecycle();
    efpl.errorReporter(exss);
    Body of errorReporter(ArrayList<Exception>) method is like reportErrors(PageLifecycleContext) just parameter is different.
    public void errorReporter(ArrayList<Exception> excs) {
    if (excs != null) {
    for (Exception exception: excs) {
    if(exception instanceof JboException){
    System.out.println("JBOException is occurred here: "+exception.getMessage());
    else if(exception instanceof SQLException){
    System.out.println("SQLException is occurred here");
    else if(exception instanceof NullPointerException){
    System.out.println("NullPointerException is occurred here");
    else{
    and this handle exceptions list. My opinion is that exceptions between different applications(helper and main) are lost. is this correct?

  • ADF Task Flow Exception Handling

    Hi ,
    I tried a very simple thing for taskFlow exception handling.
    I created a bounded task flow with a page fragment (View1.jsff) and another view which is the TaskFlow ExceptionHandler (error.jsff).
    The view1.jsff has a button whose action is bound to the backing bean. In the backingBean method I deliberately do division by 0.
    Since this is an unHandled exception, I would have expected the control to come to error.jsff. But, instead I am shown a pop up box with the error message.
    Why is the control not getting redirected to error.jsff ?
    Thanks.
    S.Srivatsa Sivan

    Hi Frank , im having the same problem.
    I want to handle exceptions that occur while navigating task flows (example: A user navigates to a task flow that he/she does not have view permission)
    I tried using a view activity and method activity as the exception handler but none of them works, the exception is still not handles. It does not even navigate to the exception handler on the task flow.
    on the view page i have:
    <af:panelStretchLayout topHeight="50px" id="psl1">
    <f:facet name="top">
    <af:panelGroupLayout layout="scroll"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    id="pgl1">
    Error message:  
    <af:outputText value="#{controllerContext.currentRootViewPort.exceptionData.message}" id="ot2"/>
    </af:panelGroupLayout>
    </f:facet>
    <f:facet name="center">
    <af:outputText value="#{my_exception_Handler.stackTrace}" id="ot1"/>
    <!-- id="af_one_column_header_stretched" -->
    </f:facet>
    </af:panelStretchLayout>
    I tried getting the error message and stacktrace from the controllerContext via EL like this "#{controllerContext.currentRootViewPort.exceptionData.message}"
    and from the controllerContext class in functions that i have declared in my_exception_Handler class like this
    " ControllerContext ctx = ControllerContext.getInstance();
    ViewPortContext vCtx = ctx.getCurrentViewPort();
    if(vCtx.getExceptionData() != null){
    StringWriter stringWriter = new StringWriter();
    PrintWriter printWriter = new PrintWriter(stringWriter);
    vCtx.getExceptionData().printStackTrace(printWriter);
    return stringWriter.toString();"
    But all this dont even matter because when the exception occurs on the task flow it does not navigate to the default exception handler.
    thanks for your interest and help in advance.
    Cyborg_0912

  • Using Exception Handler in an ADF Task Flow

    Hi folks.
    Today I gave a try on Exception Handling. while i go through the blog.
    https://blogs.oracle.com/ADFProgrammers/entry/using_exception_handler_in_an
    I cant able to attain the Solution 2: Re-Routing the task flow to display an error page As per the Figure 9 i make it out.
    but it is not navigating error.jsff.
    Taskflow return is not working i hope. only Exception thrown only happens from method.
    anyone help me out. what I'm missing ?
    - jdev 11.1.1.6.0

    hi,
    is there anyone help me out of this issue.

  • Toplink Exception in BPEL process

    Hi All,
    We get the attached error while running a BPEL process which uses a DBAdapter (which uses Toplink under the covers). Can you provide any pointers on why this exception might be happening.
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433.
    at
    oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:310)
    at
    oracle.tip.adapter.db.exceptions.DBResourceException.couldNotCreateTopLinkSessionException(DBResourceException.java:174)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.acquireClientSession(DBManagedConnectionFactory.java:512)
    at oracle.tip.adapter.db.DBManagedConnection.getSession(DBManagedConnection.java:208)
    at oracle.tip.adapter.db.transaction.DBCciLocalTransaction.getSession(DBCciLocalTransaction.java:149)
    at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:143)
    at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:528)
    at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:164)
    at
    oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:458)
    at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452)
    at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
    at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.expire(BPELInvokeWMP.java:120)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:3868)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2228)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:116)
    at
    IActivityManagerLocalBean_StatelessSessionBeanWrapper52.expireActivity(IActivityManagerLocalBean_StatelessSessionBeanWrapper52.java:645)
    at
    com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
    at
    com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:568)
    Caused by: Exception [TOPLINK-4002] (OracleAS TopLink - 10g
    (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433
    at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:221)
    at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:105)
    at oracle.toplink.sessions.DatabaseLogin.connect(DatabaseLogin.java:218)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:398)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:423)
    at oracle.toplink.threetier.ConnectionPool.buildConnection(ConnectionPool.java:90)
    at oracle.toplink.threetier.ExternalConnectionPool.startUp(ExternalConnectionPool.java:114)
    at oracle.toplink.threetier.ServerSession.connect(ServerSession.java:447)
    at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:531)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.createServerSession(DBManagedConnectionFactory.java:648)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.acquireClientSession(DBManagedConnectionFactory.java:329)
    ... 26 more
    Caused by: java.sql.SQLException: invalid arguments in call
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java(Compiled
    Code))
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:239)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:205)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:433)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:150)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:571)
    at com.evermind.sql.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:160)
    at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:100)
    ... 35 more
    <2007-05-22 12:47:15,075> <ERROR> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Rolling back JCA LocalTransaction
    <2007-05-22 12:47:15,075> <DEBUG> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Marking this exception as Retriable
    <2007-05-22 12:47:15,076> <DEBUG> <default.collaxa.cube.ws>
    <WSIFInvocationHandler::invoke> invoke failed
    org.collaxa.thirdparty.apache.wsif.WSIFException:
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - WSIF JCA Execute of operation 'ReceiveRequest' failed due
    to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    ; nested exception is:
    ORABPEL-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need
    to configure the connection settings in the deployment descriptor
    (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml)
    and restart the server. Caused by Exception [TOPLINK-4002]
    (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)):
    oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433.
    at
    oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:570)
    at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452)
    at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
    at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.expire(BPELInvokeWMP.java:120)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:3868)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2228)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:116)
    at
    IActivityManagerLocalBean_StatelessSessionBeanWrapper52.expireActivity(IActivityManagerLocalBean_StatelessSessionBeanWrapper52.java:645)
    at
    com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
    at
    com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:568)
    Caused by: ORABPEL-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need
    to configure the connection settings in the deployment descriptor
    (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml)
    and restart the server. Caused by Exception [TOPLINK-4002]
    (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)):
    oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433.
    at
    oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:310)
    at
    oracle.tip.adapter.db.exceptions.DBResourceException.couldNotCreateTopLinkSessionException(DBResourceException.java:174)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.acquireClientSession(DBManagedConnectionFactory.java:512)
    at oracle.tip.adapter.db.DBManagedConnection.getSession(DBManagedConnection.java:208)
    at oracle.tip.adapter.db.transaction.DBCciLocalTransaction.getSession(DBCciLocalTransaction.java:149)
    at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:143)
    at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:528)
    at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:164)
    at
    oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:458)
    ... 20 more
    Caused by: Exception [TOPLINK-4002] (OracleAS TopLink - 10g
    (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433
    at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:221)
    at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:105)
    at oracle.toplink.sessions.DatabaseLogin.connect(DatabaseLogin.java:218)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:398)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:423)
    at oracle.toplink.threetier.ConnectionPool.buildConnection(ConnectionPool.java:90)
    at oracle.toplink.threetier.ExternalConnectionPool.startUp(ExternalConnectionPool.java:114)
    at oracle.toplink.threetier.ServerSession.connect(ServerSession.java:447)
    at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:531)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.createServerSession(DBManagedConnectionFactory.java:648)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.acquireClientSession(DBManagedConnectionFactory.java:329)
    ... 26 more
    Caused by: java.sql.SQLException: invalid arguments in call
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java(Compiled
    Code))
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:239)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:205)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:433)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:150)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:571)
    at com.evermind.sql.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:160)
    at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:100)
    ... 35 more
    <2007-05-22 12:47:15,082> <DEBUG> <default.collaxa.cube.ws>
    <WSIFInvocationHandler::invoke> Fault happened:
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - WSIF JCA Execute of operation 'ReceiveRequest' failed due
    to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    ; nested exception is:
    ORABPEL-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need
    to configure the connection settings in the deployment descriptor
    (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml)
    and restart the server. Caused by Exception [TOPLINK-4002]
    (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)):
    oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433.
    <2007-05-22 12:47:16,119> <DEBUG> <default.collaxa.cube.ws>
    <WSInvocationManager::invoke> operation: ReceiveRequest,
    partnerLink: <partnerLink name="DBReceiveRequest"
    partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/ReceiveRequest/}ReceiveRequest_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="ReceiveRequest_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/db/ReceiveRequest/}ReceiveRequest</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/ReceiveRequest/}ReceiveRequest_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/default/BPEL_XXP4UHRADRV~1.0/601-BpInv1-BpSeq2.6-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2007-05-22 12:47:16,120> <DEBUG> <default.collaxa.cube.ws>
    <WSInvocationManager::invoke> def is
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    <2007-05-22 12:47:16,120> <DEBUG> <default.collaxa.cube.ws>
    <WSIFInvocationHandler::invoke> opName=ReceiveRequest,
    parnterLink=<partnerLink name="DBReceiveRequest"
    partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/ReceiveRequest/}ReceiveRequest_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="ReceiveRequest_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/db/ReceiveRequest/}ReceiveRequest</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/ReceiveRequest/}ReceiveRequest_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/default/BPEL_XXP4UHRADRV~1.0/601-BpInv1-BpSeq2.6-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2007-05-22 12:47:16,120> <DEBUG> <default.collaxa.cube.ws>
    <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2007-05-22 12:47:16,126> <INFO> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Using JCA Connection Pool - max size = <unbounded>
    <2007-05-22 12:47:16,127> <DEBUG> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Looking up Resource Adapter JDNI location 'eis/DB/APPS'
    <2007-05-22 12:47:16,127> <DEBUG> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound> Instantiating outbound JCA
    interactionSpec oracle.tip.adapter.db.DBStoredProcedureInteractionSpec
    <2007-05-22 12:47:16,127> <DEBUG> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound> Populating outbound JCA interactionSpec
    oracle.tip.adapter.db.DBStoredProcedureInteractionSpec with
    properties: {ProcedureName=DEQ_REQ_MSG, PackageName=XXP4U_HRADRV_BPEL_PKG,
    SchemaName=APPS}
    <2007-05-22 12:47:16,139> <DEBUG> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - No XMLRecord headers provided
    <2007-05-22 12:47:16,139> <DEBUG> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Starting JCA LocalTransaction
    <2007-05-22 12:47:16,139> <DEBUG> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Invoking JCA outbound Interaction
    <2007-05-22 12:47:16,154> <DEBUG> <default.collaxa.cube.ws>
    <Database Adapter::Outbound> <oracle.tip.adapter.db.DBManagedConnectionFactory
    createServerSession> create a new ServerSession
    <2007-05-22 12:47:16,155> <DEBUG> <default.collaxa.cube.ws>
    <Database Adapter::Outbound> <oracle.tip.adapter.db.DBManagedConnectionFactory
    createServerSession> The platform class name was specified as:
    oracle.toplink.internal.databaseaccess.Oracle9Platform
    <2007-05-22 12:47:16,156> <DEBUG> <default.collaxa.cube.ws>
    <Database Adapter::Outbound> <oracle.tip.adapter.db.DBManagedConnectionFactory
    createServerSession> Using an app server connection pool. DataSource name is jdbc/OracleHRAppsDataSourceDS
    <2007-05-22 12:47:16,158> <DEBUG> <default.collaxa.cube.ws>
    <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger
    log> TopLink, version: OracleAS TopLink - 10g (9.0.4.5) (Build
    040930)
    <2007-05-22 12:47:16,159> <DEBUG> <default.collaxa.cube.ws>
    <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger
    log> connecting session: Not named
    <2007-05-22 12:47:16,159> <DEBUG> <default.collaxa.cube.ws>
    <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger
    log> connecting(DatabaseLogin(
    platform=>Oracle9Platform
    datasource name=>jdbc/OracleHRAppsDataSourceDS
    <2007-05-22 12:47:16,161> <ERROR> <default.collaxa.cube.ws>
    <Database Adapter::Outbound> <oracle.tip.adapter.db.DBManagedConnectionFactory
    acquireClientSession> unable to build the TopLink Session
    <2007-05-22 12:47:16,162> <DEBUG> <default.collaxa.cube.ws>
    <Database Adapter::Outbound> <oracle.tip.adapter.db.DBManagedConnectionFactory
    acquireClientSession>
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433
    <2007-05-22 12:47:16,165> <ERROR> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Could not invoke operation 'ReceiveRequest' against the
    'Database Adapter' due to:
    ORABPEL-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need
    to configure the connection settings in the deployment descriptor
    (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml)
    and restart the server. Caused by Exception [TOPLINK-4002]
    (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)):
    oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433.
    at
    oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:310)
    at
    oracle.tip.adapter.db.exceptions.DBResourceException.couldNotCreateTopLinkSessionException(DBResourceException.java:174)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.acquireClientSession(DBManagedConnectionFactory.java:512)
    at oracle.tip.adapter.db.DBManagedConnection.getSession(DBManagedConnection.java:208)
    at oracle.tip.adapter.db.transaction.DBCciLocalTransaction.getSession(DBCciLocalTransaction.java:149)
    at oracle.tip.adapter.db.DBConnection.getSession(DBConnection.java:143)
    at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:528)
    at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:164)
    at
    oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:458)
    at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452)
    at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
    at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.expire(BPELInvokeWMP.java:120)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:3868)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2228)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:116)
    at
    IActivityManagerLocalBean_StatelessSessionBeanWrapper52.expireActivity(IActivityManagerLocalBean_StatelessSessionBeanWrapper52.java:645)
    at
    com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
    at
    com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:568)
    Caused by: Exception [TOPLINK-4002] (OracleAS TopLink - 10g
    (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433
    at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:221)
    at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:105)
    at oracle.toplink.sessions.DatabaseLogin.connect(DatabaseLogin.java:218)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:398)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.connect(DatabaseAccessor.java:423)
    at oracle.toplink.threetier.ConnectionPool.buildConnection(ConnectionPool.java:90)
    at oracle.toplink.threetier.ExternalConnectionPool.startUp(ExternalConnectionPool.java:114)
    at oracle.toplink.threetier.ServerSession.connect(ServerSession.java:447)
    at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:531)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.createServerSession(DBManagedConnectionFactory.java:648)
    at
    oracle.tip.adapter.db.DBManagedConnectionFactory.acquireClientSession(DBManagedConnectionFactory.java:329)
    ... 26 more
    Caused by: java.sql.SQLException: invalid arguments in call
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java(Compiled
    Code))
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:239)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:205)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:433)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:150)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:571)
    at com.evermind.sql.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:160)
    at oracle.toplink.jndi.JNDIConnector.connect(JNDIConnector.java:100)
    ... 35 more
    <2007-05-22 12:47:16,165> <ERROR> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Rolling back JCA LocalTransaction
    <2007-05-22 12:47:16,165> <DEBUG> <default.collaxa.cube.ws>
    <AdapterFramework::Outbound>
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - Marking this exception as Retriable
    <2007-05-22 12:47:16,165> <DEBUG> <default.collaxa.cube.ws>
    <WSIFInvocationHandler::invoke> invoke failed
    org.collaxa.thirdparty.apache.wsif.WSIFException:
    file:/oracle/crp1/BPEL/integration/orabpel/domains/default/tmp/.bpel_BPEL_XXP4UHRADRV_1.0.jar/ReceiveRequest.wsdl
    [ ReceiveRequest_ptt::ReceiveRequest(InputParameters,OutputParameters)
    ] - WSIF JCA Execute of operation 'ReceiveRequest' failed due
    to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    ; nested exception is:
    ORABPEL-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need
    to configure the connection settings in the deployment descriptor
    (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml)
    and restart the server. Caused by Exception [TOPLINK-4002]
    (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)):
    oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433.
    at
    oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:570)
    at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452)
    at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
    at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.expire(BPELInvokeWMP.java:120)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:3868)
    at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2228)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
    at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:116)
    at
    IActivityManagerLocalBean_StatelessSessionBeanWrapper52.expireActivity(IActivityManagerLocalBean_StatelessSessionBeanWrapper52.java:645)
    at
    com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
    at
    com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:568)
    Caused by: ORABPEL-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    See root exception for the specific exception. You may need
    to configure the connection settings in the deployment descriptor
    (i.e. $J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml)
    and restart the server. Caused by Exception [TOPLINK-4002]
    (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)):
    oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: invalid arguments
    in call
    Internal Exception: java.sql.SQLException: invalid arguments
    in call
    Error Code: 17433.

    It looks like you are not providing a username or password in your DataSource.

  • Database Exception Handling Error

    Hi
    Platform: BPEL/SOA Suite 10.1.3.3
    I created an async BPEL process that does a simple insert into a database, and added error handling to ensure that database errors are trapped and interested parties notified when errors occur. To test the exception handling, I created a dummy table with an id and value column, where the value is declared as varchar2(1). Then I invoked the BPEL process with a string value longer than 1 character.
    I expected to have the process catch the error, execute a java embedded System.out.println, assign the fault details to a fault variable string, and then terminate, with the terminated process displayed in the BPEL Console. Much to my surprise, as this executed perfectly in BPEL 10.1.2, this did not happen. Instead, the java embedded System.out.println executed, but then the following error was generated and the BPEL process was sent to the Manual Recovery area.
    2007-10-18 10:52:29,879> <ERROR> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.DBInteraction executeOutboundWrite> unable to execute the outbound insert operation on: DBAccessDummyTable.TestDummy
    <2007-10-18 10:52:29,879> <ERROR> <default.collaxa.cube.ws> <AdapterFramework::Outbound> file:/E:/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_Test_DummyTable_Async_1.5_709050a551839440870cf17aba79c0f7.tmp/DBAccess_DummyTable.wsdl [ DBAccess_DummyTable_ptt::insert(TestDummyCollection,TestDummyCollection) ] - Could not invoke operation 'insert' against the 'Database Adapter' due to:
    ORABPEL-11616
    DBWriteInteractionSpec Execute Failed Exception.
    insert failed. Descriptor name: [DBAccessDummyTable.TestDummy]. [Caused by: ORA-12899: value too large for column "ALE_ADAPTER"."TEST_DUMMY"."DUMMY_STRING_VALUE" (actual: 4, maximum: 1)
    Caused by Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.3.0) (Build 070608)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: ORA-12899: value too large for column "ALE_ADAPTER"."TEST_DUMMY"."DUMMY_STRING_VALUE" (actual: 4, maximum: 1)
    Error Code: 12899
    Call:INSERT INTO TEST_DUMMY (DUMMY_ID, DUMMY_STRING_VALUE) VALUES (?, ?)
         bind => [280, long]
    Query:InsertObjectQuery(<TestDummy 280 />).
         at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:469)
         at oracle.tip.adapter.db.exceptions.DBResourceException.outboundWriteException(DBResourceException.java:510)
         at oracle.tip.adapter.db.DBInteraction.executeOutboundWrite(DBInteraction.java:963)
         at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:225)
         at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:485)
         at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:435)
         at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:443)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:251)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:727)
    I decided to test this on my local SOA Suite, instead of deploying to the development server, and again to my surprise, the exception was caught and handled as expected, with no errors thrown. I then realized that I hadn’t set up the datasource, connection pool, and DbAdapter connection factory in Enterprise Manager for the database being used. I configured these appropriately, and once again the above error happened, this time on my local SOA Suite. I removed the connection from the DbAdapter connection factory, and the exception was once again caught and handled appropriately.
    Since our database passwords have to be changed periodically, we are required to configure the datasource etc on the server so password management can be done in one place. That being the case, I’m hoping someone can provide some ideas to help resolve this issue. I tried changing a few of the database settings in Enterprise Manager (using dataSourceName instead of xADataSourceName, setting usesBatchWriting to false instead of true) but none of these changes worked.
    Thanks

    You should look into Bridge [GOF:151] and Memento [GOF:273].
    Bridge allows you to decouple your mechanism from the implementation memento on how to propergate the decoupled exception information.

  • How to display the 500-internal server error on the Exception Handler page

    Hello
    My situation is as follows : JDev 11.1.1.0.2, ADF fusion application, one unbounded task flow containing 2 view pages view1.jspx and error.jspx
    The error jspx is marked as the exception handler.
    When an error occurs (typically a 500-Internal Server Error) the error.jspx is correctly displayed and shows our message such as 'Don't panic, please call our tech support'
    What I would like to do is to display the actual error stack on this page along with our message.
    I've searched around and I can't find how to either get the error stack in a bean or what EL expression should be used to get the error stack.
    Can anybody help ?
    Best Regards
    Paul
    Switzerland

    The error will be the same, but the stack trace will be different, such as
    Error 500--Internal Server Error
    oracle.adf.controller.security.AuthorizationException: ADFC-0619: Echec de la vérification des autorisations : '/view1.jspx' 'VIEW'.
         at oracle.adf.controller.internal.security.AuthorizationEnforcer.handleFailure(AuthorizationEnforcer.java:145)
         at oracle.adf.controller.internal.security.AuthorizationEnforcer.checkPermission(AuthorizationEnforcer.java:124)
         at oracle.adfinternal.controller.state.ControllerState.initializeUrl(ControllerState.java:639)
         at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart2(ControllerState.java:449)
         at oracle.adfinternal.controller.application.SyncNavigationStateListener.afterPhase(SyncNavigationStateListener.java:44)
         at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.afterPhase(ADFLifecycleImpl.java:529)
         at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchAfterEvent(LifecycleImpl.java:118)
         at oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchAfterPagePhaseEvent(LifecycleImpl.java:166)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.dispatchAfterPagePhaseEvent
    What I would like is to display the above stack trace on the page marked as the exception handler....
    Regards
    Paul

  • Global Exception Handling

    How to set up global exception handling to provide user friendly messages to user?
    AFAIK there is no real global exception handing available for now in ADF. So I need some "tutorials" about exception handling in:
    - Model
    - Controller
    - View
    Thx
    Regards
    Zmeda

    refer this
    http://blogs.oracle.com/groundside/entry/adventures_in_adf_logging_part
    controller
    http://blogs.oracle.com/jdevotnharvest/entry/extending_the_adf_controller_exception_handler
    http://andrejusb.blogspot.com/2011/03/exception-handler-for-method-calls_19.html
    http://my.safaribooksonline.com/book/databases/oracle/9780071622547/introduction-to-oracle-adf-task-flows/ch04lev1sec7
    http://my.safaribooksonline.com/book/databases/oracle/9780071622547/working-with-unbounded-and-bounded-oracle-adf-task-flows/169

  • 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 OWB Urgent!!!

    Hi,
    I want to do error handling in OWB Mapping, how to achivw the same as there is no exception handling OPERATOR provided by OWB. Please let me know its URGET...
    Not: OWB version is 10g R1.

    Hi,
    Jeane has answered your query. Such vague questions dont have any specific answer. Identify your rules that should raise an exception. On satisfying such conditions, route this record to the error table instead of the target table. your exception is raised and it also has been handled as you have managed to load into a error table upon which you can report.
    Regards
    -AP

  • Exception Handling in Web Center for UI related Errors not working.

    Hi Guys,
    I have implemented Error Handling in ADF Application with Custom Model Exception Handler ( which is "CustomExceptionHandler extends DCErrorHandlerImpl") to catch all Model Layer Exception and to customize those error messages.
    I have implemented Error Handling in ADF Application with Custom View Exception Handler ( which is "CustomViewErrorHandler extends oracle.adf.view.rich.context.ExceptionHandler";) to catch all View Layer Exception and to customize those error messages.
    The design for this is , in Model Custom Exception Handler i find the exception message in "public String getDisplayMessage(BindingContext bindingContext,Exception exception) " method and throw RuntimeException to pass this exception to Custom View Layer Exception , so that i can handle all the exception @ View Layer it self .
    In the View Layer Exception Handler i am navigating to specific error page using
    String contextPath = ((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getContextPath();
    ExternalContext ectx = facesContext.getExternalContext();
    ectx.redirect.
    All these things absolutly working in ADF Application for all the exception ( Model , View ) and i am successfully navigating to error page.
    Problem  :
    When i implement the same thing in Webcenter Application ( Model Custom Exception Handler and View Custom Exception Handler), Model Part is working as expected , but View Custom Exception Handler is not all calling .
    i am assuming that ,this View Custom Exception Handler (CustomViewErrorHandler extends oracle.adf.view.rich.context.ExceptionHandler) works only for JSF Life cycle
    "Allows frameworks to intercept otherwise unhandled exceptions thrown during the JSF lifecycle. ExceptionHandlers can be registered by adding a service file with a class name at META-INF/services/oracle.adf.view.rich.context.ExceptionHandler." from http://jdevadf.oracle.com/adf-richclient-demo/docs/apidocs/oracle/adf/view/rich/context/ExceptionHandler.html";
    As Webcenter Portal uses ADF Life Cycle this Exception Handler is not calling , i am not sure.
    if any one has any idea please let me know .
    Thanks
    Annapareddy Srinivasrao
    Edited by: Srinivasrao Annapareddy on May 22, 2013 12:06 PM

    i used runtime exception along with the wdwsmodel exception

  • Exception Handling in packages called from forms

    I am running 10g forms that have many calls to packages/procedures in the database. I am seeing hanging processes on the web server (even after forms processes are stopped) and 1 of the causes Oracle listed was not having proper exception handling in the procesdures. Do I need to add an Exception (' when others then null') to my package specs to handle this?

    "Do I need to add an Exception (' when others then null') to my package specs to handle this? "
    That will hide the problem not handle it. You really need is to find out where the code is failing...
    There is a method for logging message for debugging here...
    http://oracle-developer.net/display.php?id=424
    An another which is less good for a live system (the one above lets you set different levels of importance for logs messages and can be turned on or off for each user) but looks easier to implement in case you might be in a hurry...
    Re: Zdebug -- Download a Forms debugging message tool

Maybe you are looking for

  • SAP R/3 to JAVA Interfacing

    Hi Dear all,       My requirement is that to connect SAP R/3 System with JAVA system through RFC. And through that need to pass data from SAP to JAVA AND also JAVA to SAP. Please tell me what is role of ABAPer here. Means what settings I have to do f

  • ITunes has encountered a problem and needs to close when adding movie files

    So.. I haven't done anything recently with installing any new versions of itunes or anything of the such. Just one day whenever I tried to add .mp4 files (videos) on my ipod using Itunes, it crashes with the error message "iTunes has encountered a pr

  • Upgraded processor

    I replaced the stock processor on my G4350 Sawtooth with a 1gig Mercury Extreme and it's been working just fine. Problem is the system profiler shows the cpu speed as 0 MHz. Recently I tried to install OSX Leopard on a new external Firewire HD and go

  • Warning on Payments Register

    Hello, my collegues prepared a paymnet batch for ap-invoices. two payments where not executed because of the folowing reason : "there is not payment method defined on suppliers lever". We looked into the suppliers info but saw nothing stranged. Can s

  • How can I get the Firefox browser to work with my high speed internet?

    After switching from dial-up to high speed internet, I can no longer open the Firefox browser (which I was using) even after downloading the latest version. It is set for my default, but I can only use IE to browse. What else do I need to do to make