Accesing EJB in an other managed Bean

Hello

I just wanted to check.

When you want to access an EJB that runs on another weblogic managed server, you should always use a PROVIDER_URL pointing to the t3 of the managed server protocol.

Fix?

Hello

Yes. You will need to provide the url property provider to search for a remote bean.

Java.naming.Provider.URL = t3: / /:

/*

Hashtable env = new Hashtable();
env.put (Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");

env.put (Context.PROVIDER_URL, "t3: / /:" "");

InitialContext context = new InitialContext (env);

*/

It will be useful.

Tags: Fusion Middleware

Similar Questions

  • Error by calling the method on Bean managed from an other managed Bean

    Hello

    (Jdev 11.1.1.2.0)

    Help please:

    I have a managed bean (page scope of stream) that is used by my homepage for navigation of flow dynamic region:

    * / public class RegionNavigationBean implements Serializable {* +}
    private String dynamicTaskFlowId = "/ WEB-INF/home-task-flow-definition.xml#home-task-flow-definition"; +

    * public RegionNavigationBean() {* +}
    *}*

    * public TaskFlowId getDynamicTaskFlowId() {* +}
    Return TaskFlowId.parse (dynamicTaskFlowId); +
    *}*

    * public void setDynamicTaskFlowId (String taskFlowId) {* +}
    this.dynamicTaskFlowId = taskFlowId; +
    *}*
    *}*

    taskFlowId is set to the homepage def to + * ${pageFlowScope.regionNavigationBean.dynamicTaskFlowId} * +.

    In a table (i.e. display on my model layer object) DB I store a menu ID and a corresponding task_flow_id.

    Then I created a class of earphone action (RegionNavigationListener - scope of stream page) which I link to my menu on my main page items (property listener action on the item of menu = + * #{pageFlowScope.regionNavigationAction.processAction} * +)

    In this action (processAction method) listening port, I retrieve rowset in the VO menu and find the record that matches my menu ID that triggered the action event, recovering the task_flow_id that needs to be accessed.

    I then try to retrieve the instance of the RegionNavigationBean with the following statement: RegionNavigationBean regNav = (RegionNavigationBean) JSFUtils.getManagedBeanValue ("regionNavigationBean"); +.
    It seems to work fine, but as soon as I try to use it I get a NullPointerException error, for example:
    regNav.setDynamicTaskFlowId (menusRow.gettaskFlowId ()); +
    or:
    System.out.println ("%" + regNav.toString ()); +

    This is quite new to me... any help would be appreciated!

    Thank you
    Mario

    Hi Mario,.

    I tried following codes to get a bean managed in a region, it is very good for me.
    ManagedBean is the name of the class.

    FacesContext ctx = FacesContext.getCurrentInstance ();
    Application app = ctx.getApplication ();
    ManagedBean MB = (ManagedBean) app.evaluateExpressionGet (ctx, "#{pageFlowScope.managedBeanName}", ManagedBean.class);

    Todd

  • How do I get a reference of bean managed in an other managed bean

    Hello
    I use ADF Faces 11g and I have the following problem:

    in a range of flow page, I have 2 MBeans, say 'AMBean' and 'BMBean '.

    I need, from 'BMBean' to get programmatically a reference to 'AMBean' because 'BMBean' needs to get some properties has "AMBean."

    How can I do this?


    Thank you all.

    Hello

    You can make use of the JSFUtils method getManagedBeanValue (String nomBean);
    AMBean amBean = (AMBean) JSFUtils.getManagedBeanValue ("AMBean");
    If you do not JSFUils you can take it from the DOM (StoreFrontModule) (oracle.fodemo.storefront.jsf.util) Application http://www.oracle.com/technetwork/developer-tools/jdev/index-095536.html here

    Kind regards
    Suganth.G

  • Access EJB session bean in JSF managed bean

    Components of the project: Weblogic 11 G + 12 c, 12 c EJB3 JPA 2 Jdeveloper-ADF

    I need to access EJB session bean in JSF managed bean and some methods of execution by program

    Work method and return EJB below
    Is this fair? Another way

    public static Object getEjbForDataControl (String name) {}
    BindingContainer DCBindingContainer = (DCBindingContainer) BindingContext.getCurrent () .getCurrentBindingsEntry ();
    DCDataControl cDataControl = bindingContainer.findDataControl (name);
    Return cDataControl.getDataProvider ();
    }

    Thank you

    Mohsen

    Hi Isabelle,.

    I assumed that his Session EJB bean has not been exposed as a data control (my bad, didn't read any of the discussion).

    Antonis

  • The flow of work, Servlet, popup and a managed Bean validation

    Hello

    We try to display a PDF file in a pop-up window by calling a Servlet in a JSF page using a workflow in JDeveloper 11 g R2.

    The relevant part of JSF:
    <af:inlineFrame id="if1" shortDesc="Report" source="/pdfservlet" styleClass="AFStretchWidth"></af:inlineFrame>
    The /pdfservlet points to a Servlet with a method doGet as follows:
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      response.reset();
      
      OutputStream out = response.getOutputStream();
    
      FacesContext context = this.getFacesContext(request, response);
      OracleReportBean bean =
        context.getApplication().evaluateExpressionGet(context, "#{reportBean}", OracleReportBean.class);
    
      bean.run(context, out);
      removeFacesContext();
    
      out.close();
    }
    The Servlet is trying to get the FacesContext, but we met with the following exception:
    Caused By: javax.faces.FacesException: Cant instantiate class: oracle.adfinternal.view.faces.component.AdfViewRoot.
    We have removed the following lines to the getFacesContext() method:
    UIViewRoot view = facesContext.getApplication().getViewHandler().createView(facesContext, "");
    facesContext.setViewRoot(view);
    This avoids the exception above, however... We try to get the settings of the form that was submitted. Here is an example of the form element:
    <h:inputHidden value="MyMedicationList_Report" id="system_REPORT_RESOURCE"/>
    When the Servlet calls the Bean managed to retrieve the value, it uses:
    Map<String, String[]> requestParameters = getRequestParameters();
    Parameters p = getParameters();
    
    for( String key : requestParameters.keySet() ) {
      for( String value : requestParameters.get( key ) ) {
        int i = key.indexOf( ':' );
    
        if( i >= 0 ) {
          key = key.substring( i + 1 );
        }
    
        p.put( key, value );
      }
    }
    Where getRequestParameters() tries to get the external context to retrieve the map of query parameter values:
    return getExternalContext().getRequestParameterValuesMap();
    The card is empty.

    I tried after http://www.oracle.com/technetwork/developer-tools/adf/learnmore/oct2010-otn-harvest-183714.pdf by assigning the web.xml file:
      <!-- JspFilter must be configured before adfBindings. -->
      <filter-mapping>
        <filter-name>JpsFilter</filter-name>
        <servlet-name>PDFServlet</servlet-name>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
        <dispatcher>REQUEST</dispatcher>
      </filter-mapping>
      <filter-mapping>
        <filter-name>adfBindings</filter-name>
        <servlet-name>PDFServlet</servlet-name>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>
      </filter-mapping>
    And set the data bindings on:
      <pageMap>
        <page path="/pdfservlet" usageId="ca_bcpra_promis_reporting_view_PDFServletPageDef"/>
      </pageMap>
      <pageDefinitionUsages>
        <page id="ca_bcpra_promis_reporting_view_PDFServletPageDef" path="ca.bcpra.promis.reporting.view.PDFServletPageDef"/>
      </pageDefinitionUsages>
    The Servlet is running, called the managed bean instantiated, but cannot read the query parameters.

    Is the button used to start the workflow in a dialog box:
    <af:commandButton text="Run Report" id="submitReport" useWindow="true"
                      windowEmbedStyle="inlineDocument" windowModalityType="applicationModal" windowHeight="500"
                      windowWidth="700" action="runReport"/>
    By using a workflow, the user input are validated before the opening of the pop-up window. We want to keep this behavior. The PDF file opens and then returned with a NullPointerException:

    http://pastebin.com/raw.php?i=PaM64jL4

    The Servlet, through the managed bean, made a request to the report server to pass parameters and generate a PDF file. The PDF is sent to the browser via the Servlet.

    What other steps can we take to:

    1. send user and system parameters.
    2. generate a PDF file on a remote server.
    3 distribute the PDF file to the user in a pop-up window.

    Thank you.

    Here you go
    https://www.EverNote.com/shard/S48//sh/ae8f58be-c4d3-4AB9-8F94-3e01d0e967d0/923ab115aca22fd1e2fccbf6321cbf09

    Timo

  • How to access the managed bean taskflow action result?

    Hi all
    I have a requirement where I have two areas of text (username and password) and a SignIn button. When the user clicks login, my action managed bean will run the view object and get the password for this user name. And that's why it will compare the password presented by the user and the password came from the view object. I a taskflow, in which I have two points of view, we're signIn page and other is the home page, and the result of the action is successful.
    The managed bean method here signIn Page for SignIn button.

    public String execute() {}
    String EnteredPassword = PassEncrypt();
    ApplicationModule am = ADFUtils.getApplicationModuleForDataControl ("AppModuleDataControl");
    ViewObject myView1 = am.findViewObject("LogindetailsView1");
    System.out.println ("Usrname is" + this.) (Username);
    myView1.setNamedWhereClauseParam ("v_Username", this.) (Username);
    myView1.executeQuery ();
    DCBindingContainer links =
    (DCBindingContainer) BindingContext.getCurrent () .getCurrentBindingsEntry ();
    DCIteratorBinding empIter = bindings.findIteratorBinding("LogindetailsView1Iterator");
    String DBPassword = empIter.getCurrentRow ().getAttribute("Password").toString ();

    System.out.println ("password is" + DBPassword);

    {if (EnteredPassword.Equals (dbpassword))}

    Here, I need to call the result of success, which will allow the user to get access to the display of the home page in taskflow.

    }
    else {}
    FacesMessage fm =
    new FacesMessage (FacesMessage.SEVERITY_ERROR, "Please check your name of user and password",
    "Please check your name of user and password");
    FacesContext.getCurrentInstance () .addMessage (null, fm);
    }
    Returns a null value.
    }

    If this can be done using the method call in taskflow then how could use it in my script?
    Please suggest.
    Thank you.

    you have a rule of navigation between these two pages
    If so, simply return the navigation rule name

    if(EnteredPassword.equals(DBPassword)) {
    return "success";
    }
    
  • I18n in managed Bean

    Dear all,

    I'm the stage location with this code in my JSF file.
    <af:outputText value="#{pageFlowScope.myBean.date}" id="ot3">
         <af:convertDateTime locale="#{pageFlowScope.myBean.locale}"/>
    </af:outputText>
    But what happens if the opposite is true and I need to do in my
    managed bean? So what is the right way to execute i18n in a managed bean.

    So instead of the code above, I'll just do it like this.
    <af:outputText value="#{pageFlowScope.myBean.dateFormatted}" >
    I know, the use case is a little vague, but there are other reasons behind it. Thank you

    Hello

    you use SimpleDateFormat (String pattern, locale locale)

    http://download.Oracle.com/javase/1.4.2/docs/API/Java/text/SimpleDateFormat.html

    on the simpleDateFormat call you "analyze" the method to get the date in the form

    Frank

  • synchronization in managed bean

    Hello

    I'm in a matter of synchronization methods for managed bean.

    As I understand it, I don't have to synchronize inside the method of bean extended reach or session request.

    Since the lifecycle jsf serves requests using a particular instance of managed bean and no other application can access this instance until the current request is completed.
    (please, correct me if I'm wrong)

    but in the scope that they are also acting as above?

    the synchronization and management concurrent access is completely the JSF container?

    I don't understand

    can someone please explain?

    Thnaks

    ~ Pablo

    As I understand it, I don't have to synchronize inside the method of bean extended reach or session request.

    You don't have to synchronize the application scope beans because they are unique to the current request.

    You only peut not to synchronize the scope of session beans unless you must face properly the same user using multiple tabs in one browser to access your application. This is more common than you might think, and of many web apps does not manage it properly.

    You must synchronize the application scope beans because there is only one of each and every accessible by > 1 requests simultaneously.

  • Using @Interceptors with ADF managed beans

    Hi Experts,

    I am using the annotation javax.interceptor.Interceptors on my methods of ADF managed beans, but my methods of interception are not get called.

    Is it possible to use it with controlled beans? Has anyone tried this before?

    JDev: 11.1.1.7

    Java: 1.7

    MyInterceptor.java

    =========

    public class MyInterceptor {}

    public MyInterceptor() {}

    Super();

    }

    @AroundInvoke

    public object intercept (InvocationContext context) throws Exception {}

    System.out.println ("MyInterceptor - logging BEFORE calling method:"+ context.getMethod () .getName () ");

    Object result = context.proceed ();

    System.out.println ("MyInterceptor - logging AFTER calling method:"+ context.getMethod () .getName () ");

    return the result;

    }

    }

    =========

    SomeBean.java

    =============

    public class SomeBean {}

    @Interceptors (MyInterceptor.class)

    {} public void doReset (ActionEvent actionEvent)

    do something

    System.out.println ("In reset");

    }

    }

    =============

    Thank you

    Soham

    As far as I KNOW, JSF(and ADF) can't stand the interceptors.

    Maybe you can try this in 12.2.1 jdev because with this version is packaged 2.2 JSF (which should support the CDI)

    Dario

  • How to call a function with parameters in jsf managed Bean

    Hello

    1. I created a Bean managed to manage chains of jsf to 11.1.1.7 WebCenter spaces:

    public class ManageStrings {}

    / * Converts all characters in a string to uppercase. */

    public String getToUpperCase (String str) {}

    Dim retVal = str.toUpperCase ();

    Return retVal;

    }

    }

    2. I registered managed Bean:

    " < managed-bean id ="swc_3"xmlns =" http://xmlns.Oracle.com/ADF/controller "> "

    < id managed-bean-name = "swc_2" > tools < / managed-bean-name >

    < managed-bean-class id = "swc_1" > cat.badalona.webcenter.utilities.ManageStrings < / managed-bean-class >

    < managed-bean-scope id = "swc_4" > backingBean < / managed-bean-scope >

    < / managed-bean >

    3 to code jsf, I tried different options, but they do not work

    " < = xmlns:af af:outputText ' http://xmlns.Oracle.com/ADF/faces/rich "value="#{backingBeanScope.utilities.getToUpperCase['hello']}"/ > "

    ...

    " < = xmlns:af af:outputText ' http://xmlns.Oracle.com/ADF/faces/rich "value="#{backingBeanScope.utilities.toUpperCase['hello']}"/ > "

    ..

    " < = xmlns:af af:outputText ' http://xmlns.Oracle.com/ADF/faces/rich "value =" #{backingBeanScope.utilities.getToUpperCase ('hello')} "" / >


    What I am doing wrong?


    Thaks in advance


    Hello Carles,

    I did it with the content presenter where I need to pass the ID of the component selected in backing bean. Please try below option

    Now add following code in your binding

    Private RichOutputText outputText1;

    then the getter for this outputtext set.

    and in your action method to read the value of the output text.

    Hope this helps with your problem.

    Thank you

    Amey

  • Difference between the managed bean scopes.

    Hello.

    I have jdeveloper 11g and I wanted to know what is the difference between the scopes when managed beans (FlowScope, request, Backed Bean, etc.).

    Kind regards.

    Refer

    Blog of Ashish Awasthi (Jdev/ADF): extended memory for ADF Managed Beans - according to the directives of the Fusion developer's guide

  • ADF - components of the access to the contents of a managed bean in a HA environment ViewScope.

    Hi all

    I have a question, I am a beginner with ADF and learn a lot through these forums and Google

    Using Jdeveloper 11.1.1.7

    is the question I have, I have a cluster/HA environment (2 knots) and move my application to use HA.

    I changed the ADF - config.xml to add the following line:

    " < adf-controller-config xmlns =" http://xmlns.Oracle.com/ADF/controller/config "> "

    < adf-scope-ha-support > true < / adf-scope-ha-support >

    < / adf-controller-config >

    I currently have a managed bean (ViewScope) and it has all my actionListeners/valueChange etc... etc... It also has my UIComponent links and I have also several methods that define specific attributes on these components and then do:

    AdfFacesContext.getCurrentInstance () .addPartialTarget ("ComponentRefHere");

    I am aware that I have to put my beans managed to implement Serializable I also understand that the UI components are not serializable.

    I use the ComponentReference method that is to say:

        private ComponentReference<RichPanelBox> iframePB;
    
        public void setIframePB(RichPanelBox component) {
            iframePB = ComponentReference.newUIComponentReference(component);
        }
      
        public RichPanelBox getIframePB() {
            return uiComponentBean.getIframePB();
        }
    

    is the question I have, I can leave it like that? or will I move them to a different managed bean?

    If so, how should I put the bean, it must also implement serializable, and how do I access them from my managed bean viewScope.


    Thank you

    You don't have to. Https://docs.oracle.com/javaee/6/tutorial/doc/gjbbk.html documentation

    The beans that use the scope of the conversation, application, or session must be serializable, but beans that use the scope of the request need not be serializable.

    I personally always add the serializable interface as the bean has never should be selected for serialization, it should not control. It is easier to tell everyone to add it anyway. In this way, you can use the same class in all scopes.

    Timo

  • [ADF, JDev12.1.3.] Where I save the managed bean used by a fragment? Main stream unlimited task or btf?

    Hallo,

    I have a fragment for which I created a managed bean extended backingBean.

    My doubt is where I save this bean.

    In the main stream task without terminals? Or in the stubborn workflow in which the frament is used?

    Thank you

    Federico

    In the BTF where the fragment is used!

  • character of JSF managed bean error encoding page

    My request is internationalized, and then I need special characters (accents of Spanish, copyright symbol,...). I test if I get the string to a managed bean that does not work.

    JSF page:

    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE html>
    <f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
        <af:document title="Test" id="d1">        
            <af:form id="f1">        
              <af:panelGroupLayout id="pgl1">
                <af:outputText id="ot1" value="áéióúñ © it works" />
                <af:outputText id="ot2" value="#{myBean.text} it doesn't work" />
              </af:panelGroupLayout>
            </af:form>
        </af:document>
    </f:view>
    

    Bean

    public Class MyBean {
    
    
      public MyBean() {
      }
      
      public String getText(){
        return "áéióúñ ©";
      }
    
    
    }
    

    I found this old post:

    UTF-8 problem with ADF

    But this solution is for the JSPX pages:

    < jsp:directive.page contentType = text/html"; Charset = UTF - 8 "/ >

    How can I solve this problem for ADF 12 c + JSF pages / Fragments of JSF Page. ?

    It should work.

    Check the compiler settings in the project properties (and also check: Tools-> preferences...-> environment)

    Also check the encoding in the file pageDef (if you have one).

    Dario

  • [ADF, JDev12.1.3] How to set a variable to bind a VO (where clause) in a managed bean?

    Hallo,

    I have a request based on VO.

    The query contains a where clause clause and a bindi variable.

    In a managed bean I would like to access the iterator of VO setting the value of the bind variable and read the result.

    I found this code it is good start, but I do not know how to set the variable binding.

    BindingContext bctx = BindingContext.getCurrent();
    BindingContainer bindings = bctx.getCurrentBindingsEntry();
    DCIteratorBinding iter = (DCIteratorBinding ) bindings.get("MyVO1Iterator");
    iter.execute();
    
    
    

    You kindly help me?

    Also, I would like to know if it is generally advisable to use VO directly in controlled beans or whether it would be best to create in the AppModuleImpl methods that do this and return the result.

    In my case for example of the VO will return max 1 plug so I'm in doubt, if the creation of a method in the AM that returns a custom class, which attributes contain values of the line of VO.

    Sorry if these questions may seem artificial, but I am a beginner, I have many doubts and so I would be happy to receive some tips regarding best practices.

    Thank you

    Federico

    You can use:

    iter.getViewObject().setNamedWhereClauseParam("yourBindVar", value);
    

    Note that this approach is used if you have bind variable in the where clause.

    To set variables bind to ViewCriteria, you must use VarableValueManager.

    This post may be useful for you: binary: how to set the Bind variable values at run time?

    Also, I would like to know if it is generally advisable to use VO directly in controlled beans or whether it would be best to create in the AppModuleImpl methods that do this and return the result.

    You must set "use VO directly.

    For example, from the point of architecture, is probably best to use the method in the model project which will set the bind variable and execute the query.

    Or you can use the ExecuteWithParams operation in your the view layer.

    In my case for example of the VO will return max 1 plug so I'm in doubt, if the creation of a method in the AM that returns a custom class, which attributes contain values of the line of VO.

    Not to complicate your life

    All VO lines are represented as ViewRowImpl class if you already have "custom class".

    Finally, you can generate your own ViewRowImpl class if it is necessary for this.

    Dario

Maybe you are looking for