Coding custom business methods in ADF BC Application Module ?

Dear All,
Where do i put my custom business methods in ADF BC Application Module ?
Can anyone point me to a good tutorial which gives a good insight into developing ADF BC Applications ?
Thanks,
Raghavendra

Hi,
there will be a developer guide out soon. Its written by Steve Muench and provides an indepth walk-through ADF BC.
To answer your question, custom code is written in Java files on the ApplicationModule, ViewObject and EntityObject level. If you go to the Editor of each of these components there is an option for you to create Impl.java and RowImpl.java files. The first is for generic business logic, the latter for row based logic
Frank

Similar Messages

  • Error in Creating Custom Business Methods using ADF Business Comp. Tutorial

    I've been working with Jdev 10g Preview for a while. Now that we have Jdev 10g, I have to unlearn some of the Preview methods and learn the "real" way of doing things. To that end, I went out to the "Creating Custom Business Methods using ADF Business Components" tutorial. Unfortunately, I've found what I think is a mistake in the example code.
    Specifially, ADF treats the default iterator on View Objects differently than previous BC4J versions. In the older versions, the iterator was positioned before the first row when you first executed a query. In that case, the hasNext() method was used to see if you had any rows at all. In ADF, however, the default iterator is positioned at the first row. So, if your query only returns one row, then the hasNext() method returns false!
    Here's the code posted in the tutorial:
    public Number getDeptSalaryTotal(String dept_id)
    // get a department view object
    DepartmentsViewImpl dept = getDepartmentsView1();
    dept.setWhereClause("DEPARTMENT_ID = " + dept_id);
    dept.executeQuery();
    dept.first();
    EmployeesViewImpl emps = getEmployeesView3();
    Number salaryTotal = new Number(0);
    while (emps.hasNext() )
    Row empsRow = emps.next();
    salaryTotal =
    salaryTotal.add((Number)(empsRow.getAttribute("Salary")));
    return salaryTotal;
    As you can see, this is coded using the pre-10g semantics. It checks hasNext() at the top of the while loop. If there is only one Employee in the Department, hasNext() will return false since the emps View Object will already be positioned at the first and only row. There won't be a next row. So, the salaryTotal will be zero instead of the correct value. Alternatively, if there is more than one row, then hasNext() will be true, but the routine will skip the first row and start totalling salaries from the second row on.
    The routine should be recoded as follows:
    public Number getDeptSalaryTotal(String dept_id)
    // get a department view object
    DepartmentsViewImpl dept = getDepartmentsView1();
    dept.setWhereClause("DEPARTMENT_ID = " + dept_id);
    dept.executeQuery();
    dept.first();
    EmployeesViewImpl emps = getEmployeesView3();
    Number salaryTotal = new Number(0);
    Row empsRow = emps.first(); // Get the first row
    while (empsRow != null ) // while we have a row
    salaryTotal =
    salaryTotal.add((Number)(empsRow.getAttribute("Salary"))); // add in the salary
    empsRow = emps.next(); // get the next row
    return salaryTotal;
    I haven't actually executed this code, so there may be a typo or two in there. However, the basic idea is sound -- I think!
    Please update the tutorial so we don't mislead people right at the start! :-)

    Gary:
    I have two questions for you:
    1) Could you post the preferred code here?
    2) Why is it the preferred method? I would think that creating and destroying another object (the temporary iterator) would be a bad thing.

  • ADF & Spring: Application Module

    Hi!
    Im testing a mix of ADF and Spring.
    I create an Bean in the Spring Context that is an ApplicationModule
    <bean id="myAM" class="oracle.jbo.client.Configuration" factory-method="createRootApplicationModule">
    <constructor-arg><value>mypkg.myAM</value></constructor-arg>
    <constructor-arg><value>MyAMLocal</value></constructor-arg>
    </bean>
    Testing the application it works fine.
    But I want more and i wish the ADF takes this instance of MyApp and avoid a new instantiation of it. (Now i have 2 instances of MyApp, one created by Spring and another created by ADF)
    Theres some way to say ADF to take an existing instance to put it in the session or somethig?
    Thank you!!

    OK the question is Why??
    Seriously though - you can create a data control that exposes Spring artifacts through the Data Control palette which would seem to be the more normal way around. Do you need the Application Module to inject it into some other Spring Artifact?

  • Which business layer for ADF/JSF applications?

    We are considering developing j2ee applications using ADF Framework ad JDeveloper. We have choosen to use ADF framework using ADF Faces as a view layer, JSF Controler.
    Can someone give me a suggestion about which tecnology to use to build service layer?
    Since we are java developers, is it better to use Toplink POJOs or is there some advantages using ADF BC.
    Is there any tutorial or note thet can help us making this choice?
    Thank you very much
    Michele

    The ADF Developer's Guide for Forms/4GL Developers and the corresponding end-to-end tutorial for the SRDemo sample using ADF Business Components should be on OTN by the end of this week. If you are interested in a pre-release, please email me at [email protected]
    Thanks.
    The ADF Developer's Guide for advanced J2EE Developers and the end-to-end tutorial using EJB/Toplink are already on OTN. Using these side by side, hopefully it will help you get an idea of which one feels like a better fit for your team's background, experience, and preferences for ways of working.

  • How to call a method in bean from application module Impl?

    i have to call a method which is in a bean from AppmoduleImpl class. Is it possible ?

    The model layer should never depend on a specific view layer - this breaks reusability.
    What you need to do is expose a service method on your AM. Then your view can call this method and pass a parameter into the model layer.

  • Getting methods out of the application module.

    I have now deployed my BC components to the OAS as an EJB and now I am trying to get the method calls working from my applet. The module connection code somewhat confusing because of when I look at the EJB/Client snippet, it returns the remote interface, but I don4t know how to get projectmoduleimpl out what need to be returned. Could you please give me some insight to this issue? Here is the code what I am trying now...
    public static ProjectModuleImpl/*Project.common.oas.RemoteProjectModule*/ getGenericAppMod(String platform)
    String ejbUrl = "oas://<host>:8889/ProjectOAS/Project/ProjectModule";
    // Setup the environment
    Hashtable environment = new Hashtable();
    // Turn JNDI on to OAS
    environment.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "oracle.oas.naming.jndi.RemoteInitCtxFactory");
    // Lookup the URL
    Project.common.oas.ProjectModuleHome homeInterface = null;
    try {
    System.out.println("Creating an initial context");
    Context ic = new InitialContext(environment);
    System.out.println("Looking for the EJB published as 'ProjectOAS/Project/ProjectModule'");
    homeInterface = ( Project.common.oas.ProjectModuleHome )javax.rmi.PortableRemoteObject.narrow(ic.lookup(ejbUrl), Project.common.oas.ProjectModuleHome.class);;
    catch (CommunicationException e) {
    System.out.println("Communication exception! Unable to connect: " + ejbUrl);
    e.printStackTrace();
    System.exit(1);
    catch (NamingException e) {
    System.out.println("Naming exception occurred!");
    System.out.println("Cause: This may be an unknown URL, or some" +
    " classes required by the EJB are missing from your classpath," +
    " or your OAS host is short of resources");
    System.out.println("Suggestion: Check the components of the URL," +
    " and make sure your project includes a library containing the" +
    " EJB .jar files generated by the deployment utility.");
    e.printStackTrace();
    System.exit(1);
    // That's it!
    try {
    System.out.println("Creating a new EJB instance");
    Project.common.oas.RemoteProjectModule remoteInterface = homeInterface.create();
    Hashtable env = new Hashtable(2);
    env.put(Context.INITIAL_CONTEXT_FACTORY, JboContext.JBO_CONTEXT_FACTORY);
    env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_EJB_OAS);
    Context ic = new InitialContext(env);
    System.out.println("Initial context done1");
    ApplicationModuleHome home1 = (ApplicationModuleHome) ic.lookup("Project.ProjectModule"); //Impl");
    System.out.println("home done1");
    //Module
    ProjectModuleImpl appMod = (ProjectModuleImpl) home1.create();
    System.out.println("module done1");
    //Module
    appMod.getTransaction().connect("jdbc:oracle:thin:<user>/<password>@<host>:1521:<SID>");
    System.out.println("connection done1");
    return appMod;
    catch (Exception e) {
    System.out.println("Module failed : " + e.getMessage());
    e.printStackTrace();
    return null;
    }// end getgenericappmod
    Thank you in advance!!

    Am I to understand that this cannot be done? Please give me some info on this, because the applet works fine in the local mode and frankly, as you might quess, it is of no use if I cannot use the methods from OAS... I am waiting...

  • Two different ways to execute a custom method in an Application Module

    I have a custom method exposed in an Application Module's Client Interface, and i know two different ways of executing it from my ADF Faces project (both works fine):
    1) Calls the method directly through the Data Control:
    MyModule service = (MyModule)JSFUtils.resolveExpression("#{data.MyModuleDataControl.dataProvider}");
    service.myMethod();
    2) Adding a Method Action in the PageDef's file:
    <methodAction id="myMethod" InstanceName="MyModuleDataControl.dataProvider"
    DataControl="MyModuleDataControl" MethodName="myMethod"
    RequiresUpdateModel="true" Action="999"
    IsViewObjectMethod="false"/>
    //Call the method from the binding container
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding = bindings.getOperationBinding("myMethod");
    operationBinding.execute();
    Basically i want to know: what are the differences (pros & cons) of each approach ??

    Hi,
    In my opinion the second way have a advantage, which its method could be invoke automatically using a invokeAction on pageDef, if necessary.
    regards

  • ADF call different application module using groovy

    Hi All,
    I have a requirement where I need to call method in application module. As we all know we can call it using adf.object.applicationModule.someMethod();
    But I have a requirement where I have two Application modules. I have method defined in second application module. So how to call this method defined in second application module.
    Please help me how to solve this issue. I am using JDev 11.1.1.5
    Thanks,
    Rajesh.

    Maybe this can help:
    https://blogs.oracle.com/jdevotnharvest/entry/remote_task_flow_vs_wsrp
    http://www.oracle.com/technetwork/developer-tools/adf/learnmore/43-remote-task-flow-169185.pdf
    Dario

  • Binding Methods Exposed From Application Module

    Hi All,
    I am using JDeveloper 11.0.2. I have a method exposed on the Application Module that when invoked, it creates a row. I exposed AppModADImpl as a client interface. After doing this, I am now able to see the method under data control section. On my page, I when to bindings and tried to create a bind to this method, I am able to see the method but the OPERATIONS list is disabled, because of this, I am unable to create the bind to the page.
    The method I'm trying to bind is below
    public Row createSystemTypes() {
    ViewObjectImpl vo = getAdSystemTypes1();
    Row row = vo.createRow();
    vo.insertRow(row);
    return row;
    Because the Operations List if disabled, when I click OK, I get the Error "No Actiond defined for the selected Item"
    I would appreciate help to know why Im unable to bind the method to the page.

    As the method has been added to the client interface of the application module, you have to select the application module in the dialog, not a view object. After selecting the application module (or the data control or root node) you should see all methods which are part of the client interface.
    Still, I wold do like Joonas outlined: use drag and drop and if you don't like the button you get this way on the page, switch to source mode and remove it. This will keep hte generated binding in the page def. Removing the button in design view will remove both, button and binding.
    Timo

  • [BUG] TP3 duplicating imported application module data controls

    Hi,
    I'm using TP3.
    I have an application project A which imports business components from an other project B. Whenever I open JDev (or the project A) the first time, the imported application modules from the other project B get an new entry in A's model.jpx file. This will lead to duplicate data controls in the Data Control panel.
    There might be other possible ways to get duplicate entries, but this one I can reproduce. I'm not sure if there are any implications having duplicate entries (my be longer start up time in OC4J).
    Can anybody confirm my findings?
    Timo

    Hi Frank,
    right now I don't have a test case, but I'll try to set one up. This will take some time. Till then I can only describe in detail what I did.
    I have an older application Module migrated from version 10.1.2.2 via 10.1.3.3 to 11TP3. The application is used to login a user to our application framework. User name and password are checked against a DB table and if correct some user information is compiled into a bean.
    In all of our other applications this login module is used to authenticate a user.
    I added the logingmodule.jar ro the classpath and the used 'file->import->business components' to import the application module into a new ADF Fusion Application (this was the method to import application modules from other projects in versions 10.1.2.1 and also worked in 10.1.3.3).
    Afer importing the jar I can add the login module to the new application module in the 'Data Model-> Application Aodule Instances' shuffle component.
    As far as I found out this triggers an entry in the model.jpx file:  <AppContainee
        Name="ber"
        ObjectType="JboProject">
        <DesignTime>
          <Attr Name="_SourceName" Value="loginModel.jar"/>
        </DesignTime>
      </AppContainee> This entry gets dulicated every time I open the project in JDev 11TP3 the first time.
    I read in the new doc, chapter 31, that there is a new method to reuse application modules (or other objects). This I'm currently checking out. Nonetheless I try to set up a test case.
    Timo

  • Application Module Security

    I am trying to set security on the application module Using jDeveloper 10.1.2 and oracle db 9.2.
    Currently testing from the embedded oc4j and a standalone oc4j.
    Created an application module to a db table and named it CountryAppModule.
    The application module successfully tested using the projects default Business Component Name.
    The application module also tested successfully using the Business Component Name "CountriesAppModuleLocal".
    I then set the jbo.security.enforce application module property to "Must".
    The application module is re-tested using the Business Component Name "CountriesAppModuleLocal".
    A dialog window prompts for user and password.
    Then login using the default user/456 and the below error is generated:
    JBO-30003: The application pool (Cuma.model.cumaStateModuleLocal) failed to checkout an application module due to the following exception:oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-33021: Failed authenticate user null     at oracle.jbo.JboException.<init>(JboException.java:343)     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1772)     at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2611)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)     at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)     at oracle.jbo.common.ws.WSApplicationModuleImpl.createWorkerApplicationModule(WSApplicationModuleImpl.java:2457)     at oracle.jbo.common.ws.WSApplicationModuleImpl.getCustomApplicationModule(WSApplicationModuleImpl.java:2416)     at oracle.adf.model.bc4j.DCJboDataControl.setDataProvider(DCJboDataControl.java:1429)     at oracle.adf.model.bc4j.DCJboDataControl.setApplicationModule(DCJboDataControl.java:200)     at oracle.adf.model.bc4j.DCJboDataControl.<init>(DCJboDataControl.java:171)     at oracle.jbo.uicli.binding.JUApplication.<init>(JUApplication.java:90)     at oracle.jbo.uicli.binding.JUApplication.<init>(JUApplication.java:81)     at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:256)     at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:63)     at oracle.adf.model.BindingContext.get(BindingContext.java:411)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)     at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)     at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:59)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)     at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings(DCBindingContainerDef.java:197)     at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:273)     at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:40)     at oracle.adf.model.BindingContext.get(BindingContext.java:427)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)     at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)     at oracle.adf.controller.lifecycle.LifecycleContext.initialize(LifecycleContext.java:121)     at oracle.adf.controller.lifecycle.LifecycleContext.initialize(LifecycleContext.java:77)     at oracle.adf.controller.struts.actions.DataActionContext.initialize(DataActionContext.java:48)     at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:150)     at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)     at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)     at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:509)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)     at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)     at java.lang.Thread.run(Thread.java:534)## Detail 0 ##oracle.jbo.JboException: JBO-33021: Failed authenticate user null     at oracle.jbo.common.UserAznUtil.authenticateUser(UserAznUtil.java:60)     at oracle.jbo.server.ApplicationModuleImpl.prepareSession(ApplicationModuleImpl.java:5893)     at oracle.jbo.server.ApplicationModuleImpl.prepareSession(ApplicationModuleImpl.java:5862)     at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7584)     at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923)     at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:1915)     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1739)     at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2611)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)     at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)     at oracle.jbo.common.ws.WSApplicationModuleImpl.createWorkerApplicationModule(WSApplicationModuleImpl.java:2457)     at oracle.jbo.common.ws.WSApplicationModuleImpl.getCustomApplicationModule(WSApplicationModuleImpl.java:2416)     at oracle.adf.model.bc4j.DCJboDataControl.setDataProvider(DCJboDataControl.java:1429)     at oracle.adf.model.bc4j.DCJboDataControl.setApplicationModule(DCJboDataControl.java:200)     at oracle.adf.model.bc4j.DCJboDataControl.<init>(DCJboDataControl.java:171)     at oracle.jbo.uicli.binding.JUApplication.<init>(JUApplication.java:90)     at oracle.jbo.uicli.binding.JUApplication.<init>(JUApplication.java:81)     at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:256)     at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:63)     at oracle.adf.model.BindingContext.get(BindingContext.java:411)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)     at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)     at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:59)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)     at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings(DCBindingContainerDef.java:197)     at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:273)     at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:40)     at oracle.adf.model.BindingContext.get(BindingContext.java:427)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)     at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)     at oracle.adf.controller.lifecycle.LifecycleContext.initialize(LifecycleContext.java:121)     at oracle.adf.controller.lifecycle.LifecycleContext.initialize(LifecycleContext.java:77)     at oracle.adf.controller.struts.actions.DataActionContext.initialize(DataActionContext.java:48)     at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:150)     at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)     at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)     at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:509)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)     at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)     at java.lang.Thread.run(Thread.java:534)

    what this problem mean?

  • Handle on application module is NULL

    Oracle JDeveloper 12c: I am trying to run a method in AM from the custom bean. So I have something like this: ReportsServiceImpl svc = (ReportsServiceImpl)JSFUtils.EL("#{data.ReportsServiceDataControl.dataProvider}"); svc returns NULL where JSFUtils is the class I got from Steve's blog. Basically this used to work in 11.1.2 version ReportsServiceDataControl is correct name (checked in DataBindings.cpx) Any idea how to troubleshoot?

    Task flows are not only for transactions, in case you can turn the data control transaction of (no controller transaction option in the task flow), but they offer a boundary of work. You are already using a task flow. There is always an unbounded task flow.this you can use too to add a method call from an application module in front of a page you want to visit.
    If you are working with 12c you should definitely learn how to work with task flows. They are one of the best things add offers you for ui building.
    You can create a pageDef file for the page by dragging the method onto the page and drop it as e.g. button on the page.this will create the needed entries in the databindings. If you don't need the button itself, switch to source mode and delete the button mark up. This will keep the bindings but remove the button.
    // GET A METHOD FROM PAGEDEF AND EXECUTE IT
    // get the binding container
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    // get an Action or MethodAction
    OperationBinding method = bindings.getOperationBinding("YourMethodAction");
    if (method == null)
    // handle method not found error...
    // if there are parameters to set...
    Map paramsMap = method.getParamsMap();
    paramsMap.put("param","value")  ;    
    // execute the method
    method.execute();
    List errors = method.getErrors();
    if (!errors.isEmpty())
       // handle errors here errors is a list of exceptions!
    One the pageDef is present you use the code above to access the method and execute it. There is no need to use the el you posted.
    Timo

  • Authenticate application Module

    I am trying to set security on the application module Using jDeveloper 10.1.2 and oracle db 9.2.
    Currently testing from the embedded oc4j and a standalone oc4j.
    Created an application module to a db table and named it CountryAppModule.
    The application module successfully tested using the projects default Business Component Name.
    The application module also tested successfully using the Business Component Name "CountriesAppModuleLocal".
    I then set the jbo.security.enforce application module property to "Must".
    The application module is re-tested using the Business Component Name "CountriesAppModuleLocal".
    A dialog window prompts for user and password.
    Then login using the default user/456 and the below error is generated:
    JBO-30003: The application pool (Cuma.model.cumaStateModuleLocal) failed to checkout an application module due to the following exception:oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-33021: Failed authenticate user null     at oracle.jbo.JboException.<init>(JboException.java:343)     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1772)     at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2611)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)     at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)     at oracle.jbo.common.ws.WSApplicationModuleImpl.createWorkerApplicationModule(WSApplicationModuleImpl.java:2457)     at oracle.jbo.common.ws.WSApplicationModuleImpl.getCustomApplicationModule(WSApplicationModuleImpl.java:2416)     at oracle.adf.model.bc4j.DCJboDataControl.setDataProvider(DCJboDataControl.java:1429)     at oracle.adf.model.bc4j.DCJboDataControl.setApplicationModule(DCJboDataControl.java:200)     at oracle.adf.model.bc4j.DCJboDataControl.<init>(DCJboDataControl.java:171)     at oracle.jbo.uicli.binding.JUApplication.<init>(JUApplication.java:90)     at oracle.jbo.uicli.binding.JUApplication.<init>(JUApplication.java:81)     at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:256)     at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:63)     at oracle.adf.model.BindingContext.get(BindingContext.java:411)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)     at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)     at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:59)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)     at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings(DCBindingContainerDef.java:197)     at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:273)     at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:40)     at oracle.adf.model.BindingContext.get(BindingContext.java:427)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)     at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)     at oracle.adf.controller.lifecycle.LifecycleContext.initialize(LifecycleContext.java:121)     at oracle.adf.controller.lifecycle.LifecycleContext.initialize(LifecycleContext.java:77)     at oracle.adf.controller.struts.actions.DataActionContext.initialize(DataActionContext.java:48)     at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:150)     at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)     at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)     at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:509)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)     at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)     at java.lang.Thread.run(Thread.java:534)## Detail 0 ##oracle.jbo.JboException: JBO-33021: Failed authenticate user null     at oracle.jbo.common.UserAznUtil.authenticateUser(UserAznUtil.java:60)     at oracle.jbo.server.ApplicationModuleImpl.prepareSession(ApplicationModuleImpl.java:5893)     at oracle.jbo.server.ApplicationModuleImpl.prepareSession(ApplicationModuleImpl.java:5862)     at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7584)     at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923)     at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:1915)     at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1739)     at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2611)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)     at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)     at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)     at oracle.jbo.common.ws.WSApplicationModuleImpl.createWorkerApplicationModule(WSApplicationModuleImpl.java:2457)     at oracle.jbo.common.ws.WSApplicationModuleImpl.getCustomApplicationModule(WSApplicationModuleImpl.java:2416)     at oracle.adf.model.bc4j.DCJboDataControl.setDataProvider(DCJboDataControl.java:1429)     at oracle.adf.model.bc4j.DCJboDataControl.setApplicationModule(DCJboDataControl.java:200)     at oracle.adf.model.bc4j.DCJboDataControl.<init>(DCJboDataControl.java:171)     at oracle.jbo.uicli.binding.JUApplication.<init>(JUApplication.java:90)     at oracle.jbo.uicli.binding.JUApplication.<init>(JUApplication.java:81)     at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:256)     at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:63)     at oracle.adf.model.BindingContext.get(BindingContext.java:411)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)     at oracle.adf.model.binding.DCIteratorBinding.<init>(DCIteratorBinding.java:127)     at oracle.jbo.uicli.binding.JUIteratorBinding.<init>(JUIteratorBinding.java:59)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)     at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)     at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings(DCBindingContainerDef.java:197)     at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:273)     at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:40)     at oracle.adf.model.BindingContext.get(BindingContext.java:427)     at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)     at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)     at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)     at oracle.adf.controller.lifecycle.LifecycleContext.initialize(LifecycleContext.java:121)     at oracle.adf.controller.lifecycle.LifecycleContext.initialize(LifecycleContext.java:77)     at oracle.adf.controller.struts.actions.DataActionContext.initialize(DataActionContext.java:48)     at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:150)     at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)     at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)     at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485)     at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:509)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)     at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)     at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)     at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)     at java.lang.Thread.run(Thread.java:534)

    "Failed authenticate user null "
    what does mean?

  • Multiple Application Modules

    I'm currently working on a BC4J/Struts project that requires accessing multiple disparate databases.
    I've setup 2 separate BC4J projects, one is the primary project that the Struts project uses as it's application module (Stateful). The secondary BC4J project is accessing a different database (Stateless).
    I've created methods in the primary application module to access the secondary application module. I'm currently using the Configuration.createRootApplicationModule() method create an instance of the secondary application module within the primary application module.
    Is there anything wrong with this approach?
    How have others achieved this?
    Thank you.

    Hi,
    Configuration.createRootApplicationModule will use the ApplicationPool (caching mechanism). This is intended for programmatic use and is okay to use when accessing a different root AM from within another AM. Please note that this will set up a different transaction context in the second AM that will not be nested within the first (i.e. the framework will not commit the second when commiting the first). If this is not the desired architecture then you should nest the second AM rather than using a programmatic approach.
    You should always release the second AM when done. Best practice recommends that the createRootApplciationModule...releaseRootApplicationModule pair are performed in a try...finally block. If you release with the remove parameter=false -- will release the AM to the pool for reuse.
    Hope this helps,
    JR

  • About application module

    Hi,
    I want to call executeWithParams method in one of application modules view object..
    what is the syntax?

    ADFBC problem with bind variables

Maybe you are looking for

  • Cannot get email from Verizon servers thru Time Warner ISP

    I've had Verizon for many years until a move took us to California where it was not an option in our area.  I purchased the email addresses from Verizon 3 years ago.  Everything has worked fine until 2 weeks ago when my wife and myself cannot access

  • Intercompany Posting through IDOC, GL assignment for tax code.....

    Dear Experts, I am facing a problem while posting Intercompany invoice through IDOC (intercompany invoice i.e. purchase invoice against the billing document). the billing document, my accounting entry get generated correctly as per the below: Posting

  • Personal domain just takes me to idisk....

    Just created a mobile me account. I have registered a new domain ..."www.nakean.com". I changed dns setting so it reads www.domain Cname web.me.com. When I publish from iweb and click view published it takes me to http://www.teamarch.com/Nakeans_Phot

  • Help with 30" mounting scenario

    Can someone tell me if it will be possible for me to mount an Apple Cinema 30" display on one of these? The description says "Adapts to RTM and CTM mounts"... http://www.racksandstands.com/Premier-Mounts-PSD-BW-PM1324.html#ProdDetails

  • Could not access network location error 1606

    Hello, I have my VB 6.0 Application and make a Exe and I hosted it on my windows server 2000 it gives me below image error. earlier when there was Datepicker control was used then also there was error coming but I had registered MSCOMCTL2.dll and tha