Calling application's URL from Notes Portlet

Hello,
We have been able to successfully configure Lotus Notes- External Application Portlet using JPDK. Now, we are creating a link on this Notes portlet that will take the user to the corresponding external application.
For this, we have called a self made servlet that will direct the user to the application's URL. But we are unable to pass confidential user information, like password, to this servlet due to which the link is opening application's login page.
We want to utilize the user information available in LotusProvider.java, provider used for creating the notes portlet, instead of asking user to login again.
Any prompt comment or suggestion over this is eagerly awaited.
Thanks & Regards,

Please post this question in the PDK forum:
http://forums.oracle.com/forums/forum.jsp?forum=4

Similar Messages

  • Error while executing webdynpro application : he URL does not contain full

    Dear All,
    I had installed SAP in my system.But when I am testing webdynpro application I am getting the belwo error. Please let me knwo what setting I need to do to avoid this error.
    Error when processing your request
    What has happened?
    The URL http://hari:8000/sap/bc/webdynpro/sap/z_test_pg was not called due to an error.
    Note
    The following error text was processed in the system DEV : The URL does not contain full domain specification (hari statt hari.<domain>.<ext>).
    The error occurred on the application server HARI_DEV_00 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: CHECK of program CX_FQDN=======================CP
    Method: LATE_CONSTRUCTOR of program CL_WDR_UCF====================CP
    Method: HANDLE_REQUEST of program CL_WDR_UCF====================CP
    Method: IF_HTTP_EXTENSION~HANDLE_REQUEST of program CL_WDR_MAIN_TASK==============CP
    Method: EXECUTE_REQUEST of program CL_HTTP_SERVER================CP
    Function: HTTP_DISPATCH_REQUEST of program SAPLHTTP_RUNTIME
    Module: %_HTTP_START of program SAPMHTTP
    What can I do?
    If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system DEV in transaction ST22.
    If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server HARI_DEV_00 in transaction SM21.
    If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 0 in transaction ST11 on the application server HARI_DEV_00 . In some situations, you may also need to analyze the trace files of other work processes.
    If you do not yet have a user ID, contact your system administrator.
    Error code: ICF-IE-http -c: 800 -u: SAPUSER -l: E -s: DEV -i: HARI_DEV_00 -w: 0 -d: 20080109 -t: 073032 -v: RABAX_STATE -e: UNCAUGHT_EXCEPTION
    HTTP 500 - Internal Server Error
    Your SAP Internet Communication Framework Team

    Hello,
    Little extract from the SAP online help :
    In Web Dynpro ABAP it is imperative that a client browser with a fully qualified domain name (FQDN) has access to the AS-ABAP. For this reason the full URL must be assigned to a Web Dynpro ABAP application when it is called. The URL must not be shortened (for instance, no domain specification).
    More info on how you should do this can be found here :
    [Click|http://help.sap.com/saphelp_nw70/helpdata/en/67/be9442572e1231e10000000a1550b0/content.htm]
    This will solve your problem.
    Success.
    Wim

  • Call pl/sql API from jsp portlets

    HI ALL!
    I need to ask from java developers for portal application,How can i call pl/sql API from my jsp portlets,What enhancements in code should i have to follow in addition to use JDBC,I read in FAQ abt portal some thing abt pl/sql wrapper but that was for complex scenarios ,what if my requirement is to call only API functions for contentareas,items,previleges etc.I really need help.
    thx
    Alizeh

    Hi
    thanks for ur reply but where were u a month ago,i really started to think that my question was enough stupid not to be answered.At present i have done with jdbc and pl/sql calls ,current concern is for sessions as i see that session id remains same when one user logs out and another logs in(if browser is not closed), same sessionid persists in my java portlet for both users.Is this an expected behaviour?? but yes new session id appears if browser is closed.
    .session clear for both application and sso after logout is checked
    .broser is set to check for new version each visit for the page
    portal version is 3.0.9.8.0 ,we r planning patch to 3.0.9.8.3 soon
    once again thx
    Alizeh

  • How can I redirect to an URL from a portlet?

    I'm using Bea Workshop 8.1 and trying to perform a redirect from inside a portlet
    using HTTPServletResponse.sendRedirect(String url)... but nothing happens ((
    I tryed the same trick with a simple JSP, and that's ok, but portal pages obviously
    catch the redirect somehow.
    Please could you tell the correct way of redirecting the whole browser to another
    page from inside portlets?
    Thanks!!!

    Backing files is an option. If you need to do it from the controller, you
    could use the Forward object. The forward object constructor can take a URL
    object as a parameter. This should do the trick.
    Regards,
    Kunal
    "Panji Aryaputra" <[email protected]> wrote in message
    news:[email protected]..
    Hi, you have to use backing file to get what you want. In my case, I am
    using a page backing file. Perhaps a portlet backing file can do thatalso.
    Cmiiw, the redirect header makes the page redirected only if the httpheader
    has not been sent to client. In your case, the header has been sent (i.e.
    the portal header.jsp has been displayed, etc). So the header need to be
    sent before anything else sent to client browser. This is where thebacking
    file comes handy.
    hth
    panji.a
    "A Hagen" <[email protected]> wrote in message
    news:[email protected]..
    I'm using Bea Workshop 8.1 and trying to perform a redirect from inside
    a
    portlet
    using HTTPServletResponse.sendRedirect(String url)... but nothing
    happens
    I tryed the same trick with a simple JSP, and that's ok, but portal
    pages
    obviously
    catch the redirect somehow.
    Please could you tell the correct way of redirecting the whole browser
    to
    another
    page from inside portlets?
    Thanks!!!

  • Calling a shell script from a portlet

    Hello,
    I need to execute a unix shell when I click on the submit button from a jsp portlet. Pls. let me know if this is possible.
    thanks!

    Actually I am having 4 Shell Scripts which I want to
    call at a time.
    1)run_graph.sh
    2)run_report.sh
    3)web_report.sh
    4)mktg_report.sh
    Now I want to call all the four from a Java Program at
    the same timeWell... if you truly want to run them at the same time, you'll need to look into multithreading.
    What I suspect you really want is to run them in the above order within the same Java program.
    String pathToScripts = "/etc/path/to/your/scripts/";
    String[] scripts = {"run_graph.sh", "run_report.sh", "web_report.sh", "mktg_report.sh"};
    Process p = null;
    for (int i=0; i<scripts.length; i++){
        p = Runtime.getRuntime().exec(pathToScripts + scripts);
    p.waitFor();
    System.out.println(scripts[i] + " completed with exit code " + p.exitValue());
    If you want to capture output or send input for the above processes, see the java.lang.Process and java.lang.Runtime API docs:
    http://java.sun.com/j2se/1.3/docs/api/java/lang/Runtime.html
    http://java.sun.com/j2se/1.3/docs/api/java/lang/Process.html
    Hope this helps,
    -Scott

  • Calling a snapshot query from a portlet?

    From a portlet, I want to be able to use the EDK to get the results of a snapshot query and display these results in my own manner. Any ideas on how to do this? Looking in the nDocs, I can't seem to find any class in the Plumtree.Remote.PRC namespace to assist with this.
    Thanks in advance,
    Dan.

    First - I have to say I love the direction Plumtree is going with their products. I don't want to stuff below to be perceived as whining - just portraying our needs. The more I learn about 5.x the more impressed I am. That said...
    We'd be very interested in this as well. Part of our 4.5 WS -> 5.x upgrade analysis exposed some of the differences in publications and snapshot queries. Having a portlet interface into snapshot query properties/presentation would be really nice in addressing things the user community will see as "losses" in functionality. Some of the things our business analysts are concerned about:
    Maximum 10 items in a snapshot query: snapshot queries are a great way to surface data from a complex/distributed taxonomy. The 10 item limit make this more difficult.Multi-column display: The staff want to be able to control the # columns used to present the snapshot results.Porlet per snapshot query: The staff would like to be able to present multiple snapshot queries in a single portlet.General snapshot API: I could actually see this being pretty powerful in providing a way to leverage snapshots to provide "in context" results within a portlet. The reason I like it over a general search API is I can allow an admin to change the search attributes otuside of the code.Eric

  • Calling Web Dynpro application or URL from POWL

    Hi Friends,
    I need to call a Web Dynpro appl from a custom POWL. In my feeder class's method HANDLE_ACTION, i am not getting how to use e_portal_actions parameter for calling a URL of WD application. Pls help me out in this.
    Regards,
    Saud

    You can create a launchpad application through tran LPD_CUST and then in repsective method of POWL class you can launch your web dynpro application like this
    DATA ls_appl_param              TYPE APB_LPD_S_PARAMS.
      DATA lt_appl_param              TYPE APB_LPD_T_PARAMS.
      DATA lt_lpd_content             TYPE apb_lpd_t_content.
      DATA lr_lpd_content             TYPE REF TO apb_lpd_s_content.
      DATA lt_lpd_appl_params         TYPE apb_lpd_t_params.
      DATA lr_lpd_handle              TYPE REF TO cl_apb_launchpad_api.
      DATA lo_component     TYPE REF TO if_wd_component.
      DATA lr_provider      TYPE REF TO if_apb_lpd_provider.
      "Get launchpad handle
    lo_component = wd_comp_controller->wd_get_api( ).
    cl_apb_launchpad_api=>read_for_display( EXPORTING id_role = cl_oif_ui_assist=>sc_lpd_roles "Role Name
                                                       id_instance = cl_oif_ui_assist=>sc_lpd_instance " Instance Name for Launchpad
                                                       id_langu = sy-langu
                                                       ir_provider = lr_provider
                                                       ir_wd_component = lo_component
                                             RECEIVING er_launchpad = lr_lpd_handle ).
      CHECK lr_lpd_handle  IS BOUND.
      lt_lpd_content = lr_lpd_handle->get_content( ).
      READ TABLE lt_lpd_content REFERENCE INTO lr_lpd_content
                                WITH KEY link_text = cl_oif_ui_assist=>sc_lpd_link_text. "Link text for launchpad
          ls_appl_param-key = cl_oif_ui_assist=>wda_config_key.  "'SAP-WD-CONFIGID'. "app conf if any
          ls_appl_param-value = cl_oif_ui_assist=>CREATE_CONFIG_ID. "'MDG_OIF_CREATE_CONF'.
          APPEND ls_appl_param TO lt_appl_param.
          lt_lpd_appl_params = lr_lpd_content->application_parameter.
          "launch application
          lr_lpd_handle->launch_application(
            id_application_id         = lr_lpd_content->application_id
            it_application_parameters = lt_lpd_appl_params
            it_business_parameters =  lt_appl_param

  • The web application at [URL] could not be found.

    Hi,
    I am trying to run a simple code like finding all the users in the SharePoint site.
    But I am seeing this error constantly no matter what I do!!
    The Web application at [https://xxxxxx] could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application.
    I've looked into all the answers on the forums but still stuck with this error.
    I am a beginner in SharePoint, and I am really not sure about the AAM and IIS settings that needs to be set inorder to get rid of this error.
    If someone could point me in right direction that targets beginners that would be really helpful.
    Also, I noticed that my IIS is blank on the dev server that I am working on with Visual Studio and SharePoint installed on it. 
    Is this something that is causing this error?
    Thanks

    Note: you need to enter the SharePoint site URL 
    To authenticate:
    f you are connecting to office 365 then use the following code:
    using (srcContext = new ClientContext(txtUrlFrom.Text))
    SecureString passWord = new SecureString();
    foreach (char c in txtPasswordFrom.Text.ToCharArray()) passWord.AppendChar(c);
    srcContext.Credentials = new SharePointOnlineCredentials(txtUserNameFrom.Text, passWord);
    if you are using on premise SharePoint 2013 use this code:
    using (srcContext = new ClientContext(txtUrlFrom.Text))
    NetworkCredential credentials = new NetworkCredential(txtUserNameFrom.Text, txtPasswordFrom.Text);
    Example to retrieve data:
    Web srcWeb = srcContext.Web;
    List srcList = srcWeb.Lists.GetByTitle(srcLibrary);
    ListItemCollection col = srcList.GetItems(new CamlQuery());
    srcContext.Load(srcList.RootFolder);
    srcContext.Load(srcList.RootFolder.Folders);
    srcContext.Load(col);
    srcContext.ExecuteQuery();
    to retrieve users:
    Private void GetData(object obj)
    MyArgs args = obj as MyArgs;
    try
    if (args == null)
    return; // called without parameters or invalid type
    using (ClientContext clientContext = new ClientContext(args.URL))
    // clientContext.AuthenticationMode = ClientAuthenticationMode.;
    NetworkCredential credentials = new NetworkCredential(args.UserName, args.Password, args.Domain);
    clientContext.Credentials = credentials;
    RoleAssignmentCollection roles = clientContext.Web.RoleAssignments;
    ListViewItem lvi;
    ListViewItem.ListViewSubItem lvsi;
    ListViewItem lvigroup;
    ListViewItem.ListViewSubItem lvsigroup;
    clientContext.Load(roles);
    clientContext.ExecuteQuery();
    foreach (RoleAssignment orole in roles)
    clientContext.Load(orole.Member);
    clientContext.ExecuteQuery();
    //name
    //MessageBox.Show(orole.Member.LoginName);
    lvi = new ListViewItem();
    lvi.Text = orole.Member.LoginName;
    lvsi = new ListViewItem.ListViewSubItem();
    lvsi.Text = orole.Member.PrincipalType.ToString();
    lvi.SubItems.Add(lvsi);
    //get the type group or user
    // MessageBox.Show(orole.Member.PrincipalType.ToString());
    if (orole.Member.PrincipalType.ToString() == "SharePointGroup")
    lvigroup = new ListViewItem();
    lvigroup.Text = orole.Member.LoginName;
    // args.GroupsList.Items.Add(lvigroup);
    DoUpdate1(lvigroup);
    Group group = clientContext.Web.SiteGroups.GetById(orole.Member.Id);
    UserCollection collUser = group.Users;
    clientContext.Load(collUser);
    clientContext.ExecuteQuery();
    foreach (User oUser in collUser)
    lvigroup = new ListViewItem();
    lvigroup.Text = "";
    lvsigroup = new ListViewItem.ListViewSubItem();
    lvsigroup.Text = oUser.LoginName;
    lvigroup.SubItems.Add(lvsigroup);
    //args.GroupsList.Items.Add(lvigroup);
    DoUpdate1(lvigroup);
    // MessageBox.Show(oUser.LoginName);
    RoleDefinitionBindingCollection roleDefsbindings = null;
    roleDefsbindings = orole.RoleDefinitionBindings;
    clientContext.Load(roleDefsbindings);
    clientContext.ExecuteQuery();
    //permission level
    lvsi = new ListViewItem.ListViewSubItem();
    string permissionsstr = string.Empty;
    for (int i = 0; i < roleDefsbindings.Count; i++)
    if (i == roleDefsbindings.Count - 1)
    permissionsstr = permissionsstr += roleDefsbindings[i].Name;
    else
    permissionsstr = permissionsstr += roleDefsbindings[i].Name + ", ";
    lvsi.Text = permissionsstr;
    lvi.SubItems.Add(lvsi);
    // args.PermissionsList.Items.Add(lvi);
    DoUpdate2(lvi);
    catch (Exception ex)
    MessageBox.Show(ex.Message);
    finally
    DoUpdate3();
    Kind Regards, John Naguib Technical Consultant/Architect MCITP, MCPD, MCTS, MCT, TOGAF 9 Foundation

  • Calling User Preference event from within portlet

    Not sure if anybody else has looked at this but we are in the process of rolling out a new G6 Portal and on a number of portlets want to take advantage of the ability to turn off the portlet header. However in doing so you loose access to the inbuilt support for providing access to the User Preference, if one has been defined as part of the portlet definition. This is relevant on a number of portelts that we want to migrate to the new G6 portal.
    So rather than try and re-invent this from scratch using a different 'link' in the portlet itself we were wondering if you can 'call' the inbuilt user preference functionality from within the portlet code. i.e. When a user clicks on the link within the portlet it performs exactly the same action and interaction within the portal as if they clicked on the User Preference icon in the portlet header.
    We have had a look around to see if this is possible but not come up with anything yet so thought we would seek comments from this forum.
    Many thanks in advance,
    Ross Ellard
    Devonport Management Ltd

    Hey Ross,
    I just realized I have to do the same thing on a very limited scale (3-5 portlets).
    SO I just wrote a little bit of (shoddy) code to show community preferences based on group membership.
    It works for me, but I get the feeling your looking for something like communityactionsdata geared toward portlets, which unfortunately I dont think exists. If you put it in as an enhancement request then support will contact you to discuss your options.
    Here is the code that I'm using for now:
    <pt:standard.choose>
    <pt:standard.when pt:test="stringToACLGroup('group=1,755,760;').isMember($currentuser)">
    <immg border="0" src="htttp://localhost/imageserver/plumtree/portal/public/img/action_portlet_edit.gif">
    </pt:standard.when>
    </pt:standard.choose>
    The only problem is that the preferences submit button refreshes the popup to the portal. So I might need to tweak that a hair so it just closes the popup.
    edited to prevent the forum from trying to use the code I provided
    Message was edited by:
    geoffgarcia

  • I can't call up a URL from within a component?

    Hi all. Hope you can help.
    I have a flash site that contains a component. The component
    is for a scroll bar that shows image slices of my work. The image
    slices are buttons that when clicked should call up a seperate web
    (URL) window to display the work. However when clicked the button
    doesn't work. The button im using is on (release) {getURL
    ("work.htm")} this is fom the browser/network submenu in the global
    functions menu. I think that I should be looking in the components
    menu but have no idea what function or code to use.
    Any advice would be massively helpful.
    Cheers
    Rob

    The images are added within the component as buttons. I don't
    know how to check wether the button is accessable or not? IF you
    could advise on this that would be really good. I don't think its
    tracing anything.
    Basically just want it to open a javascript URL window.
    Cheers in advance
    Rob

  • How can you tell where a call is actually coming from not just where the phone was activated?

    me and my wife check our account and we are wondering how we can find out where our son is calling from it only puts the town where we originally signed up with Verizon,help please!!!!

    If this is a Microsoft based phone AND you have location awareness turned on AND they have this phone tied to a Microsoft account AND you have access to all of the account information, then there is a Microsoft web site that will show you the current location of the phone.  Otherwise MrGecko is pretty much dead on.  You would have to have an app on the phone, or pay Verizon more money to give you the location.

  • Calling an external URL from cProject

    Hello PPM Experts,
    We want few of the cProject objects (e.g. checklist items, tasks) to point out to an external web pages (i.e. URL).
    I guess I need to use "object links" tab for this and define a custom object type (say, ZEXTURL) in the IMG node 'Define Object Types for Object Links'.
    Is this a correct approach or is there any other way?
    Also, for the object link ZEXTURL, please let me know what should I enter in following fields of the IMG node.
    Key
    Identification
    Proxy Class
    Web Server
    We want to achieve this without any coding / custom development. Please let me know whether that would be possible.
    Regards,
    Bhushan

    Hello Bhushan,
    Object links are intended for links with other SAP modules or systems. For example, you can link a task in PPM with a PS Network in an ERP. PPM and ERP can be either installed together or on different SAP systems. In order to find development-free object links possibilities, search for "CL_R3_OLR3*" classes in your system.
    My point is, if you want to create a custom object type (ZEXTURL), you'll have to write some coding. Although, in the Object Links database table, the actual information related to an object (E.g. some master data fields for a Material) is saved in xml format. Therefore you don't need an additional database table, but you'll have to create your OLR3 class.
    To be honest, I only had to do this once. Even though I had the job done, it might be that my solution isn't optimal.
    Good luck and if you find an alternative, please share it!
    Tudor

  • Code to call another Page Flow URL from one page flow URL

    Can anyone send me the code to call another pageflow url from one page flow URL.

    thanks...
    In my appication there is no Form page. Only based on Canvas in that ,
    i implemented Text box, Text Field And Drop down list etc..by own coding without using any abstract methods.
    I did every thing with in single Midlet file.While developng goes on i got the problem ,
    Like "your application exceeds the memorylimit you cant
    use more than 32Kb of byte code in Canvas"...
    So the application is not opened.
    I tried to call the next file in same package to proceed, i got it. codition goes to next file, but its not return back to the Main(MIDlet) file, throws the excepton as "Security exception".
    How to solve this problem,is any other way? please...

  • Call url from ABAP program

    Hi friends,
    Can we call a web URL from a ABAP program?
    Is there anyway its possible ? if yes how?
    Please provide the solution.
    Thanks & Regards
    kapil

    Hi Kapil,
    <b>Look at the below example program:-</b>
    REPORT  zget_mayors_for_cities.
    DATA: it_citymayors TYPE TABLE OF zcitymayors,
          wa_citymayors LIKE LINE OF it_citymayors,
          mayor TYPE full_name,
          trash TYPE string.
    PARAMETERS: s_city TYPE s_city LOWER CASE.
    SELECT * FROM zcitymayors INTO TABLE it_citymayors
      WHERE city LIKE s_city.
    * HTTP Client according to
    * /people/thomas.jung3/blog/2005/07/01/bsp-create-a-weather-magnet-using-xml-feed-from-weathercom
    DATA: client TYPE REF TO if_http_client,
          <b>url TYPE string,</b>
          xml TYPE xstring,
          c_xml TYPE string,
          city TYPE string.
    * Converter
    DATA: l_convin   TYPE REF TO cl_abap_conv_in_ce.
    LOOP AT it_citymayors INTO wa_citymayors.
    * Use the Progress Indicator to show the user which City is processed
      CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
        EXPORTING
          percentage = sy-index
          text       = wa_citymayors-city.
      city = wa_citymayors-city.
    * Spaces have to be replaced by _ in the URL
      REPLACE FIRST OCCURRENCE OF space IN city WITH '_'.
    <b>  CONCATENATE
        'http://de.wikipedia.org/wiki/Spezial:Export/' city
           INTO url.</b>
    ****Create the HTTP client
      TRY.
    <b>      CALL METHOD cl_http_client=>create_by_url
            EXPORTING
              url    = url
            IMPORTING
              client = client
            EXCEPTIONS
              OTHERS = 1.</b>
          client->send( ).
          client->receive( ).
          xml = client->response->get_data( ).
          client->close( ).
        CATCH cx_root.
          WRITE: / 'HTTP Connection error: ', city.
      ENDTRY.
    * Wikipedia does not provide a encoding with the returned XML
    * so we have to do the conversion manually
      TRY.
          CALL METHOD cl_abap_conv_in_ce=>create
            EXPORTING
              encoding = 'UTF-8'
              input    = xml
              endian   = 'L'
            RECEIVING
              conv     = l_convin.
          CALL METHOD l_convin->read
            IMPORTING
              data = c_xml.
        CATCH cx_root.
          WRITE: / 'Problem during Character conversion: ', city.
      ENDTRY.
    ****Transform XML to ABAP Values
      TRY.
          CALL TRANSFORMATION zwikipedia_mayor_to_abap
          SOURCE XML c_xml
          RESULT mayor = mayor.
        CATCH cx_root.
          WRITE: / 'Data loss during transformation: ', city.
      ENDTRY.
    * Some Mayors already have pecial Pages
      REPLACE FIRST OCCURRENCE OF '[[' IN mayor WITH ''.
      REPLACE FIRST OCCURRENCE OF ']]' IN mayor WITH ''.
    * Some Mayors are members of a Party
      SPLIT mayor AT '(' INTO mayor trash.
      wa_citymayors-mayor = mayor.
      WRITE: / wa_citymayors-city.
    * Update Database
      IF NOT wa_citymayors-mayor IS INITIAL.
        UPDATE zcitymayors FROM wa_citymayors.
        WRITE: wa_citymayors-mayor.
      ENDIF.
    ENDLOOP.
    Look at the below thread for more info:-
    /people/gregor.wolf3/blog/2006/06/29/use-data-from-wikipedia
    Regards
    Sudheer

  • Call a servlet from Faces Portlet in Websphere

    Hi All,
    I have created a JSR-168 Faces Portlet project and using RAD(IDE) and WebSphere Portal server.
    I want to call a servlet from my jsf portlet.But i do not know where to place my servlet in the project directory.And how to invoke a call to my servlet from my portlet.
    Please help me find an answer.
    Best Regards,
    Pallavi

    hi Pallavi,
    Yes you can do that, what you have to do is you can get the ExternalFacesContext and forward your request to the servlet, you have entry for your servlet in web.xml...
    I am sure about it but you can try this
    Hope it will work.
    Surya

Maybe you are looking for