Calling session bean's business method through web dynpro component

Hi All,
Can anybody tell me how to call a session bean's methods through a web dynpro WITHOUT java-model or web service model ??
I have following scenario:-
1. Stateless Session bean having two business methods
2. Web Dynpro component
3.Now i want to call business methods without using any model. I have got following piece of code but I dont know how to go about it.
4.Where do i have to set JNDI name for session bean? which interface will be looked for?
5. Do I have to declare public part for EJB DC? If yes, how?
//This is inside web dynpro component
InitialContext   context = new InitialContext();
o = context.lookup(JNDIName);
TestSessionbeanHome homeRef = (TestSessionbeanHome) PortableRemoteObject.narrow( o,                                                                               
TestSessionbeanHome.class);
TestSessionbean beanRef = homeRef.create();
<returnValue> = beanRef.<ejb method name>
Please help to get a step-by-step approach to this case.
Thanks and regards,
Amey Mogare

Hi,
If  I comment out the part that is using session bean's business method, DC is building fine.
And if I uncomment, then compiler is unabl eto resolve business method(s).
And i would like to mention that my EJB + J2EE App DC is building properly, but it havent yet deployed properly as I am waiting for data-source-alias name prefix to be configured by ERP team. So will this be a reason why Web Dynpro DC is not able to resolve business methods ??
Because Web Dynpro DC is able to resolved all interfaces of Session bean and entity bean. But when it comes to business method, its not able to resolve.
Any more ideas why it is not happening?
Pls help.
Now i went through some forum posts regarding this and found that we also need to add EJB DC to Java Build Path for WebDynproDC>Properties>Java Build Path.
I did this and now it is able to resolve business methods and DTOs as well. So to summarize I did following:-
1. Added EJB DC (complete DC) as a Used DC to Web Dynpro DC with Buid-n-Deploy-n-Run time dependency
2. Added Sharing reference of J2EE application DC to Web Dynpro DC -->Properties
This reference I constructed as follows:-
<vendorname>/<name of j2ee application as appearing under display name tag in application.xml (replacing '/' with '~')>
So my Sharing Reference becomes:- <vendorname>/reqpstapscreqpstapja_reqid
3. Added EJB DC to Java Build Path in Web Dynpro DC's properties
4. Then I added following piece of code to get object of SessionBean class
InitialContext context = new InitialContext();
Object o = context.lookup("java:comp/env/ejb/SessionRequestIDBean");
SessionRequestIDHome homeRef = (SessionRequestIDHome) PortableRemoteObject.narrow(o, SessionRequestIDHome.class);
SessionRequestID beanRef = homeRef.create();
beanRef.<business method>
But After doing this I am facing another problem :-
The build fails saying it is not able find the package for DTOs. But when I see the Component Controller's code it is not showing any red or yellow marks.
Can anybody pls help me out here?
Thanks and regards,
Amey Mogare

Similar Messages

  • How to call a web service from a session bean's business method???

    Hi Experts,
    Can anybody help in calling a web serivce frm a session bean's business method??
    Hw do we do that?
    I have one requirement where i want to send emails to set of users for which i have email sending web service ready.. How can i call it thru a session bean's business method???
    Pls help,
    Regards,
    Amey

    Hi Amey,
    You can achieve this using the followin 2 Step implementation:
    1. [Creating a Deployable Proxy|http://help.sap.com/saphelp_nw70/helpdata/EN/2d/b9766df88f4a24967dae38cb672fe1/frameset.htm]
    2. [Create a Client Bean|http://help.sap.com/saphelp_nw70/helpdata/EN/45/029840cf43495195da923f32262911/frameset.htm]
    Hope it helps.
    Regards,
    Alka.

  • Calling Enity Bean's business methods from a session bean in EJB 3.0 specif

    Hello everybody,
    Happy to be a member with you in this forum.
    This is my first participation in this forum.
    I have some problem to start with EJB 3.0 specification, I have created an entity bean with some business methods that access a mysql datbase, then i want to create a stateful session bean to provide the client an interface to consume business methods in Enity be
    Please can someone you help me with an example

    @Vladimir Pavlov
    I did not understand what you are trying to convey...
    Whenever an attribute of this bean is modified we want to access that latest value.... Is there any way to know, when the attribute is modified? Just with get/set we can not know, when it is modified... am i right?
    We want to achieve this without modifying the existing source code of the EJB....
    @ Ivo Simeonov
    As of my knowledge, to use interceptors we need to modify the EJB source code, but we do not want to touch the source code....
    All this has to be achieved dynamically when the application is deployed in the production.... is it possible???

  • How to call ABAP function module/ class method through web service?

    Hi Colleagues,
    I need to write an iphone version of current ABAP program. I want to call ABAP method and function module through my iphone so that I can re-use the ABAP APIs.So I choose web service. Can you give me any details information about how to do that?
    Thank you very much

    Hi,
    you need to create webservice out of FM. goto SE80 and follow the webservice creation wizard. Finally use webservice url for calling FM (remote enabled) from your iPhone.
    Regards,
    Gourav

  • Web Dynpro component - Flat file upload

    Hi,
    We have a requirement to upload a flat file to Planning cube (real time cube) through Web Dynpro component.
    Web Dynpro component which we have developed is able to read the records from the flat file.
    Now, the issue is u201CHow can we save the records read from the flat file to planning cubeu201D?
    If anyone has worked on the similar requirement, pls reply. Thanks in advance.
    Note : We have a planning sequence which will be executed on the click of UPLOAD button.
                  This planning sequence has a filter on Infoprovider (cube which we are using for planning) and a planning function of type u201CFile uploadu201D in which we have defined the flat file format.
                  Aggregation level is made on Multiprovider which has 2 underlying cubes (One is realtime and other one is standard).
    Is there any function module in which we can pass the name of the flat file so that it will be uploaded in planing cube?
    Regards,
    Ankur

    You can deploy solution provided by Marc Bernard within following SDN's contribution:
    [u201CLoad a File into SAP NetWeaver BI Integrated Planningu201D |http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/90cef248-29e0-2910-11bb-df8dece7e22c]
    This uses webdynpro functionality.

  • How to call session bean's method in JSP

    Hi All,
    I am working on a JSF web application by using sun studio creator.
    The first page have a button, the onClick javascript is as following, which bring up a alert box showing user login name.
    In JSP file, how can I call session bean's setUserName(String name) function (which I would like to store this UserName). So the following pages can use this information.
    If I can not do it this way, is there any other way to do it?
    Thanks in advance.
    var net = new ActiveXObject("wscript.network");
    alert(net.UserName);
    In managed-beans.xml
    <managed-bean>
    <managed-bean-name>BasicInfo</managed-bean-name>
    <managed-bean-class>treepractice.BasicInfo</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

    You can find more information/details/examples at their own website.
    On the other hand, do you realize that that ActiveX stuff is IE proprietary? And that it is a browser configuration whether to allow them or not? And that this configuration is in IE7 defaulted to an (annoying) warning box before execution which is just bad for the user experience?
    With other words, forget that ActiveX garbage. Alternatives are Applets (not recommended) or Java Web Start (recommended).

  • Calling a Method in Web Dynpro ABAP

    Hi Experts,
    I have created a class in se24 and called its methods in web dynpro by simply creating its object. It is working fine. After that i came to know that method should be called through creating a service call in WD.
    What is the standard way and why?
    Thanks
    Ravindra.

    Hello Ravindra ,
                                  I think the better way is to create an assistance class ( Say A1)  and create an attribute (Say AC1) as object of your class ( Say  C1 ).
    In the costructor of you assistance class A1  you can instanciate the object of C1 .
    Now inside a method of assistance class you can call the method of C1 any time because AC1 is already instantiated .
    MVC architecture recommends you should have separate  method to aceess the data and you write your business logic in assitance class methods .
    Hope this will help you .
    Regards
    Vivek

  • How can we call methods of one web dynpro component in another one

    Hello Team,
    How do I call  one Web Dynpro component methods in another Web Dynpro component.
    How do we use public parts.
    thanks

    Hi,
    You want to use Comp2's getData() method in Comp1
    If both the WebDynpro components are in the same DC:
    1. Create a wrapper method (with the same signature) in the Comp2's Interface controller. And invoke the Component contorller's getData() method in this method using the below code.
    wdThis.wdGetComp2Controller.getData()
    2. Now Go to the Comp1 and right click on UsedWebDynproComps and add this Comp2 as a UsedWebDypro component.
    3. Now go to the Component Controller of Comp1 and in properties tab add the usage declaration of Interface controller of Comp2.
    4. Now using this below code you can access the method of InterfaceController of Comp2.
    wdThis.wdGetComp2Interface().getData();
    If both the WebDynpro components are in different DCs:
    1. Right click on Comp2 and select Add to public part on Comp2 in DC2.
    2. Now Add this public part in DC1 UsedDCs.
    Now repeat the above stpes 1...to..4. of  "If both the WebDynpro components are in the same DC" same.
    Regards,
    Charan

  • Calling Session Beans in JSP ?

    Hi Folks,
    I am new to EJB3, I am doing simple applicatuions.
    Can any one please tell me how to call session beans in jsp page.
    for example my case is.. iam entering two diffrent data, lets say user name and password in jsp page and this should go in data base thru JPA (entity beans)
    Iam able to enter data from JPA in data base but if the same i have to fetch from JSP page.. iam not getting..!
    I would really appretiate for your help i need it urgent...!
    thanks in advance.

    abishek1983 wrote:
    Hi Folks,
    I am new to EJB3, I am doing simple applicatuions.
    Can any one please tell me how to call session beans in jsp page.
    Not. You can, technically, but you shouldn't. JSP should be for display purposes only, containing no Java code whatsoever.
    for example my case is.. iam entering two diffrent data,Wrong. You cannot possibly have "2 data", the very concept is impossible.
    You can have "2 data items" which is probably what you intended to say?
    lets say user name and password in jsp page and this should go in data base thru JPA (entity beans)
    Iam able to enter data from JPA in data base but if the same i have to fetch from JSP page.. iam not getting..!
    Same way you insert them. Of course JPA entities are distinctly different from entity beans. The very concept of entity beans no longer exists in the context of JPA, it's solely used to mean EJB 2.1 or earlier entity beans.
    I would really appretiate for your help i need it urgent...!
    It's not urgent.

  • Calling  second step of transaction of r3 through web dynpro

    Hi all
    We are calling a particular transaction and passing paramter to it through web dynpro.We have successfully implemented it.but we are facing problem in  calling second step of transaction and passing parameter required at second step.
    pls tell me if any one has any ideas how to do it ???
    regards
    zaid

    Does the second step involve a new function module or does it make use of the same one?  Regardless the second call shouldn't be any different than the subsequent calls.  Maybe you could provide more details.
    /Greg

  • Call session bean in message driven bean

    Is it a best practice calling a session bean every time arrive a message in a message driven bean?
    Regards
    Message was edited by:
    gionnyDeep

    Why not?
    You can call Session Bean from a Message Driven Bean as long as your J2EE Server is able to handle the messages.

  • Call a user defined method in web dynpro from interactive forms

    Hi All,
    how to call a user defined method in web dynpro java, when a selecting value from drop down list which is in interactive forms by adobe
    thanks.
    Edited by: venkat99 on May 24, 2010 4:52 PM

    Well, you can use F4 help, of course, check here: http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/a1900622ec062be10000000a42189d/frameset.htm
    You need to select the value first and then use the submit button, which is mapped to the WD action submit (you have to set this up in WD designer!!). To use the submit button for more actions, you need to use something like a hidden field, where the value is set according to the action you want to do with your submit button. The submit sends this value back to WD, where you can switch the program code according to the value.
    Otto
    p.s.: and maybe this blog can help: /people/shruti.rathour/blog/2008/02/07/uploading-sap-interactive-form-on-the-abap-webdynpro-view

  • How call session bean from Client side

    Hi
    calling session bean from client side it gives Lookup erroe, it gives JNDI error
    how we know session bean is working. in Admin tree bean statis is reb Flaf, and ID is "Down" how we activate it..
    null

    If you can make a connection using sess_sh, then you know that you have configured your database and listener properly. If it is not working, read the manuals that you can download from technet. They are pretty good, and if you follow the directions, you should see success.
    Good Luck!
    Brad

  • Upload and Attach file to Service Notificacion through Web Dynpro

    Hi,
    I need to upload and attach a file (Word, PDF, TXT ...) to Service Notificacion (TX - IW53) through Web Dynpro.
    I have used the integration component "File Upload" to obtain the "fileName" atribute. Also, I have used the functions SO_OBJECT_UPLOAD, SO_INSERT_OBJECT and BINARY_RELATION_CREATE_COMMIT.
    But have a problem, because the function SO_OBJECT_UPLOAD use the class "cl _ gui _ frontend _ services" and that clash with Web Dynpro.
    My question is: how could I resolve that problem?
    I look forward to your response.
    Thanks

    IV_NAME     Importing     Type     STRING
    IV_CONTENT     Importing     Type     STRING
    IV_CONTENT_HEX     Importing     Type     XSTRING
    IS_LPORB     Importing     Type     SIBFLPORB
    IV_OBJTP     Importing     Type     SO_OBJ_TP
    RT_MESSAGES     Returning     Type     BAPIRETTAB
    method save.
      data ls_message type bapiret2.
      data:
        filename     type string,
        filefullname type string,
        mime_type    type string,
        size         type i,
        offset type i,
        offset_old type i,
        temp_len type i,
        objname type string,
        l_obj_type type so_obj_tp,
        hex_null type x length 1 value '20',
        l_document_title type so_text255,
        file_ext type string,
        lt_objcont type standard table of  solisti1 initial size 6,
        objcont like line of lt_objcont,
        lt_ls_doc_change type standard table of sodocchgi1,
        ls_doc_change like line of lt_ls_doc_change,
        lt_data type soli_tab,
        ls_data type soli,
        lt_xdata type solix_tab,
        ls_xdata type solix,
        l_folder_id type sofdk,
        ls_object_id type soodk,
        l_object_id_fol type so_obj_id,
        l_object_id type so_obj_id,
       l_doc_info TYPE sofolenti1,
        l_object_hd_change type sood1,
        l_tab_size type int4,
        l_retype type breltyp-reltype,
        lt_urltab  type standard table of sood-objdes.
    get foler
    l_folder_id = 'FOL29000000000004'.
      call function 'SO_FOLDER_ROOT_ID_GET'
        exporting
         owner                            = sy-uname
          region                           = 'B'
        importing
          folder_id                        = l_folder_id
       tables
         path_table                       =
      if iv_objtp = gc_type_file.
        size = xstrlen( iv_content_hex ).
    get file name and extension
        call method split_path
          exporting
            iv_path           = iv_name
          importing
         E_PATH           =
           ev_filename       = filename
         E_PSERVER        =
        call method split_file_extension
          exporting
            iv_filename_with_ext = filename
          importing
            ev_filename          = objname
            ev_extension         = file_ext.
        ls_doc_change-obj_name = objname.
        ls_doc_change-obj_descr = objname.
        ls_doc_change-obj_langu = sy-langu.
        ls_doc_change-sensitivty = 'F'.
        ls_doc_change-doc_size = size.
        offset = 0.
        while offset <= size.
          offset_old = offset.
          offset = offset + 255.
          if offset > size.
            temp_len = xstrlen( iv_content_hex+offset_old ).
            clear ls_xdata-line with hex_null in byte mode.
            ls_xdata-line = iv_content_hex+offset_old(temp_len).
          else.
            ls_xdata-line = iv_content_hex+offset_old(255).
          endif.
          append ls_xdata to lt_xdata.
        endwhile.
    set object type relation type and other header info
        l_retype = 'ATTA'.
        l_obj_type = 'EXT'.
        l_object_hd_change-objnam = ls_doc_change-obj_name.
        l_object_hd_change-objdes = ls_doc_change-obj_descr.
        l_object_hd_change-objsns = ls_doc_change-sensitivty.
        l_object_hd_change-objla  = ls_doc_change-obj_langu.
        l_object_hd_change-objlen = ls_doc_change-doc_size.
        l_object_hd_change-file_ext = file_ext.
      prepare header
        data lt_obj_header type standard table of solisti1.
        data ls_header type solisti1.
        concatenate '&SO_FILENAME=' filename into ls_header.
        append ls_header to lt_obj_header.
        clear ls_header.
        ls_header = '&SO_FORMAT=BIN'.
        append ls_header to lt_obj_header.
    change hex data to text data
        call function 'SO_SOLIXTAB_TO_SOLITAB'
          exporting
            ip_solixtab = lt_xdata
          importing
            ep_solitab  = lt_data.
      else.
    for note
        size = strlen( iv_content ).
        objname = iv_name.
        ls_doc_change-obj_descr = objname.
        ls_doc_change-sensitivty = 'O'.
        ls_doc_change-obj_langu  = sy-langu.
    put content into table
        offset = 0.
        if iv_objtp = gc_type_note.
    it's a note
          l_retype = 'NOTE'.
          l_obj_type = 'RAW'.
          l_object_hd_change-file_ext = 'TXT'.
    read note content into table
          while offset <= size.
            offset_old = offset.
            offset = offset + 255.
            if offset > size.
              temp_len = strlen( iv_content+offset_old ).
              clear ls_data-line.
              ls_data-line = iv_content+offset_old(temp_len).
            else.
              ls_data-line = iv_content+offset_old(255).
            endif.
            append ls_data to lt_data.
          endwhile.
    get title from content , if it's initial
          if objname is initial.
            read table lt_data index 1 into l_document_title.
            while l_document_title+49 <> ' '.
              shift l_document_title right.
            endwhile.
            shift l_document_title left deleting leading ' '.
            ls_doc_change-obj_descr = l_document_title.
          endif.
        else.
    it's url (not note)
          l_retype = 'URL'.
          l_obj_type = 'URL'.
          if objname is initial.
            split iv_content at '/' into table lt_urltab.
            describe table lt_urltab lines l_tab_size.
            read table lt_urltab index l_tab_size into ls_doc_change-obj_descr.
          endif.
          while offset <= size.
            offset_old = offset.
            offset = offset + 250.
            if offset > size.
              temp_len = strlen( iv_content+offset_old ).
              clear ls_data-line.
              ls_data-line = iv_content+offset_old(temp_len).
            else.
              ls_data-line = iv_content+offset_old(250).
            endif.
            concatenate '&KEY&' ls_data-line into ls_data-line.
            append ls_data to lt_data.
          endwhile.
        endif.
        ls_doc_change-doc_size = size.
       l_object_hd_change-objnam = ls_doc_change-obj_name.
        l_object_hd_change-objdes = ls_doc_change-obj_descr.
        l_object_hd_change-objsns = ls_doc_change-sensitivty.
        l_object_hd_change-objla  = ls_doc_change-obj_langu.
        l_object_hd_change-objlen = ls_doc_change-doc_size.
      endif.
    save object
      call function 'SO_OBJECT_INSERT'
           exporting
                folder_id                  = l_folder_id
               OBJECT_FL_CHANGE           = OBJECT_FL_CHANGE
                object_hd_change           = l_object_hd_change
                object_type                = l_obj_type
               ORIGINATOR_ID              = OWNER_ID
              OWNER                      = USER-USRNAM
           importing
               OBJECT_FL_DISPLAY          = OBJECT_FL_DISPLAY
               OBJECT_HD_DISPLAY          = OBJECT_HD_DISPLAY
                object_id                  = ls_object_id   "l_doc_info-object_id
           tables
                objcont                    = lt_data
                objhead                    = lt_obj_header
               OBJPARA                    = OBJECT_PARA
               OBJPARB                    = OBJECT_PARB
           exceptions
                component_not_available    = 01
                folder_not_exist           = 06
                folder_no_authorization    = 05
                object_type_not_exist      = 17
                operation_no_authorization = 21
                parameter_error            = 23
                others                     = 1000.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into ls_message-message.
        ls_message-type = sy-msgty.
        ls_message-id = sy-msgid.
        ls_message-number = sy-msgno.
        ls_message-message_v1 = sy-msgv1.
        ls_message-message_v2 = sy-msgv2.
        ls_message-message_v3 = sy-msgv3.
        ls_message-message_v4 = sy-msgv4.
        append ls_message to rt_messages.
        return.
      endif.
    create relation
      data l_obj_rolea type borident.
      data l_obj_roleb type borident.
    MOVE-CORRESPONDING wd_this->ms_lporb to l_obj_rolea.
      l_obj_rolea-objkey = is_lporb-instid.
      l_obj_rolea-objtype = is_lporb-typeid.
      l_obj_rolea-logsys = is_lporb-catid.
      l_object_id_fol  = l_folder_id.
      l_object_id = ls_object_id.
      concatenate l_object_id_fol l_object_id into l_obj_roleb-objkey respecting blanks.
      l_obj_roleb-objtype = 'MESSAGE'.
      clear l_obj_roleb-logsys.
      call function 'BINARY_RELATION_CREATE'
        exporting
          obj_rolea    = l_obj_rolea
          obj_roleb    = l_obj_roleb
          relationtype = l_retype
        exceptions
          others       = 1.
      if sy-subrc = 0.
        commit work and wait.
       wd_this->MV_UPDATE_FLAG = 'X'.
      else.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into ls_message-message.
        ls_message-type = sy-msgty.
        ls_message-id = sy-msgid.
        ls_message-number = sy-msgno.
        ls_message-message_v1 = sy-msgv1.
        ls_message-message_v2 = sy-msgv2.
        ls_message-message_v3 = sy-msgv3.
        ls_message-message_v4 = sy-msgv4.
        append ls_message to rt_messages.
        return.
      endif.
    endmethod.
    Edited by: Reyleene Hunt on May 26, 2009 10:05 AM

  • Calling a Portal Service from within a Web Dynpro DC

    Hello,
    I am trying to call a Portal Service from within a Web Dynpro development component without sucess.
    Can anyone give me some hints on the necessary steps in order to accomplish this task?
    Thanks
    Diz

    Hi Diz,
    I tried doing the same thing by following the steps as mentioned by you. Just to re iterate,
    1. Created a DC "Portal Application Standalone" project by the name myservice.
    2. Created a portal service inside myservice by the ame AmitsService.
    3. Exposed IAmitsService.class in the public part.
    4 Build and deployed the DC on server and tested it through an abstract portal component and it worked FINE !!
    Now..
    5. Created anoter DC of type WebDynPro
    6. Added SAP_JTECHS -> epbc.prtapi._api as a "Used DC" with dependency build time and runtime
    7. Specified the sharing reference in the properties as PORTAL:sap.com/myservice
    8. Tried to reference the service using the following code..
    IAmitsService portalservice=(IAmitsService)WDPortalUtils.getServiceReference(IAmitsService.KEY);
    9.Build and deployed the DC.
    10. When I run the application I am getting the following error
    Processing HTTP request to servlet [dispatcher] finished with error.
    The error is: com.sap.engine.frame.core.load.SAPNoClassDefFoundError: com/sapportals/portal/prt/service/IService
    Exception id: [000D6008418B005C0000002C00000D200004163CE6719E1D]
    PLEASE ADVISE

Maybe you are looking for

  • Failed Time Machine Backup

    My orginial MacBook got stolen a few weeks ago and luckily my insurance bought me a new one.  However, I have just managed to get hold of my external hard drive, which had my backuped time machine files on it. So I went to my files from my time machi

  • PL/SQL Associative Array as INPUT Parameter

    Hi, Just wondering if anyone out there has a good example of how to get VB.NET (using ODP.NET 9.2.0.4) to pass an Associative Array as an Input parameter to a stored procedure (not for bulk binds)? Specifically, I'm looking for an example of how a VB

  • Analyze data from LabWindows 4.0

    I have a small hydro power plant which has been controlled by a program made in LabWindows 4.1 (from 1998-1999). This program have logged a lot of information on production, waterlevels and so on for 10 years, and I have now an interest in analysing

  • InputStream partial reading problem

    Hi, I have to read a big file partially, in my function as a parameter i will have InputStream - 'is' byte[] buffer = new byte[1024]; long sentBytes = 0; int bytesRead = is.read(buffer, 0, 1024); while (bytesRead > 0) { sentBytes += bytesRead; bytesR

  • "preparing media for share" window stuck

    Sometimes when I export the "preparing media for share" window gets stuck even though the export is successful, but I cannot click on any other window and have to force quit every time. Anyone knows how to fix this?