Failed to call EJB from Managed Bean in user interface

Hi,
I'm very new to JDeveloper and EJB. I'm now in learning stage. I managed to find a simple example for me to get started. But I encountered errors.
This is the tutorial that I have followed -> http://www.packtpub.com/article/Building-JSF-EJB3-Applications
When we create an application, the application will consist of EJBModel and Interface (JSF View)
In my EJB Model, I have session bean name myappejb.ejb.QuestionSessionBean and one Entity bean name myappejb.entities.Question
In my User Interface, I have created a managed bean name QuestionController and I try to call QuestionSessionLocal in the EJBModel, but before I can compile, there are systaxs errors. I can't import the import javax.ejb.EJB and myappejb.ejb.QuestionSessionBean, stated not found. In other words I can't call all the beans that I have created in EJBModel from java class that I have ceated in UserInterface.
Please advise, I'm lost.
WenXin
I really confuse how exactly it works
Edited by: user8989450 on Jan 14, 2010 12:57 AM

Hi,
The problem has been solved. I found the solution, this is due to the "dependencies", must "Checked" the EJBModel.jpr.
Thanks.
Wen Xin

Similar Messages

  • How to call a AM method with parameters from Managed Bean?

    Hi Everyone,
    I have a situation where I need to call AM method (setDefaultSubInv) from Managed bean, under Value change Listner method. Here is what I am doing, I have added AM method on to the page bindings, then in bean calling this
    Class[] paramTypes = { };
    Object[] params = { } ;
    invokeEL("#{bindings.setDefaultSubInv.execute}", paramTypes, params);
    This works and able to call this method if there are no parameters. Say I have to pass a parameter to AM method setDefaultSubInv(String a), i tried calling this from the bean but throws an error
    String aVal = "test";
    Class[] paramTypes = {String.class };
    Object[] params = {aVal } ;
    invokeEL("#{bindings.setDefaultSubInv.execute}", paramTypes, params);
    I am not sure this is the right way to call the method with parameters. Can anyone tell how to call a AM method with parameters from Manage bean
    Thanks,
    San.

    Simply do the following
    1- Make your Method in Client Interface.
    2- Add it to Page Def.
    3- Customize your Script Like the below one to Achieve your goal.
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding = bindings.getOperationBinding("GetUserRoles");
    operationBinding.getParamsMap().put("username", "oracle");
    operationBinding.getParamsMap().put("role", "F1211");
    operationBinding.getParamsMap().put("Connection", "JDBC");
    Object result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    return null;
    return null;
    i hope it help you
    thanks

  • Operation not found error while calling AM methods from managed bean

    Hi,
    operation not found error while calling AM methods from managed bean.
    written a method with two parameters in AM.
    exposed the method in AM client interface
    in the page bindings added the method in method action ..left empty in the value fields of the parameters.
    calling the method from managed bean like below
    String userNameVal = (String)userName.getValue();
    String passwordVal = (String)password.getValue();
    OperationBinding operationBinding =
    ADFUtils.findOperation("verifyLogin");
    operationBinding.getParamsMap().put("userName",userNameVal);
    operationBinding.getParamsMap().put("password",passwordVal);
    operationBinding.execute();
    i am getting operation verifyLogin not found error.Please suggest me something to do.
    Thanks
    Satya

    Hi vlsn,
    Can you try with the below code
    // in your backing bean
    OperationBinding operation = bindings.getOperationBinding("verifyLogin");
    //Put your both parameters here
    operation.getParamsMap().put("parameter_name1", parameterValue1);
    operation.getParamsMap().put("parameter_name2", parameterValue2);
    operation.execute();
    if (operation.getResult() != null) {
    Boolean result = (Boolean) operation.getResult();
    and share the result.
    regards,
    Rajan

  • Header value in data table can be fetched from managed bean.

    hi
    My requirement is to display a report in which column headers are also retrieved from data base, it cannot be hardcoded.
    instead of My Column it should come from managed bean
    <f:facet name="header">
    <h:outputText value="My Column"/>
    </f:facet>
    I am not able to fetch the header value from the managed bean.
    I tried
    <f:facet name="header">
    <h:outputText value="#{character.name}"/>
    </f:facet>
    but failed.
    Is there any way i can fetch these values at run time.

    Is that bean the main bean or the row object? It should be the main bean. There is only one column per table, its value is not to be derived from the row object.

  • How to Open PopUp from Managed Bean?

    Hi,
    Can you please let me know how can we open a pop up from managed bean.
    Thanks & Regards,
    Kiran Konjeti

    Hi,
    I got the answer for this question.
    Write the following code in Managed Bean
    ==========================
    private RichOutputText errorText;
    private RichPopup PopUp;
    Generate accessors(setters & getters) for these 2 variablesAnd place this method in your managed bean.
    > private void showPopup(RichPopup popUp, UIComponent source) {
    > FacesContext context = FacesContext.getCurrentInstance();
    > String popupId = popUp.getClientId(context);
    > String alignId = source.getClientId(context);
    > StringBuilder script = new StringBuilder();
    > script.append("var popup = AdfPage.PAGE.findComponent('").append(popupId).append("'); ").append("if (!popup.isPopupVisible()) { ").append("var hints = {}; ").append("hints
    [AdfRichPopup.HINT_ALIGN_ID] = '").append(alignId).append("'; ").append("hints[AdfRichPopup.HINT_ALIGN] = AdfRichPopup.ALIGN_AFTER_START; ").append("popup.show(hints);}");> ExtendedRenderKitService erks =
    > Service.getService(context.getRenderKit(),
    > ExtendedRenderKitService.class);
    > erks.addScript(context, script.toString());
    > }
    Now, how to call this method from your managed bean ... depends upon situation.
    public void sendEmailstoBorrowers(ActionEvent actionEvent) {
    .....................some logic ...............> if(true){
    > personHistoryStatus = defaultPreventionHelper.writeBorrowerHistory(borrowersList,getFormattedAction());
    > this.errorText.setValue((borrowersList != null ? borrowersList.size() : "")+" E-mails have been sent successfully..!");
    > }else{
    > this.errorText.setValue("Unable to send emails. Please contact System Administrator..!");
    > }
    > showPopup(this.getPopUp(), actionEvent.getComponent());
    }And ... what do we need to do on the UI??
    Write the following code in UI -- Here is the button which calls sendEmail method
    ==================================================
    ><af:commandButton text="SEND" id="cb3"
    >shortDesc="Click 'Send' to send emails."
    >styleClass="defaultButton"
    >blocking="true"
    >disabled="#{pageFlowScope.DefaultPreventMB.disablePrintButton || bindings.DelinquentBorrowersList.estimatedRowCount == 0}"
    >rendered="#{pageFlowScope.DefaultPreventMB.formattedAction eq 'E-mail'}"
    >partialTriggers="t2:dlDelete"
    >actionListener="#{pageFlowScope.DefaultPreventMB.sendEmailstoBorrowers}"/>
    Once this button get clicked ... it calls sendEmailstoBorrowers, and based on the result(either true or false) the method sets the content for the pop up and opens the popup from managed bean.
    And here is the code for which we have to keep inside the jsff and this gets invoked from managed bean.
    ><af:popup id="p1" binding="#{pageFlowScope.DefaultPreventMB.popUp}">
    > <af:dialog id="d1" type="ok" title="E-mail Communication Status">
    ><af:outputText value="E-mails have been sent successfully..!"
    > id="ot11"
    >binding="#{pageFlowScope.DefaultPreventMB.errorText}"/>
    ></af:dialog>
    ></af:popup>
    Let me know if you need more information about it.
    Thanks & Regards,
    Kiran Konjeti

  • ADF Show popup from managed bean

    Hi, i have one popup in jspx. On click of a command button a method in managed bean should be called and that has to decide whether to show the popup or not. I have a check and using that i need to show this popup. How to show/invoke the popup from managed bean? I used script also but it was not working. Kindly help me.
    Thank you,
    Sankari Kannan

    Hi,
    Which JDeveloper Release You Use?
    In JDeveloper11g the structure View---->Document----->Form.
    Try one of these solutions:
    - Try to put it outside of your pageTemplate tage as:
    <af:view>
    <af:popup>
    </af:popup>
    <af:pageTemplate>
    <f:facet>
    <af:decorativeBox>
    <af:view>
    I don't know is it possible or not.
    - you can put the ids of your popup container as
    StringBuilder strb =
    new StringBuilder("AdfPage.PAGE.findComponent(\"container1:container2:popup5\").show();");
    Sameh Nassar

  • Call ejb from browsers

    Hello Developers!
    I deployed my ejb to OAS4081. I call that
    from JDeveloper so it good. But when I try
    to call from applet in IExpl5 I can't
    instantiate the ORB. I've got a com.ms.security.SecurityException : oracle.oas.orb.CORBA.ORB.init
    I coded the CLASSPATH(oasoorb(yoj),client,
    ejbapi...) perfectly, I think.
    If anybody could help, please...
    Thanx!

    Hi there,
              I saw someone on this group had a problem to locate proper classpath
              to call EJB from JSP. I thought if you call EJB from classpath, you are
              calling the bean. But you loss all the EJB functions. To be able to utilize
              EJB features like object pooling. You need to call it from Weblogic server
              using url/jndi, not from the jar directly.
              Any comment? Am I right?
              BTW, my question about calling EJB from JSP means calling through URL,
              not a local path.
              Thank you
              >-------------------------------------------------------------------->
              Jim wrote in message <[email protected]>...
              >Hi there,
              > Can I call EJB from JSP? Is there a particular security setting or
              >concern for Weblogic? Is there an coding example?
              >
              >Thank you
              >
              >
              

  • Calling EJB from Java Stored Procedures

    Hi,
    I am trying to call an Enterprise Java Bean from stored procedure. This stored procedure calls a java program. As long as it is a simple java program it works fine and loadjava.exe does not give any problem (neither compile-time nor run-time).
    It is not working when I am trying to call EJB from it. It is giving compile-time error.
    If anybody has implemented the same please suggest how to go forward.
    thanks in advance,
    Shashank Agarwal

    I tried the same thing without any luck. I assume you are using OC4J for your EJB ...
    The compiling issue may be because you don't have the classes in your EJB client jar loaded into the database. Once those classes are loaded, you should loadjava without any problem.
    However, you won't be able to call the EJB server because the EJB client (your Java code in the DB) will need the OC4J environment (oc4j.jar). I have tried to load oc4j.jar into the DB as well, and that was a big mess and nothing worked. My DB is 8.1.7, maybe the new 9i have OC4J libs bundled?!?
    I looked around and only found 2 alternatives:
    1. Write a JSP page that acts like an EJB client, then use URLConnection in your DB java code to send params to the JSP for it to invlode the EJB
    2. Replace the JSP with RMI code, and use RMI instead of URLConnection in your DB code to invloke the EJB client.
    If you find any other solution, please share it here.
    Good luck!
    Hi,
    I am trying to call an Enterprise Java Bean from stored procedure. This stored procedure calls a java program. As long as it is a simple java program it works fine and loadjava.exe does not give any problem (neither compile-time nor run-time).
    It is not working when I am trying to call EJB from it. It is giving compile-time error.
    If anybody has implemented the same please suggest how to go forward.
    thanks in advance,
    Shashank Agarwal

  • Trigger click event on RichLink from Managed Bean

    I want to fire a click event from a managed bean of a RichLink which has a clientListener of click type.
    For this, I have tried many options, but nothing works.
    My problem is that the RichLink doesn't have action and actionListener properties, then I couldn't launch ActionEvent, since doesn't exists.
    I have tried few options:
    //NOT WORKS
    public void option1() {
      RichLink linkF11 = (RichLink) JSFUtils.findComponentInRoot("cil2");
      String script = "var link = AdfPage.PAGE.findComponentByAbsoluteId('"+linkF11.getClientId()+"');" +
                        "link.click();";
      addJavaScript(script;)
    //NOT WORKS
    public void option2() {
      RichLink linkF11 = (RichLink) JSFUtils.findComponentInRoot("cil2");
      String script = "var link = AdfPage.PAGE.findComponentByAbsoluteId('"+linkF11.getClientId()+"');" +
                      "link.queueEvent('click');";
      addJavaScript(script;)
    //NOT WORKS
    public void option3() {
      RichLink linkF11 = (RichLink) JSFUtils.findComponentInRoot("cil2");
      String script = "var link = AdfPage.PAGE.findComponentByAbsoluteId('"+linkF11.getClientId()+"');" +
                      "AdfCustomEvent.queue(link, "tooglePanelSplitter",{}, false);";
      addJavaScript(script;)
    //WORKS -> DOM EVENTS, NOT ADF
    public void option4() {
      RichLink linkF11 = (RichLink) JSFUtils.findComponentInRoot("cil2");
      String script = "var link = document.getElementById('"+linkF11.getClientId()+"');" +
                      "link.click();";
      addJavaScript(script;)
    private void addJavaScript(String script) {
      FacesContext facesContext = FacesContext.getCurrentInstance();
      ExtendedRenderKitService service = (ExtendedRenderKitService) Service.getRenderKitService(facesContext, ExtendedRenderKitService.class);
      service.addScript(facesContext, script);
    Finally, I could find a solution, but I have read that, we should avoid call javascript standard code in ADF.
    jsf code
    <af:link text="Modo Comp." id="cil2"
      partialSubmit="true" styleClass="icon-list-alt"
      shortDesc="Modo Compatibilidad"
      clientComponent="true">
      <af:clientAttribute name="psId" value="#{myBean.psF11.clientId}"/>
      <af:clientListener method="tooglePanelSplitter" type="click"/>
    </af:link>
    javascript code
    function tooglePanelSplitter(event) {
        var psId = event.getSource().getProperty('psId');
        comp = AdfPage.PAGE.findComponent(psId);
        if (comp) {
            comp.setProperty("collapsed", !comp.getProperty("collapsed"));
        }  else {
            alert('not found');
    PS: jdeveloper 12c (12.1.2.0.0)

    I wanted to fire the ClientListener from a managed bean, but finally I have solved executing a new javascript code from managed bean.
    In my first javascript code, I toggle the position of a panelSplitter, and in this new code, I set the position to not collapsed.
    //SOLUTION
    public void option4() {
      String psId = ztBean.getPsF11().getClientId();
      String script = "var psl = document.getElementById('"+psId+"');" +
                      "psl.setCollapsed(false);";
      addJavaScript(script);
    private void addJavaScript(String script) {
      FacesContext facesContext = FacesContext.getCurrentInstance();
      ExtendedRenderKitService service = (ExtendedRenderKitService) Service.getRenderKitService(facesContext, ExtendedRenderKitService.class);
      service.addScript(facesContext, script);

  • Re:How to get the vo from managed bean

    Hi all,
    I am using Jdev11.1.2.3.0
    My requirement is : I have one jspx page.In that page i have created one form,so i need to get the values from managed bean.here i wont create by using data control view instance.so finally i have to get the table values from managed bean.so how can i get it.can anyone help me please.
    Thanks,
    G.Shilpa

    So you're not using ADF BC at all, right ?
    From JSF point of view, it does not matter how you provide UI control values.
    What you can do, for example, is to use pure JDBC in order to get and display the database values.
    What you need in your backing bean, is appropriate properties (setter/getter method pairs).
    In the getter, you can obtain DB values by using JDBC
    Take a look at:
    JSF 2.0 + JDBC integration example
    JSF JDBC Integration
    JDBC in JSF - YouTube

  • Disabling a checkbox which is in a table, from managed bean

    disabling a checkbox which is in a table, from managed bean -
    i am able to iterate table and get/set value of checkbox but i want to disable it, how can i do that?
    FacesContext facesContext = FacesContext.getCurrentInstance();
    Application app = facesContext.getApplication();
    ExpressionFactory elFactory = app.getExpressionFactory();
    ELContext elContext = facesContext.getELContext();
    ValueExpression valueExp = elFactory.createValueExpression(elContext, "#{bindings}", Object.class);
    DCBindingContainer bindings = (DCBindingContainer) valueExp.getValue(elContext);
    DCIteratorBinding iter = bindings.findIteratorBinding("dogsIterator");
    RowSetIterator rit = iter.getRowSetIterator();
    rit.reset();
    while(rit.hasNext()) {
    Row currentRow = rit.next();
    Attribute attr = (Attribute)row.getAttribute("checked");
    what code should come here to disable checkbox?
    rit.closeRowSetIterator();
    thanks.

    Wes Fang wrote:
    You might find it easier to simply use EL and evaluate that value on the disable property:
    <af:column ...>
    <af:selectBooleanCheckbox ... disabled="#{row.bindings.checked.inputValue==YOUR_DISABLE_VALUE?true:false}"/>
    </af:column>
    i used this approach.
    kept a bean in session and used it's property in disabled attribute - now setting this property in my bean...

  • Show Popup From Managed Bean

    Hi,
    how i show a inline popup from managed bean , triggered by a certain action in bean, like satisfying a condition or something else?
    normally, showing a popup from bean involves clicking some userinterface components on page.
    in my case, showing a popup should totally automated by a managed bean.
    i m using jdev 11.1.1.2 .
    Plz , help me in this context.
    Regards,

    Hi John,
    I used the above code but it doesnt work.Can you please look into my code.
    In Jspx page,
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document id="d1" binding="#{backingBeanScope.backing_untitled5.d1}">
    <af:form id="f1" binding="#{backingBeanScope.backing_untitled5.f1}">
    <af:commandButton text="commandButton 2"
    binding="#{backingBeanScope.backing_untitled5.cb2}"
    id="cb2"
    action="#{backingBeanScope.backing_untitled5.cb2_action}"/>
    </af:form>
    <af:popup binding="#{backingBeanScope.backing_untitled5.p1}" id="p1">
    <af:panelWindow binding="#{backingBeanScope.backing_untitled5.pw1}"
    id="pw1"/>
    </af:popup>
    </af:document>
    </f:view>
    <!--oracle-jdev-comment:auto-binding-backing-bean-name:backing_untitled5-->
    </jsp:root>
    In backing bean,
    package view.backing;
    import javax.faces.context.FacesContext;
    import oracle.adf.view.rich.component.rich.RichDocument;
    import oracle.adf.view.rich.component.rich.RichForm;
    import oracle.adf.view.rich.component.rich.RichPanelWindow;
    import oracle.adf.view.rich.component.rich.RichPopup;
    import oracle.adf.view.rich.component.rich.nav.RichCommandButton;
    import org.apache.myfaces.trinidad.render.ExtendedRenderKitService;
    import org.apache.myfaces.trinidad.util.Service;
    public class Untitled5 {
    private RichForm f1;
    private RichDocument d1;
    private RichPopup p1;
    private RichPanelWindow pw1;
    private RichCommandButton cb2;
    public void setF1(RichForm f1) {
    this.f1 = f1;
    public RichForm getF1() {
    return f1;
    public void setD1(RichDocument d1) {
    this.d1 = d1;
    public RichDocument getD1() {
    return d1;
    public void setP1(RichPopup p1) {
    this.p1 = p1;
    public RichPopup getP1() {
    return p1;
    public void setPw1(RichPanelWindow pw1) {
    this.pw1 = pw1;
    public RichPanelWindow getPw1() {
    return pw1;
    public void setCb2(RichCommandButton cb2) {
    this.cb2 = cb2;
    public RichCommandButton getCb2() {
    return cb2;
    public String cb2_action() {
    // Add event code here...
    FacesContext context = FacesContext.getCurrentInstance();
    ExtendedRenderKitService extRenderKitSrvc =
    Service.getRenderKitService(context, ExtendedRenderKitService.class);
    extRenderKitSrvc.addScript(context,"AdfPage.PAGE.findComponent('" + p1 + "').show();");
    return null;
    Please correct my mistake if any.
    Regards,
    Tom

  • Calling EJB from other EJB on other J2EE Server

    Can I call EJB from other EJB on other J2EE Server
    Servers - Websphere 5.0
    Do i require home & remote interface of that ejb on client side also
    Help me, please

    the problem is actually i require that is specific to websphere
    for example i want to call a method ion that ejb
    say my ejb name is myejb
    so the normal way i should call is
    InitialContext initialContext = new InitialContext();     
    Object homeObject = initialContext.lookup("ejb/MyEjbHome");
    MyEJBHome myEJBHome =(MYEjbHome )javax.rmi.PortableRemoteObject.narrow(homeObjectMYEjbHome.class);
              myEJB = lSHome.create();
    myEJB.someMethod();
    but here i am having class for home and remote available
    now if other app server i am not having this classes then what to do

  • Calling EJB from from a client app

    Hi all,
    I am trying to call an EJB component from portal. The example EJB I have taken is from SDN Bonus Calculator example - Application Server/Web Dynpro/Samples and Tutorials/Using EJBs (20)
    I deployed the EAR file - no issue
    I wrote the following code in a client app and trying to connect to the EJB remotely.
              try {
                   java.util.Properties properties = new Properties();
                   properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sap.engine.services.jndi.InitialContextFactoryImpl");
                   properties.put(Context.PROVIDER_URL, "ux0800:55304");
                   InitialContext ctx = new InitialContext(properties);
                   //InitialContext ctx = new InitialContext();
                   // get ejb home
                   home =
                        (BonusCalculatorLocalHome) ctx.lookup(
                             "localejbs/MySessionBean");
                   theCalculator = home.create();
              } catch (Exception namingException) {
                   namingException.printStackTrace();
    I get the following error
    javax.naming.NoInitialContextException: Cannot instantiate class: com.sap.engine.services.jndi.InitialContextFactoryImpl [Root exception is java.lang.ClassNotFoundException: com.sap.engine.services.jndi.InitialContextFactoryImpl]
         at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
         at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
         at javax.naming.InitialContext.init(Unknown Source)
         at javax.naming.InitialContext.<init>(Unknown Source)
         at com.sap.bonus.calculation.sessionBean.MyCommandBean.<init>(MyCommandBean.java:27)
         at com.sap.bonus.calculation.sessionBean.MyCommandBean.main(MyCommandBean.java:68)
    Caused by: java.lang.ClassNotFoundException: com.sap.engine.services.jndi.InitialContextFactoryImpl
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
    Any clue will be appreciated.
    thnx

    Hi Sabbir,
    Following code works for me in calling EJB from normal java application. Did you added the jar files to your application?. see the required jar files in end of code.
    Create simple java applcation do the following steps:
    Give JNDI name to the EJB(HelloJNDI)->Add the HelloEJB to HelloEAR ->deploy
    Proxy Program to call ejb:
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import com.sample.Hello;
    import com.sample.HelloHome;
    public class HelloTest {
         public static void main(String[] args) {
                       Hello remote = null;
                      try {
                        Context ctx = new InitialContext();
                        HelloHome home = (HelloHome) ctx.lookup("HelloJNDI");
                        remote = home.create();
                        String result = remote.hello();
                        System.out.print("Result:" + result);
                         } catch (Exception e) {
                                System.out.println("Exception:" + e.getLocalizedMessage());
    1. Go To  Run > Java Application ->New->select your project and select your main class(java program from which your going to call EJB)
    2. Click  next tab ->(x)=Arguments
    paste the following code in VM Arguments
    -Djava.naming.factory.initial=com.sap.engine.services.jndi.InitialContextFactoryImpl -Djava.naming.provider.url=localhost:50104
    replace the server IP address with your server IP address where your ejbs are running.
    Under Class path settings for the program put the following jar files.
    You can search for them from net weaver soruce folders
    or copy from D:\usr\sap\J2E\JC01\j2ee\j2eeclient
    ejb20.jar
    logging.jar
    exception.jar
    sapj2eeclient.jar
    Add Corresponding ejb.jar
    and RUN >>>
    this makes testing of your client programs easier, you can find the error trace on which line and saves lot of time.
    Regards, Suresh

  • Calling EJB from app client

    Hello, everybody,
    I'm very new at EJB and I'm trying to learn it.
    I have created Enterprise Application using Netbeans IDE, I have EJB and APP client. What I want is to connect to my MySql database and get some info from table.
    For e.g. Login and Password.
    How can I call EJB from my client app which connects to my database and gets information I need?

    What server you are using?
    if you use jboss AS ,here is a simple Main class how to connect EJB and access ejb methods:
    package com.david.ejb.client;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.rmi.PortableRemoteObject;
    import com.david.ejb.domain.Person;
    import com.david.ejb.domain.PersonRemote;
    public class Main {
         public static void main(String[] args) {
              try {
                   Context ctx = getInitialContext();
                   Object obj = ctx.lookup("PersonSessionRemote/remote");
                PersonRemote pr=(PersonRemote)PortableRemoteObject.narrow(obj, PersonRemote.class);
                Person p=new Person();
                p.setName("david");
                pr.addPerson(p);
                pr.findPerson(1);
                   // System.out.print(br.find(pk).getAuthor_name());
              } catch (Exception ex) {
                   ex.printStackTrace();
         private static Context getInitialContext() throws NamingException {
              Properties p = new Properties();
              p.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.NamingContextFactory");
              p.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
              p.setProperty(Context.PROVIDER_URL, "jnp://localhost:1099");
              return new InitialContext(p);
    }Person is ant @Entity and PersonRemote is remote interfaces, to connect database you have to make datasource file at jboss-4.2.3.GA\server\default\deploy
    simle mysql-ds.xml looks like this:
    datasources>
       <local-tx-datasource>
          <jndi-name>some name</jndi-name>
          <connection-url>jdbc:mysql://localhost:3306/dbname</connection-url>
          <driver-class>com.mysql.jdbc.Driver</driver-class>
          <user-name>root</user-name>
          <password>root password</password>
          <min-pool-size>5</min-pool-size>
          <max-pool-size>100</max-pool-size>
          <idle-timeout-minutes>15</idle-timeout-minutes>
          <exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name>
          <valid-connection-checker-class-name>com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker</valid-connection-checker-class-name>
       </local-tx-datasource>
    </datasources>also at resources/META-INF directory you must have persistence.xml like this
    <persistence>
         <persistence-unit name="SimpleEjb">
              <jta-data-source>java:/some name</jta-data-source>
              <properties>
                   <property name="hibernate.hbm2ddl.auto" value="update" />
                   <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
                   <property name="hibernate.show_sql" value="true"/>
                   <property name="hibernate.format_sql" value="true"/>
              </properties>
         </persistence-unit>
    </persistence>

Maybe you are looking for

  • There is an error in the app store. Please try again later (4).

    Hello community, Thought I'd try out the MAS last night, throw some money in Apples direction, however a fundamental obstacle from wallet to Steve Jobs is that the MAS offers the following error message. There is an error in the app store. Please try

  • Issues with link color

    Hello! I am trying to change the link color to black and it keeps on changing back to red even though I have chosen black. Please help me ASAP Thanks!

  • [XI 3.1 SP3] WinAD subgroup shown as user

    Strange things happen with configuring WinAD. The following: I have succesfully configurated WinAD and Single Sign On with BOXI Enterprise 3.1 SP3. But when I try to update a group it imports a subgroup as user of this group and not as subgroup. I am

  • Rollback problem during import

    Hello experts, please help. I have the following error when importing table data to my Oracle 8.1.7 database. IMP-00058: ORACLE error 1562 encountered ORA-01562: failed to extend rollback segment number 16 ORA-01237: cannot extend datafile 3 kind reg

  • Edit page offset for specific printer models - SAP Adobe Life Cycle Designer 8.0

    Hallo, is it possible to edit the page offset in x-direction? Where? My problem is that any printer models has different page offset settings. For this reason I am searching for a possibility to edit the page offset for each printer model. I found so