ADF Task Flow Binding - Refresh ifNeeded being invoked even WITHOUT any Parameter change

Using JDeveloper 11.1.1.6.0
Issue: Task Flow Binding property "refresh = ifNeeded" seems to be triggered even without the mutation of the input parameter.
As per definition, "ifNeeded: refresh the ADF Region if the value of a task flow binding parameter changes." (Reference: 17.5 Refreshing an ADF Region)
Now for the setup which reproduces the issue.
I'll focus at the fragment bounded task flow level and will skip the jspx side.
taskflow: main-flow.xml
contains a single fragment mainFgmt.jsff
has a managed bean defined SampleBean.java as pageFlow scope.
taskflow: sub-flow.xml
contains a single fragment subFgmt.jsff
has an inputParameter SampleBean.java (because it is an input parameter, by default it will be at pageFlow scope)
!important - has a nested taskflow (task flow call as defined in the component pallete) called inner-flow (see below)
the nested taskflow is the default activity
the nested taskflow has an outcome pointing to subFgmt where outcome = "return"
taskflow: inner-flow.xml
contains a single fragment called stop.jsff
has a return activity without outcome = "return"
stop.jsff has a navigation pointing to the outcome.
Finally mainFgmt.jsff has a task flow binding (pageDef)
with id = "sub-flow.xml"
refresh = "ifNeeded"
parameter SampleBean being submitted as sub-flow's input parameter. (id=sampleBean, value=#{pageFlowScope.mainSampleBean})
Assume that code compiles.
In this scenario where the only tricky condition is the inner nesting (defined by !important), when the inner nesting decides to invoke its outcome to visit sub-flow's fragment, mainFgmt is restarting its taskflow which makes sub-flow start over again.
Another way of saying it is, if sub-flow starts a nested activity and that nested activity exits out to utilize sub-flow's view. The high level definition which is mainFgmt's refresh ifNeeded is restarting sub-flow.
In the above example if you notice, the bean (SampleBean) is not really being utilized except that it is completing the purpose of refresh=ifNeeded. This scenario is only to simplify the setup - in practical use this bean will be mutated to be utilized as a refresh mechanism.
Now interestingly, if I change the pattern a bit then the issue will not happen:
Don't use the nested taskflow (inner-flow) as the default activity, let a fragment of sub-flow hold the initial view.
Navigate to the nested flow.
Exit nested flow.
Everything works.
Now in this scenario, it seems like the sub-flow needs to have a view established first for it to be properly be used.
So my questions are as follows:
Can I consider the behavior of the refresh=ifNeeded as a bug in this usecase?
Would it be better to utilize a different way of refreshing (maybe combination of refresh condition) to get around the issue?
Is the use of the task flow as defined logical or does it cross any boundary or best practice that might be causing this behavior?

Hi,
actually you lost me in your description due to complexity. I lived under assumption that sub-flow already is a region on a view in main flow, but then you sad that
"!important - has a nested taskflow (task flow call as defined in the component pallete) called inner-flow (see below)"
which then confused me as to I have no idea if inner flow now is the second level nesting or first level nesting (should be second level nesting). If sub-flow is a region then having "has an inputParameter SampleBean.java (because it is an input parameter, by default it will be at pageFlow scope)"  is an unnecessary broad scope because the region wont live longer than view scope.
Anyway, it seems that a region refresh is triggered by the lifecycle involved, which can be by design or a bug. I suggest you file a Service Request with support and provide a test case as purely from the description, its hard to parse and understand what is going on.
Frank

Similar Messages

  • How to call an adf task flow in a commandNavigation tab

    Hi,
    I have created an adf task flow, I am able to invoke the same on click of a link.
    Now I have a tab and some sub tabs under it. I want to open this adf task flow on click of one of these sub tabs.
    For this I have added a property of type CommandNavigationItem in parallel with exising subtabs and on the actionListener of this property I am calling the method of the adf task flow.
    But it is not working. When I click on the sub tab created by me I get this error on the logs :
    ADF_FACES-60096:Server Exception during PPR, #1[[javax.servlet.ServletException
    Please help/guide how to solve this issue.

    Hi,
    do you use the XML Menu Model? If so then the task flow must be referenced from a navigaqtion case in the unbounded task flow you turn into the menu model
    Frank

  • Creation an ADF Task Flow Based on a Human Task

    Hello!
    While creating ADF Task Flow Based on a Human Task, I can't bind New TaskFlow to task, which I choose in Dialog.
    Details:
    I Have:
    BPM Project with PackageCreation.task
    ADF Project in Same Application
    I do:
    1. in Application Navigator right click on ADF Project -> New -> Web Tier -> JSF -> ADF Task Flow Based on a Human Task
    in creation Dialog I choose PackageCreation.task and Don't change name of New TaskFlow (automatically JDeveloper set this name to PackageCreation_TaskFlow)
    I have After that:
    new ADF Task Flow and my old PackageCreation.task.
    Question:
    Why my Task don't bind to created ADF task Flow based on it?
    I think, that while creating ADF Task Flow Based on a Human Task it has to change my task, writing some thing like This (inside xml):
    <taskFlowFileLocation>file:/D:/JDeveloper/mywork/SalesQuoteLab/EnterQuoteUILab/public_html/WEB-INF/EnterQuoteDetails_TaskFlow.xml</taskFlowFileLocation>
    That xml element is creating in xml of *.task, while making auto-generation form for human task in BPM Project.

    Juan C,
    I use JDeveloper 11g Release 1.
    May be I didn't explained my question correctly.
    taskdetails1 is creating, and in Data Controls I have objects of my BPM Human Task Payload.
    But in that file "PackageCreation.task" in source I can't find any link to instantly created TaskFlow.xml in my UI project.
    So, I have
    NEW project "PackageCreationUI" with PackageCreation_TaskFlow.xml in it (and TaskDetails1 file too).
    AND Did't Changed PackageCreation.task in BPM Project.
    If I use *"BPM form creation wizard"*, after creating project and TaskFlow in it I see Changes in PackageCreation.task in BPM Project, something like that:
    <taskFlowFileLocation>file:/C:/JDeveloper/mywork/testApp/PackageCreationUI/public_html/WEB-INF/PackageCreation_TaskFlow.xml</taskFlowFileLocation>

  • Error while deploying the ADF task flow project based on a SOA human task

    Hi,
    I created a SOA project with a BPEL process containing Human task, deployed it and could able to test it successfully. I created ADF task flow project based on the Human task created in the earlier project and tried to deploy it. It is giving the following error. The idea is to display the task details in BPM worklist.
    [04:10:53 PM] [Deployer:149034]An exception occurred for task [Deployer:149026]deploy application RevisionApprovalMgmtTaskFlow [Version=V2.0] on soa_server1.: null.
    [04:10:53 PM] Weblogic Server Exception: weblogic.application.WrappedDeploymentException
    [04:10:53 PM] See server logs or server console for more details.
    [04:10:53 PM] weblogic.application.WrappedDeploymentException
    [04:10:53 PM] #### Deployment incomplete. ####
    [04:10:53 PM] Deployment Failed
    The server log shows this detailed error.
    java.lang.IllegalArgumentException
         at oracle.xml.xpath.JXPathExpression.evaluate(JXPathExpression.java:178)
         at oracle.xml.xpath.JXPath.evaluate(JXPath.java:288)
         at oracle.security.jps.internal.config.xml.XmlConfigurationFactory.initialize(XmlConfigurationFactory.java:425)
         at oracle.security.jps.internal.config.xml.XmlConfigurationFactory.getConfiguration(XmlConfigurationFactory.java:149)
         at oracle.security.jps.internal.config.deploy.CredentialStoreDeployer.getCredentialStore(CredentialStoreDeployer.java:56)
         at oracle.security.jps.wls.listeners.CredentialDeployment.migrate(CredentialDeployment.java:83)
         at oracle.security.jps.wls.listeners.JpsApplicationLifecycleListener.migrateAppCredential(JpsApplicationLifecycleListener.java:137)
         at oracle.security.jps.wls.listeners.JpsApplicationLifecycleListener.preStart(JpsApplicationLifecycleListener.java:78)
         at weblogic.application.internal.flow.BaseLifecycleFlow$PreStartAction.run(BaseLifecycleFlow.java:277)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.application.internal.flow.BaseLifecycleFlow$LifecycleListenerAction.invoke(BaseLifecycleFlow.java:194)
         at weblogic.application.internal.flow.BaseLifecycleFlow.preStart(BaseLifecycleFlow.java:57)
         at weblogic.application.internal.flow.HeadLifecycleFlow.prepare(HeadLifecycleFlow.java:279)
         at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:609)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
         at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:185)
         at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:53)
         at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
         at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Apart from these, I have Model and View Controller projects in the application. If I create the ADF task flow based on a Human task in another sample application, it works fine. Only in this application, it does not work. Not sure what this error is. Any ideas?
    Thanks,
    Manoj

    What I suggest is go into EM and undeploy this composite and all versions. (Only if you don't want the existing ones). Then redeploy your process. This will avoid the version conflict and create a new version. 1.0. Then the next time you try and deploy you need to either specify a new version or check the box to say the version can be over written.
    cheers
    James

  • Oracle ADF task flow setup failing- deployment issue

    Hi Experts,
    We are facing issue while deploying the ADF taskflow to Oracle webcenter portal/application server.
    We will need your help to get any pointers from your Oracle network to help resolve.
    Details of issue are as below.
    Please help ASAP.
    Problem Statement: Issue in the ADF taskflow while it is deployed on Oracle Webcenter Portal/Application server (the ADF taskflow is fetching data from PL/SQL procedure using table/record objects as OUT parameter, which is running fine in Jdeveloper).
    Problem Description:
    From ADF task flow we are invoking a PL/SQL procedure, which is returning a PL/SQL objects as an OUT parameter, some of these objects are of TABLE TYPE and one of RECORD TYPE. We are invoking this oracle procedure and fetching the object using jdbc. The object to which we are mapping this PL/SQL object is a custom java type object. We are using Jdeveloper 11.1.1.4 and Oracle ADF for this and we are able to successfully fetch the object using the code snippet #1 attached below.
    However, when we deploying the same code, i.e. the above ADF task flow in the Webcenter Portal server 11.1.1.4, inside the Webcenter portal application, it doesn’t work and give the below error, error snippet #2 below.
    Options tried: Initially we were using oracle.sql.STRUCT to handle the PL/SQL object, we tried changing this to weblogic.jdbc.wrapper.Struct and also java.sql.Struct, however we are still getting same error.
    The objective is to get the data from PL/SQL procedure in objects (record, table) as OUT parameters in ADF taskflow deployed on Oracle webcenter portal/application server.
    ******Code Snippet #1**************************
    txn = getDBTransaction();
    Connection con =
    ((DBTransactionImpl) txn).getPersistManagerConnection();
    st = (OracleCallableStatement) con.prepareCall(callfetchOA);
    st.setString(1, so_number);
    st.setString(2,
    generate_pdf); //generate_pdf should be passed as N in case of FetchOA and Y in case of Generate PDF
    st.setString(3, so_line_id);
    st.registerOutParameter(4, OracleTypes.STRUCT, headerTrxObj);
    st.registerOutParameter(5, OracleTypes.ARRAY, lineTrxTypeObj);
    st.registerOutParameter(6, OracleTypes.ARRAY, fetchFeeLineTypeObj);
    st.registerOutParameter(7, OracleTypes.ARRAY, fetchAdSizeTypeObj);
    st.registerOutParameter(8, OracleTypes.ARRAY, fetchChannelTypeObj);
    st.registerOutParameter(9, OracleTypes.ARRAY, fetchMarketTypeObj);
    st.registerOutParameter(10, OracleTypes.ARRAY, slaTypeObj);
    st.registerOutParameter(11, OracleTypes.NUMBER);
    st.registerOutParameter(12, OracleTypes.VARCHAR);
    st.execute();
    Object[] header = st.getSTRUCT(4).getAttributes();
    ***** error snippet #2**********************
    java.lang.ClassCastException: weblogic.jdbc.wrapper.Struct_oracle_sql_JAVA_STRUCT cannot be cast to oracle.sql.STRUCT
    at weblogic.jdbc.wrapper.CallableStatement_oracle_jdbc_driver_OracleCallableStatementWrapper.getSTRUCT(Unknown Source)
    at com.valassis.service.BaseAppModuleImpl.fetchOrder(BaseAppModuleImpl.java:1496)
    at com.valassis.model.beans.vo.OrderVO.fetchOrder(OrderVO.java:177)
    at com.valassis.model.beans.vo.OrderVO.testSaveOrder(OrderVO.java:399)
    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(Unknown Source)
    at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
    at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    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.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:102)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:92)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:361)
    at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:96)
    at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:96)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:879)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:312)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:185)
    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.portlet.client.adapter.adf.ADFPortletFilter.doFilter(ADFPortletFilter.java:32)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.webcenter.framework.events.dispatcher.EventDispatcherFilter.doFilter(EventDispatcherFilter.java:44)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.wcps.client.PersonalizationFilter.doFilter(PersonalizationFilter.java:75)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.webcenter.content.integration.servlets.ContentServletFilter.doFilter(ContentServletFilter.java:168)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.webcenter.lifecycle.filter.LifecycleLockFilter.doFilter(LifecycleLockFilter.java:151)
    Thanks
    Phani

    Maybe this can help you: http://mike.hostetlerhome.com/2007/02/12/weblogic-oracle-and-blobs-oh-my/
    It shows how to obtain a vendor object from the weblogic wrapped instance.
    From the blog
    weblogic.jdbc.wrapper.Blob cast1 = (weblogic.jdbc.wrapper.Blob) o;
    BLOB myblob = (BLOB) cast1.getVendorObj();

  • What is difference between ADF Task Flow and Faces-Config - when delpoy ?

    What is difference between ADF Task Flow and Faces-Config? When I create navigation between pages with ADF task flow then the navigation don't work when I deploy my application to Weblogic 10.3. When I use default server then navigation works fine. With Faces_config in both situations all works ok - on Stanalone server and default.
    Where is the problem?
    Best regards!

    Shay, I don't use both faces-config and adf task flow! When I failed with task flow I tried faces-config.
    I have active on my weblogic - adf.oracle.domain(1.0,11.1.1.0.0). This is the right ADF? If yes then where is the problem?
    Best regards!

  • Why : Data Control entry not expandable/empty - ADF Task flow based on HT.

    Hi All,
    I've hoping to create an ADF Task flow based on a human task. I have a stand alone ADF application within the ViewController of which I am attempting to create this task flow. The resultant data control entry doesn't seem to be expandable.
    Questions
    1. When creating an ADF Taskflow based on a human task, should it always be within a project in the same application as the SOA components?
    2. If no, is the resultant human task data control empty or not expandable because the xsd for the HT is based on the MDS? I have configured all the MDS connections within my application.
    JDev : 11.1.1.4
    Thanks
    PP

    Hi,
    Answers :-
    1. No, it is not necessary that your ADF Taskflow based on Human Task should be in the same application where the SOA Project Resides. But for the deployment of that ADF Taskflow you will need the SOA Project.You can add that project whenever you want to deploy.
    2. It might be the cause due to the MDS Configuration .
    Do one thing , while creating the ADF Taskflow based on Human Task , you do select the .task file via the file system not from the MDS.
    If you will select the .Task file of your soa project then it will ask you to name the Taskflow, just name the taskflow as you want and say ok.
    After creating the taskflow, it will add a lot of xml files in your project and it will create a data control of it.
    Hope it helps!!
    Regards,
    Shah

  • Problem in working with adf task flow..

    hi all i m trying to run jsf page using adf task flow it is giving me belove error and not running the page what should i do now?
    Target URL -- http://localhost:7101/Myapp-ViewController-context-root/faces/head.jsf
    <ViewHandlerImpl> <_checkTimestamp> Apache Trinidad is running with time-stamp checking enabled. This should not be used in a production environment. See the org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION property in WEB-INF/web.xml
    <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RESTORE_VIEW 1
    javax.faces.view.facelets.FaceletException: Error Parsing //C:/JDeveloper/system11.1.2.2.39.61.83.1/o.j2ee/drs/Myapp/ViewControllerWebApp.war/head.jsf: Error Traced[line: 21] <Line 21, Column 26>: XML-20121: (Fatal Error) End tag does not match start tag 'af:panelSplitter'.
         at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:394)
         at com.sun.faces.facelets.compiler.SAXCompiler.doMetadataCompile(SAXCompiler.java:377)
         at com.sun.faces.facelets.compiler.Compiler.metadataCompile(Compiler.java:130)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory.createMetadataFacelet(DefaultFaceletFactory.java:319)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory.access$200(DefaultFaceletFactory.java:92)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:168)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:166)
         at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:94)
         at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:89)
         at com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:99)
         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
         at com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:114)
         at com.sun.faces.facelets.impl.DefaultFaceletCache.getMetadataFacelet(DefaultFaceletCache.java:135)
         at com.sun.faces.facelets.impl.DefaultFaceletCache.getMetadataFacelet(DefaultFaceletCache.java:62)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:252)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:201)
         at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:114)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._restoreView(LifecycleImpl.java:749)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:346)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:207)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
         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:173)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
         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:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         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.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    <LifecycleImpl> <_reportFailureForMissingViewRoot> ADF_FACES-30179:For more information, please see the server's error log for an entry beginning with: The UIViewRoot is null. Fatal exception during PhaseId: RESTORE_VIEW 1.
    javax.faces.view.facelets.FaceletException: Error Parsing //C:/JDeveloper/system11.1.2.2.39.61.83.1/o.j2ee/drs/Myapp/ViewControllerWebApp.war/head.jsf: Error Traced[line: 21] <Line 21, Column 26>: XML-20121: (Fatal Error) End tag does not match start tag 'af:panelSplitter'.
         at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:394)
         at com.sun.faces.facelets.compiler.SAXCompiler.doMetadataCompile(SAXCompiler.java:377)
         at com.sun.faces.facelets.compiler.Compiler.metadataCompile(Compiler.java:130)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory.createMetadataFacelet(DefaultFaceletFactory.java:319)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory.access$200(DefaultFaceletFactory.java:92)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:168)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:166)
         at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:94)
         at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:89)
         at com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:99)
         at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
         at com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:114)
         at com.sun.faces.facelets.impl.DefaultFaceletCache.getMetadataFacelet(DefaultFaceletCache.java:135)
         at com.sun.faces.facelets.impl.DefaultFaceletCache.getMetadataFacelet(DefaultFaceletCache.java:62)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:252)
         at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:201)
         at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:114)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._restoreView(LifecycleImpl.java:749)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:346)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:207)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
         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:173)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
         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:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         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.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

    Hi,
    Do you see this?
    javax.faces.view.facelets.FaceletException: Error Parsing //C:/JDeveloper/system11.1.2.2.39.61.83.1/o.j2ee/drs/Myapp/ViewControllerWebApp.war/head.jsf: Error Traced[line: 21] <Line 21, Column 26>: XML-20121: (Fatal Error) End tag does not match start tag 'af:panelSplitter'.Check out the code and end af:panelSplitter.
    -Arun

  • Separate project for each ADF task flow?!

    Hi,
    We have a BPM process application which is having a few human tasks. The form for each of the human tasks is similar. We’d like to be able to share some page fragments or code between them and create single web application to handle all the human tasks for this BPM process application. Then I found the following in the Oracle document “Developer’s Guide for Oracle SOA Suite 11g Release 1 (11.1.1.4.0)”:
    “If the SOA composite contains multiple human tasks, create a separate project for each ADF task flow associated with each human task.”
    I wonder if we have to do that and if so, what is the reason.
    Do you have any clue? Please help.
    Thanks a lot,
    Helen

    This is answered in SOA forum: Re: Why Dev Guide says "create a separate project for each ADF task flow ..."

  • Create Custom ADF Task Flow for BPM

    Hi,
    I'm working an project on BPM and I'm required to create a custom ADF task flow with multiple views based on the human tasks in BPM. Since I'm new to ADF, could some one please give me some pointers?
    Thanks,
    Debojit

    Hi,
    You have to implement your own custom worklist screens for such a subject. As you know the OOTB worklist screen shows the logged-in users' assigned, etc. tasks. You have to implement the API of SOA workflow.
    You can check Mark Nelson's blogs on Redstack to accomplish this. Hope this is the answer of the problem you are looking for.

  • Why Dev Guide says "create a separate project for each ADF task flow ..."

    Hi,
    We have a BPM process application which is having a few human tasks. The form for each of the human tasks is similar. We’d like to be able to share some page fragments or code between them and create single web application to handle all the human tasks for this BPM process application. Then I found the following in the Oracle document “Developer’s Guide for Oracle SOA Suite 11g Release 1 (11.1.1.4.0)”:
    “If the SOA composite contains multiple human tasks, create a separate project for each ADF task flow associated with each human task.”
    I wonder if we have to do that and if so, what is the reason.
    Do you have any clue? Please help.
    Thanks a lot,
    Helen

    Hi Helen
    1. I do not know the reason why they mentioned like separate project for each human task. NO, this is not required and we can have just one UI Project like MyTaskForms and have all the JSPs in this same project for each Human Task.
    2. On our side, we have like 10 Human Tasks, all using the same Payload. So we have 10 .task file. For the very first .task file, we used Auto Generate Project and gave project name like OurAppTaskForms. The reason we did this is, so that it adds all the required dependent libraries, tag libs etc properly. For all remaining 9 .tasks file, we did NOT use auto generate. Instead we used standard New -> JSF From Human Task and select one task at a time and follow the steps. These steps are covered in the online documentation. At the end in our BPM App, we have just one UI Project with all the 10 screens.
    3. ALSO, all the 10 screens have some common data. This we put in a reusable JSF Fragment page. And associated a custom Managed Bean for this to set and get values from this fragment and also some Actions for some buttons in the JSF. Then we included this JSF in each taskform jsf file, uisng the include tag. We added this include tag, somewhere in the top. So all screens share common jsf fragment page.
    4. We can refine the above stuff further. As per above, we still have 10 JSF screens for each one of the 10 .tasks. Ofcourse all these 10 jsf have same common jsf fragment. BUT instead of 10 individual jsf screens, we can have only ONE Jsf screen also. Refer online docs for the details. The challenging part is, since we have only one jsf, there may be some bussiness stuff, validatoin stuff to take care of in custom ValidationCallback Handler classes. Say for Task1, we had to show some buttons, but NOT for Task2. So we had to handle this logic. Also in validation call back, we can always get each Tasks, title also. So we can workaround this issue also. We are in the process of doing this right now. But first 3, we already did and they are working fine.
    My personal suggestion is first go with single jsf fragment and include in all tasks jsp files. Any changes to common elements need to make only in one place i.e fragment page.
    Thanks
    Ravi Jegga

  • Create ADF Task Flow for Human task outside of SOA Composite

    Hi,
    Is there any way you can create ADF Task Flow form (for the task Details to be display in worklistapp) for a Human task out side of the SOA Composite applicaiton?. I know we can create ADF Task flow form for task details based on Human Task in SOA composite application. But I dont want to do that. I dont want to keep any association between Human task and ADF Task Flow.
    If there is a way to do this, How can we assiciate this ADF Task flow form with worklist applicaiton?
    Thanks
    --Sreeny                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    By using these services appropriately:
    http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_workflow.htm

  • Single adf task flow portlet with multiple pages and paramter from url

    Hi ,
    I have made a adf task flow portlet with a parameter.
    I have made a portal applcation and added multiple pages . in each of the page I am consuming that portlet through wsrp2.
    I have mapped the task flow parameter in page bindings of the pages with #{param.code}. where code is the get parameter.
    I have edited navigatinoal template so that when i click the pages , code parameter also get added in the url.
    issue
    When I run the applcation and visits first page with get parameter i get the right result. but when i click the on the other page which has some other value for the same get parameter , it doesnt display the value. But the other page shows me correct value if I go this page first but the later page doesnt display any value.
    thanks

    1001446 wrote:
    Hi ,
    I have edited navigatinoal template so that when i click the pages , code parameter also get added in the url.Can you paste the code from the template here?

  • How to deploy a new ADF task flow in OIM 11g R2

    Hi,
    I have created a new ADF task flow.
    Now I need to deploy the same in OIM 11g R2, so that when I click on a link it will call my new ADF task flow.
    Please help me in identifying the steps required to deploy the adf task flow.
    Thanks

    Hi Durga,
    Thanks for sharing the post. I think I am facing the same issue which you were facing.
    I have already done these steps but still not able to get my custom page on click of a link which I created in OIM self service page :
    1. I have created the adflibHomepagePortletsUI.jar as an adf library using Jdeveloper and copied it to oracle.iam.ui.custom-dev-starter-pack.war --> WEB-INF/lib folder after unpacking it.
    2. have updated the custom-catalog.xml file inside oracle/adf/rc/metadata folder with the below lines :
    <folder name="Sample Folder" id="sampleFolder">
    <contents>
    <resource id="helloWorld" name="Hello World"
    description="Hello World Taskflow Reference"
    repository="application.classpath"
    path="adflibHomepagePortletsUI.jar/ADF_TaskFlow/WEB-INF+oracle+iam+ui+sample+homepage+tfs+hello-world-tf.xml#hello-world-tf">
    <attributes>
    <attribute value="coreDefault" attributeId="attr.background" isKey="false"/>
    </attributes>
    </resource>
    </contents>
    </folder>
    3. repacked the war file and copied it in OIM_HOME/server/apps directory
    4. Restarted the OIM server.
    5. entered the following lines in jazn-data.xml present in user_projects\domains\idmdomain\servers\oim_server1\tmp\_WL_user\oracle.iam.console.identity.self-service.ear_V2.0\6bddg\META-INF\jazn-data.xml
    <permission>
    <class>oracle.adf.controller.security.TaskFlowPermission</class>
    <name>/WEB-INF/oracle/iam/ui/sample/homepage/tfs/hello-world-tf.xml#hello-world-tf</name>
    <actions>view</actions>
    </permission>
    5. Login to self service console.
    6. Click on the custom link who's actionListener is pointing to bean which is launching the taskflow created in the above steps.
    7. On Click of the link a new tab gets open with blank page.
    Please help me in knowing the step which I am missing in order to solve this issue.
    Many thanks once again.

  • ADF  task-flow and transactions

    Hi All,
    I have created a web application using ADF and JDeveloper 11.1.1.4. The ADF web application has two pages 'Search' and 'Edit'. The 'Search' and 'Edit' are page fragments. I have two bounded task flows 'search-flow.xml and 'edit-flow.xml'. The search and edit functionality has been created as dynamic regions by dragging the task-flows onto the JSF page.
    The bounded search-flow.xml has page flow from search ----> edit(Parent Action component)
    The bounded edit-flow.xml has page flow as *-->edit----> search(Parent Action component)
    User comes from login page to the search page. On search page users can choose to search for records and edit individual searched records or create a new record using 'CreateInsert' button. Either way users end up on the edit page.
    On the edit page, users see a form to fill or modify. They have the choice to navigate back to search page using 'Search' button or commit changed record using 'Save' button or create new record using 'Create' button
    The application is functioning 90% as expected, only problem is the transaction management part if the user does not care to save each time the edit is made.
    Say for instance, on search page user press ' CreateInsert' button which takes the user to edit page and then without saving the new record user presses 'Search' button which takes the user to search page and so repeated goes back and forth cycle.
    In such cases the transaction never ends, The primary key for each new record is retrieved from the DB sequence only on persisting to database. A place holder like negative integer is used for the primary key temporarily till new record is persisted to database.
    As per best practices, I am using the checkUncommittedDatabehavior which prompts the user when navigation is done away from the edit page i.e. without saving on pressing the 'Search' button on edit page. User can choose 'OK' or 'Cancel' which comes bundled with the ADF checkUncommittedDatabehavior property. Even after selecting OK the new record does not seems to be rollbacked (Issue 1).
    eg:, if the user performs the cycle(i.e navigating between search and edit pages without commit/save) 'n' times, new entity records are created with primary keys -1, -2, -3, -4 ........ so forth. As I said earlier a proper sequence number for the primary key is assigned only if a record is persisted to the database.
    Now on the 'n+1' cycle the user fills the records and clicks commit, it comes up with a error 'primary keys with nulls from previous uncommitted record (i.e; 1,2,3, .....n) creation.
    I guess the transaction management is not happening correctly and not completing during these cycles (1, 2...n) Note: I am not using 'Task Return' components in my bounded ADF task flows, just commit operation 'Save' button in edit page and checkUncommittedDatabehavior.
    Also, in search-flow.xml I have following configured under 'Behavior' tab Transaction ---> No Controller transaction and ' Share data controls with calling task flow checked
    in edit-flow.xml, these configurations are in place under 'Behavior' tab Transaction ---> Always begin new transaction and ' Share data controls with calling task flow checked and Critical checked and 'task flow rentry' as reentry-outcome dependant.
    Thanks
    Edited by: user5108636 on Oct 26, 2011 5:16 PM
    Edited by: user5108636 on Oct 26, 2011 5:24 PM

    Hi Frank,
    I checked the DB sequence is setup correctly. I have also modified the problem description above for better understanding.
    2. When users press OK, navigate to a commit method activity (just drag and drop the commit operation).
    -- When user presses OK, I need to rollback instead of commit to make users lose the unsaved work and controller should navigate to the search page. Here, the message panel with Cancel and OK is shown automatically with the <af:checkUncommittedDataBehavior/> property, I thought the framework will do the rollback for me. If I need to do rollback manually, how to do it, because I cannot see the JSF related source code for the <af:checkUncommittedDataBehavior/> dialog box. Please suggest what to do
    3. If they press cancel, have the return activity rolling back to the save point taken when the user entered the bounded task flow (edit task flow)
    -- If they press cancel, user stays on the same page, so I will leave future action to the user. This bit is working fine in my app.
    Thanks
    Edited by: user5108636 on Oct 26, 2011 5:23 PM

Maybe you are looking for

  • 1099 & other related reports

    Hi Gurus We are on ECC 6.0.  We would like to generate the following reports in SAP: 1. S_ALR_87012142 - Postcard Printout of 1099 Vendor Addresses for Tax Code Request 2. S_ALR_87012143 - 1099 Listings 3. S_PL0_09000314 - 1099-Misc 4. S_ALR_87012145

  • WRT54G - limited or no connectivity - stalls at "aquiring network address"

    Ok, so I decided to move my modem and router to a different location in the house and unplugged and re-set everything.  I went through the basic setup and finally got to the point where I can get internet when the pc is wired to the router.  Wireless

  • Is support for iWeb going away with MobileMe?

    Is online support going away for iWeb? Do I need to go with a third party server now that MobileMe is dead? What server is the least obtrusive?

  • View Layout is not displayed completely

    Hello Experts, Recently we have upgraded the system to EHP4.  Post upgradation, I am facing a problem with an exisitng WD view which has a Header Image, a graph view (done in Adobe flex),  certain tables and link to action fields. Now when i run the

  • DTW template for Projects

    Hi, What is the template to import Projects into sap b1 using DTW? Thanks for the replies. Thanks & Regards, naresh k