Contextual Event Payload logging a Warning

JDeveloper 11.1.1.4.0
This only started on 11.1.1.4.0, that when retrieving or accessing the payLoad from the ContextualEvent, it will log a warning on the server logs.
The warning is:
<VariableResolverELContext$1> <getValue> The variable resolver, oracle.adf.model.binding.DCVariableResolverImpl, was used to evaluate expression, payLoad. All variable resolvers have been deprecated. Please consult the documentation for the variable resolver and modify the expression to not depend upon the variable resolver.
I wonder which document can I reference this issue?
Thanks.
-Marvin

Hi Frank,
We see the same error now in our system testing environment. Page freezes while searching for certain data and the log shows the following error message:
Message Level     1
URI     /contractManagement/faces/ContractsTermLibWorkAreaDashboard
ECID     004bD7KGhghCgoQRyaFCD00000V^0073rW
Relationship ID     0:1
Component     ContractManagementServer_1
Module     oracle.adf.share.el.VariableResolverELContext
Host     adcdai05
Host IP Address     10.228.136.14
User     CONMGR
Thread ID     [ACTIVE].ExecuteThread: '13' for queue: 'weblogic.kernel.Default (self-tuning)'
Message     The variable resolver, oracle.adf.model.binding.DCVariableResolverImpl, was used to evaluate expression, payLoad. All variable resolvers have been deprecated. Please consult the documentation for the variable resolver and modify the expression to not depend upon the variable resolver.
How do we address this ? Can you update the forum with the bug number.
Thanks,
Anu
Edited by: user715772 on Feb 21, 2011 2:51 PM

Similar Messages

  • Contextual event in reverse direction ( from child TF to parent view )

    Hi ,
    It seems all example of Contextual events talk about mirroring input value from Parent page to Child TF running in a region and there are numerous examples out there.
    What I wanted to accomplish was that an lov in a child TF triggers a contextual event and the parent TF takes the selected list of values. It needs to conduct a search based on these values and than mark the rows in a (tree)table.
    What has succeeded is almost all aspects of this. I can fire the event and receive it successfully. But the problem is the the backingBean class that I create via EL is not binded to my parent pages components. The treetable component returns null.
    My handler code (the handler code from the bean which you use to create the data control to listen to the cntxtual event) is almost 1:1 to as the code from the book "Oracle Fusion Developer Guide: Building Rich Internet Applications with Oracle ADF Business Components and Oracle ADF Faces", Chapter 6, page 210.
    public void receiveEvent(
    DCBindingContainerValueChangeEvent incomingPayload){
    FacesContext fctx = FacesContext.getCurrentInstance();
    ELContext elctx = fctx.getELContext();
    Application app = fctx.getApplication();
    ExpressionFactory exprFactory = app.getExpressionFactory();
    ValueExpression valExpr = exprFactory.createValueExpression(
    elctx,
    //reference the managed bean that holds the mirror value
    //property displayed in the input text field
    "#{backingBeanScope.ConsumerBackingBean}",
    Object.class);
    ConsumerBackingBean consumer = null;
    consumer = (ConsumerBackingBean)valExpr.getValue(elctx);
    //get the changed attribute value from the contextual event
    //payload
    String newValue = (String)incomingPayload.getNewValue();
    //set the new value to the backing bean property that is
    //referenced by the input text field in View 3
    consumer.setMirrorValue(newValue);
    AdfFacesContext adffacesContext = null;
    adffacesContext = AdfFacesContext.getCurrentInstance();
    //partially update the text field to display the new value
    adffacesContext.addPartialTarget(consumer.getMirrorTxt());
    The #{backingBeanScope.ConsumerBackingBean} evaluates in my case to fine. But every component I should see as binding in the bean is null.
    Since the handler is declared in the pageDef of this parent page Fragment, i assumed the last bit about it being able to get to the backing bean and hence to my components should also be possible.
    If I cant refresh my components than I dont see the use of the contextual frameworks for me.

    You should find this post useful: http://flexponential.com/2010/12/05/saving-scroll-position-between-views-in-a-mobile-flex- application/
    It demonstrates one way of saving and restoring data when pushing and popping a view.

  • How to create contextual event with custom payload?

    I use the following code to invoke contextual event from my region via the "action-listener" of a command-link:
    <af:commandLink text="#{row[def.name]}" id="cl1"
    styleClass="tableLinkActive"
    actionListener="#{backingBeanScope.PanelToConveroFormManager.handleSelectedRow}">
    The following "action-listener" is designed to pass the current selected record key to the "consumer" of the contextual event:
    public void handleSelectedRow(ActionEvent actionEvent) {
    String currentRecordKey = getCurrentRecordKey();
    JUEventBinding eventBinding = (JUEventBinding)BeanUtils.getBindings().get("RefreshParentEvent");
    if (eventBinding != null) {
    ActionListener actionListener = (ActionListener)eventBinding.getListener();
    actionListener.processAction(actionEvent);
    How do I pass the "currentRecordKey" value as a custom "payload" via the event-binding "RefreshParentEvent" in the above code?
    Is there any code example on using contextual event with custom payload?

    Hi,
    the custom payload is referenced when you set up the event itself. You use EL in the custom payload definition to point to a managed bean method that when called accesses the current rowKey. The Java code you show just passes the ActionEvent of the ADF Faces command button and invokes the event. It does not manipulate the event definition.
    <eventBinding id="eventBinding"
                      Listener="javax.faces.event.ActionListener">
          <events xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
            <event name="testEvent"
                   customPayLoad="#{mymanagedBean.rowKey}"/>
          </events>
        </eventBinding>Frank

  • Unserializable UIGraph when passing as Contextual event attributes

    Hi,
    I am passing UIGraph variable along with the event attributes. It is working properly but on console logs i am seeing warning of Unserializable key. Will it be a recommended approach for passing UIGraph along with contextual event?
    Thanks-
    Mangal

    Hi,
    note that I doubt that passing #{bindings} as a custom payload is a good idea as it poses some risk
    1. the binding container is changed with each request so that there is no guarantee the content is available
    2. returning object referenced from the inner to the outer breaks encapsulation
    So if there is an information in the bindings that you need to pass on to the unbounded task flow, then specify the value and return it. I hope that you don't use the binding payload to execute operations, creating new rows or updating data therein. Payloads are only for information purposes.
    From your problem description, how likely is it that the wrong event is fired? Given that the event adds the custom payload it is more than unlikely that the payload is not getting replaced. So there must be something either with the invocation of the event or the DC holding the payload.
    You don't give us the JDeveloper version you run, so no chance to judge based on this information.
    Frank

  • Contextual event on table not triggered

    Using Jdev PS4.
    Concider following example: http://www.yonaweb.be/ContextualEvent.zip
    (I know following example can be simplified by using master-detail relation in the data control but it's to illustrate the example)
    I have two taskflows: EmployeeTF and departmentTf.
    The idea is to trigger an event when I select a new record in the department table.
    This is the tree binding:
    <tree IterBinding="DepartmentsIterator" id="Departments">
          <nodeDefinition DefName="model.views.DepartmentsView" Name="Departments0">
            <AttrNames>
              <Item Value="DepartmentId"/>
              <Item Value="DepartmentName"/>
              <Item Value="ManagerId"/>
              <Item Value="LocationId"/>
            </AttrNames>
            <events xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
              <event name="changeTheDept"
                     customPayLoad="${bindings.DepartmentId.inputValue}"
                     eventType="Currency Change Event"/>
            </events>
          </nodeDefinition>
        </tree> I have created a custom java class to use as a data control to find out when the event is triggered. This is my code:
        public void handleEvent(Object payload){
            System.out.println("Event handler");
            System.out.println(payload);
        }When I select a record in the table, the event does not get fired.
    So as a test I added my own custom method to see if contextual events are working properly so I added this method to my DC:
        public void triggerEvent(){
            System.out.println("triggering event");
        }and added it on a commandLink to the DepartmentTF. I also added an event on it:
    <methodAction id="triggerEvent" RequiresUpdateModel="true"
                      Action="invokeMethod" MethodName="triggerEvent"
                      IsViewObjectMethod="false" DataControl="EmpBean"
                      InstanceName="EmpBean.dataProvider">
          <events xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
            <event name="triggerEvent"
                   customPayLoad="#{bindings.DepartmentId.inputValue}"/>
          </events>
        </methodAction>When I trigger this event, my event handler does get called on the employee taskflow.
    So, my question is:
    1) Is this normal behavior that the change row event is not triggered?
    2) if yes, how do I trigger it or what is the purpose of this event?
    Edited by: Yannick Ongena on May 28, 2012 9:03 PM

    I have a similar circumstance: I have a page with two regions, each region contains a table. The two tables share some information so when I update one of them
    I also want the change to be reflected in the other table. I tried to use contextual events to send an event that causes one of the tables to refresh (I do not pass any payload)
    but so far I have not had any success with making this work. I am wondering if the bug you mentioned here would also prevent such a setup to work? I am using Jdev 11g R1 11.1.1.6.2.

  • Contextual event closes the af:popup from which it is generated ?!?

    Hi all
    I have task flow (isloated mode) embedded as region in af:popup.
    One from my popup's button action generates contextual event.
    But that event unexpectedly closes my popup.
    Any idea why ?
    Here is relevant pageDef settings.
    From page fragment where is event generated :
        <action id="Commit" InstanceName="EmpAppModuleDataControl"
                DataControl="EmpAppModuleDataControl" RequiresUpdateModel="true"
                Action="commitTransaction">
          <events xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
            <event name="empCommit"
                   customPayLoad="${bindings.VOIterator.currentRow.key}"/>
          </events>
        </action>From page fragment pageDef's where is consumer registered :
      <eventMap xmlns="http://xmlns.oracle.com/adfm/contextualEvent">
        <event name="empCommit">
          <producer region="createeditemptf1.create_edit_emp_dataPageDef.Commit">
            <consumer handler="receiveEmpCommit">
              <parameters>
                <parameter value="${payLoad}" name="incPayLoad"/>
              </parameters>
            </consumer>
          </producer>
        </event>
      </eventMap>Notice "receiveEmpCommit consumer.
    This is a parent task flow backing bean method, registered as method action in the same pageDef, according to the Steve Muench example
    ".Method Action Invoking Managed Bean Method Without Making Bean a DataControl"
    https://blogs.oracle.com/smuenchadf/resource/examples
    And here is:
         <methodAction DataControl="EmpAppModuleDataControl"
                    id="receiveEmpCommit"               
                    InstanceName="${searchEmpBacking}"
                    MethodName="receiveEmpCommit">
          <NamedData NDName="incPayLoad" NDType="oracle.jbo.Key"/>
        </methodAction>So, what is wrong with this settings, any idea ?!?
    Edited by: Cvele_new_account on Apr 23, 2012 5:57 AM

    Thanks for response.
    Yes, it is (af:commandToolbarButton with default partialSubmit="true")
    Actually, everything works as exceptted, until "receiveEmpCommit" consumer is registered in the pageDef.
    And to be worse, that method does nothing, he is empty.
    Dimitar Dimitrov wrote:
    The button should be configured to do a partial submit (i.e. partialSubmit="true"), otherwise it will close the popup because the inline popups are not re-rendered when a full submit is made. Please check if your button is configured for a partial submit.
    Dimitar

  • Contextual event - handler called before producer bean's setter

    I am trying a simple contextual events usecase:
    Page A.jsff has an input text field whose value is directly stored in a bean variable (bean is in pageFlowScope). Contextual event is defined on value change event for this input field. A.jsff has taskflow B_btf as an embedded region.This B_btf will simply display the value entered in the A.jsff. So, when contextual event is raised, the handler sets the value in a local variable of B_btf bean. The problem is that the handler method is getting called before the setter for the attribute of the bean of A.jsff. This is resulting in the B_btf displaying the last-but-one value entered in the input field of A.jsff instead of the current/latest value. Any tips?
    Thanks,
    Amitabh

    The issue was with the (lack of) understanding of the JSF lifecycle. The value change listener is called during the Process Validation phase, whereas the managed bean (Model) values will be set in the Update Model phase which lies next-in-line after Process Validation phase. Hence, if the value change listener is to be used, then the handler code should have used the default payload and not the custom payload. For a value change event the default payLoad will be a DCBindingContainerValueChangeEvent, and one can invoke getNewValue() to get the value entered in the text field (For details watch Frank Nimphius' video here: ADF Region Interaction - Contextual Events - YouTube). For my case, I added a command button to the page, and moved the contextual event to that button.

  • Building Contextual Events with multiple parameters

    I am working in JDeveloper 11.1.1.4 and trying to build a contextual event, but ran into a issue that I find unclear. When building the Subscribers on my page definition, in the Property Inspector, how do I define multiple parameters in the customPayLoad element? In all the examples I've found, they reference putting ${payLoad} as the value and they only show one parameter. I need each value to be unique for each parameter. How do I accomplish this?

    for this you can use attributes
    say suppose if you are using table then you can pass values from producer like
                Map attributes = table.getAttributes();
                attributes.put("param1", param1);
                attributes.put("param2", param2);
                attributes.put("param3", param3);
                attributes.put("param4", param4);and consume it like
        public void handleBusinessChkListEvent(Object payload) {
            SelectionEvent selectionEvent = (SelectionEvent)payload;
            UIComponent component = (UIComponent)selectionEvent.getSource();
            String param1=
                (String)component.getAttributes().get("param1");
            String param2= (String)component.getAttributes().get("param2");
            Boolean param3=
                (Boolean)component.getAttributes().get("param3");
            String param4=
                (String)component.getAttributes().get("param4");
    }

  • Regions & contextual events

    Hi,
    I am trying to rebuild an 10g webcenter application that used portlets and inter-portlet communication. The use case I have is:
    - one task flow where we have a bpel task list. User can click a task to select it
    - selecting the task should transmit the task type and id to the main page
    - another task flow on the page should, depending on the task type, be shown with id as an input parameter.
    Can this kind of a dependency be created, and if so, how?
    Regards,
    Jeroen van Veldhuizen

    Hi,
    is taskflow "one" a region? If yes then this would require a contextual event to propagate the selection and the payload. You could then set a vaue e.g. in a managed bean and issue a PPR on the region that should show based on the value.
    An alternative to using contextual events would be to use JavaScript. JavaScript in a region can be used to call components on the parent page. The drawback of using JavaScript tough is that it tightly binds th regions to the page, which means you loose the loose coupling. So contextual events may look better (though it comes with more overhead)
    Frank

  • Multiple parameters in Contextual Event

    Hi All ,
    I am using JDev 11.1.1.6 and WLS 10.3.6
    I want to pass two parameters as customPayLoad in the contextual Event.
    I am accessing the payload in the subscriber through ${payLoad}
    Lets say I have employees table and on rowSelection I want to pass deptId as well as EmpId in the payLoad.
    How to achieve this?

    Hi,
    Please check Forum
    Passing multiple parameters through contextual events
    Navaneetha's comment.
    http://one-size-doesnt-fit-all.blogspot.com/2010/08/jdev-11g-programmatic-contextual-events.html
    Thanks,
    Jit

  • [SOLVED] Triggering a contextual event programatically

    Hi,
    Is it possible to raise a contextual event from within a managed bean code, without transforming that bean into a data control and defining a methodAction?
    Thanks,
    ~ Simon

    Hi again,
    I found it myself (thanks to decompilation), the required code is
    BindingContainer.getEventDispatcher().queueEvent(EventProducer producer, Object payload);Well I still need to figure out the exact semantic of the value returned by EventProducer.getEventDefinitionsList(), but hopefully I'm going to find that soon.
    Regards,
    ~ Simon

  • Calling a method on backing bean in response to contextual event

    Hi
    I am using Jdeveloper 11.1.1.6.0 and using ADF contextual events..
    I have a drop down list and i am rasiing a contextual event on changing the current selection. In response to that event i want to call a backing bean method with parameters.. But when i click on the subscriber section for the contextual event, i can see only some bindings of the page.. How can i call a method on backing bean as a subscriber..
    Thanks
    Raghu

    Hi,
    this article has a use case for the POJO approach: http://www.oracle.com/technetwork/issue-archive/2011/11-may/o31adf-352561.html
    Another is to define a method binding in the receiving PageDef file and configure it as explained here
    http://java.net/projects/smuenchadf/pages/ADFSamplesBindings/revisions/3#SMU164
    Frank

  • N82 - How to remove a single event from LOG

    Hi
    N82 has a strong loging system, all events will log, but it is not interesting when you dont want your wife read your mobile logs :-D
    There is an option to remove all log entries but who can I only remove one event entry from the global log report ?
    usually in all systems when u highlight an entery you can press "C" key to remove it, but there isnot such option i have just one option to remove all !!!?

    From the interface, you can't. At try with my n95 many times but no luck.
    Información sobre Symbian / NSERIES en Español en http://symbianespanol.wordpress.com

  • Triggering Validation in a Region Through a Contextual Event

    I am using JDeveloper 11.1.1.6.0.
    I am trying to find out how to trigger the built in validation that occurs normally when a "submit" action occurs, but have the submit action occur outside of a region, and the validation also occur in the region itself.
    I have a page that contains a dynamic region in it. I will refer to the containing page as the parent and the region as the child. The parent region and child region both have different business objects bound to them, though they are part of the same application module. The parent page contains a submit button that needs commit the user entered data in both the parent and child pages. This action must not proceed if there are any validation errors in the parent or the child. The validation should trigger on the parent page without any work from me because of how ADF handles the situation. The child page is notified of the submit action via contextual events. I currently have it where this event can trigger the "commit" action successfully, but I have no idea how to go about ensuring that it triggers a validation check as well.
    The overall flow that I think will happen in the final version is likely:
    1: submit button pressed.
    2: parent page validation is checked (if success, proceed)
    3: contextual event is fired
    4: contextual event is received by the child.
    5: the child triggers its own validation (if success, proceed, else stop)
    6: the child triggers a commit action
    7: the child sends a response contextual event (signalling that it was successful)
    8: the parent receives the response contextual event
    9: the parent performs a "commit" action.
    I do not know how to cause step 5 to occur, and I do not know if steps 7 through 9 are needed yet (I haven't tested to see if causing the commit in either the parent or the child ends up causing all modified entity objects to be committed). Any help would be greatly appreciated.
    Thank you

    Hi,
    you can access a command button on the page fragment and queue its action event. For this you access a managed bean (backingBean Scope) that contains a handler to the command button and queue the event (this then will perform validation as if the user clicked it. The command button can also be hidden on the fragment.
    Have a look here for how you can integrate the managed bean as the contextual event handler
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/regionpayloadcallbackpattern-1865094.pdf
    Frank

  • Dynamic TaskFlow Gets Refreshed on Catching a Contextual Event

    Hi,
    I am using Contextual events in my application. I have 2 task flows in my parent page. One TF is raising an event and the other is catching it. As my catching TF is a dynamic TF, I have specified the event map in it only.
    Everything is working as intended only that my dynamic TF gets refreshed when it catches the event! I do not want that. I want to explicitly refresh any UI component that requires to be refreshed, not the whole TF.
    So is there any specific property of task flows that make it to refresh itself when ever it catches any contextual event?
    Also I have tried 'Refresh="ifNeeded"' and 'RefreshCondition="#{false}"' in my dynamic taskflow specification in the parent page but it does not make any difference.
    Regards,
    Rahul Saxena

    Rahul,
    there is no setting for this. If however the managed bean you setup for handling the dynamic region is in backing bean scope (or request scope) then chances are that the region is refreshed because the bean restes after the request (just assuming here). Yournot giving us much to chew on (no JDeveloper version, no implementation details etc. ) So its hard to provide further ideas. As a last resort, if you have a support contract, you can contact customer support with a test case
    Frank

Maybe you are looking for

  • Oracle Database Express Edition 11g Release 2 for Windows 64 bit?

    Will there be any "Oracle 11g xe" is available for windows 64 bit in future? I know using 32b apps on 64b doesn't make any sense, still want to know if there is any way to execute current 32 bit version on 64 bit cleanly?

  • "No more data to read from socket" exception when testing connections

    Hi, I will appriciate your help with the following problem. We have the follwoing errors in the weblogic.log (We are using weblogic 8.1.0.2 and Oracle 9.2.0.3) ####<Dec 20, 2006 10:47:49 AM EET> <Info> <JDBC> <ep> <mfserver> <Thread-14> <<WLS Kernel>

  • A treeview in one of Matrix's columns

    Hi Guys, Because this is my first post on this forum, I would like to say "hello" to everybody. I would like to ask you about a following matter: is it possible to add a column to a matrix object (or changing an existing column appropriately by setti

  • Help! Trouble Mounting Toshiba SD-M1401 DVD-ROM on Sun E250 w/Solaris 10

    I'm hoping someone can help me here...I bought a used Toshiba DVD-ROM for my E250 off Ebay, and Im trying to get it installed and mounted. I'm having some wacky problems: The driver powers up and physically seems fine. Ejects, etc. But I can't mount

  • CHARACTERS FOR PR RELEASE STRATEGY

    i m craeting one chars for purchase req. i want to use chars purchase group. when i m entering table name ceban and field name ekgrp, message is coming like " delete the allowing value first" what is the solution for this tahnks in advance nitin