Need to call up a webservice created in external system from SAP

Hi folks,
A web service is created in the external system and I need to access this web service from a BADI. Can you tell me how can I call this web service (the external system is giving me a URL) and how to capture the return value from the web service. Please let me know in detail.
Thanks,
Prem

Hi,
I have the same requirement and have created a new Proxy-Object, uploaded the WSDL file (locally) and Created a Logical port.
In the Logical Port under the tab Call Parameter I've defined the URL of the web-service.
Since I was not able to upload the WSDL by selecting the option URL/HTTP Destination due to error message "HTTP error (return code 400, message "ICM_HTTP_CONNECTION_FAILED")
Message no. SPRX090" so uploaded the file locally.
However, when testing the service, I didn't received a sucess message but:
<CX_AI_SYSTEM_FAULT>
<CODECONTEXT>Local</CODECONTEXT>
<CODE> ERROR_WEBSERVICE_RUNTIME_INIT </CODE>
<ERRORTEXT> Error when instantiating the Web service runtime (Error when initializing SOAP client application: ' error_text' ) </ERRORTEXT>
<LANGUAGE />
</CX_AI_SYSTEM_FAULT>
</cls:CX_AI_SYSTEM_FAULT>
What might be the Problem ?
/Manik

Similar Messages

  • Call to Web Sevice in external system from SAP CRM

    Hi,
    I have to make a call to External system from SAP CRM 5.0 system. The external system will provide a sample webservice which SAP will try to initiate
    Can you please tell me:
    1. What settings/object needs to be maintained in SAP in order to make this call.
    2. how I can make a call to this Web-Service from a BADI and pass the values to web service and also capture the returning value.
    Please explain in detail
    Thanks,
    Mike

    Mike,
    You should honestly search the SDN site for consuming web services with ABAP.  There are some good examples.
    However the general procedure is easy:
    1.  Generate an ABAP proxy using the WSDL provided to you by the external program
    2.  Configure an HTTP destination for the server of the web services (needed for HTTPS calls)
    3.  Configure the logical port for the web service using lpconfig
    4.  Write the abap code to call the webservice via the proxy.  Works very similar to FM call in my opinion.
    To expose a webservice(bapi being called from outside) you need to do a little more work
    1.  Create a web services for the RFC enabled function module via SE80
    2.  Use wsadmin and wsconfig to make the service available
    3.  Publish the service out to the UDDI as needed.
    Once again this code is pretty well documented in the standard help and SDN.  Do a simple search on ABAP proxies and you will find what you need.
    Take care,
    Stephen

  • How to call an EXE file on a remote system from SAP system?

    Hi Friends,
    I want to execute an EXE file existing on the remote system from SAP system. Could some one give me an idea of how to execute that?
    Thanx in advance,
    Ram

    Hi Ram,
    Try this
    SXPG_COMMAND_EXECUTE
    Reward if this helps,
    Satish

  • Call to webservice External (non sap) system from SAP CRM

    Hi,
    I have to make a call to External system from SAP CRM 5.0 system. The external system will provide a sample webservice which SAP will try to initiate
    Can you please tell me:
    1. What settings/object needs to be maintained in SAP in order to make this call.
    2. how I can make a call to this Web-Service from a BADI and pass the values to web service and also capture the returning value.
    Please explain in detail
    Thanks,
    Mike

    Hi,
    Check this
    Calling web service from ABAP - version 4.6C

  • Call to Web Sevice in External (non SAP) system from SAP CRM

    Hi,
    I have to make a call to External system from SAP CRM 5.0 system. The external system will provide a sample webservice which SAP will try to initiate
    Can you please tell me:
    1. What settings/object needs to be maintained in SAP in order to make this call.
    2. how I can make a call to this Web-Service from a BADI and pass the values to web service and also capture the returning value.
    Please explain in detail
    Thanks,
    Mike

    Hi Oliver,
    I have gone through the documentation and had been able to create a proxy object, uploaded the WSDL file (from local directory) and created logical port,
    However, when testing the service, I didn't received a sucess message but
    <CX_AI_SYSTEM_FAULT>
      <CODECONTEXT>Local</CODECONTEXT>
      <CODE>ERROR_WEBSERVICE_RUNTIME_INIT</CODE>
      <ERRORTEXT>Error when instantiating the Web service runtime (Error when initializing SOAP client application: ' error_text' )</ERRORTEXT>
      <LANGUAGE />
      </CX_AI_SYSTEM_FAULT>
      </cls:CX_AI_SYSTEM_FAULT>
    What might be the Problem ?

  • Fm for calling save dialouge box to save file in a system from sap

    fm for calling save dialouge box to save file in a system from sap
    Step by step of its usage pls,
    thank you,
    Regards,
    Jagrut BharatKumar Shukla

    hi
    FM is
    <b>POPUP_TO_DECIDE_LIST</b>
    USAGE:
    CASE r_ucomm.
    WHEN 'SAVE'.
    DATA: l_answer." no need to specify type
    DATA: t_spopli LIKE spopli OCCURS 0 WITH HEADER LINE.
    t_spopli-varoption = 'PDF'.
    APPEND t_spopli.
    t_spopli-varoption = 'EXCEL'.
    APPEND t_spopli .
    CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
             EXPORTING
    *          CURSORLINE               = 1
    *          MARK_FLAG                = ' '
    *          MARK_MAX                 = 1
    *          START_COL                = 0
    *          START_ROW                = 0
               textline1                = 'SELECT THE FORMAT OF THE OUTPUT'
    *          TEXTLINE2                = ' '
    *          TEXTLINE3                = ' '
               titel                    = 'SAVE AS'
    *          DISPLAY_ONLY             = ' '
            IMPORTING
              ANSWER                   =  l_answer
             tables
               t_spopli                 = t_spopli
            EXCEPTIONS
              NOT_ENOUGH_ANSWERS       = 1
              TOO_MUCH_ANSWERS         = 2
              TOO_MUCH_MARKS           = 3
              OTHERS                   = 4  .
           IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
           ENDIF.
    IF l_answer = '2'.
    CALL FUNCTION 'GUI_DOWNLOAD'
    endif.
    regards
    ravish
    <b>plz dont forget to reward points if helpful</b>

  • Calling FM in external system from XSLT

    Hi,
    I know that in XSLT interpreter provided by SAP supports calling function modules.
    I need to call FM in external system from XSLT in message mapping and its result insert into one of element result XML message.
    Do you think it is possible ?
    If so is available any documentation for that.
    Any help is appreciated.
    Thank you.
    Marian Morzol

    Hi Vijaya,
    this is very helpfull document for me. However I need some other explanation.
    Does it meen that I need to write "Helper java class" ( e.g. in text editor - Notepad) and deploy the source to to Entegration Engine directory or an Adapter Directory ( maybe using Visual Administrator).
    It is not clear for me.
    I have XI 3.0 running on Windows 2003 Professional so to copy some files to some folders should not be a problem but I need an exact guide what I have to do.
    Thank you.
    Marian

  • Create a registry key from SAP

    Hi all,
      I am trying to create a registry key from SAP. The code i am using is as follows.
    data: h_gui type ole2_object.
    data: GuiXT_active type I.
    data: root         type I value 1.
    *// Connect to desktop object
    Create Object h_gui 'SAPINFO'.
    Call Method OF h_gui 'RegCreateKeyEx'  = GuiXT_active
         Exporting
          #1 = root
          #2 = 'SOFTWARE\SAP\SAPGUI FRONT\SAP FRONTEND SERVER\CUSTOMIZE'
          #3 = 'GUIXT'.
    But the key is not getting created, Am i missing something? Please help.
    Regards,
    Hari.

    Java applets run in a "sandbox" so to speak... so you
    can't do this :)
    If you really really want to, you can purchase a
    license from Verisign, sign your applet and then (try
    to) turn off all of the security restrictions in your
    applet and then do whatever you want...I believe you can also change the permissions file - on each client.

  • Creating an RDI  file from SAP script

    Hello All,
    I would like to create an RDI file from SAP Script.
    Please can anyone let me know how do we do it programmatically.
    I am aware of the option of setting RDI parameter to 'X'.
    However my requirement is to allow user to have a print preview option and simulatenously create RDI file .
    Thanks and Regards
    Amruta

    See:
    http://discussions.apple.com/message.jspa?messageID=11535851#11535851

  • Steps to create a generic datasource from SAP CRM

    Dear Forum,
    Could you please provide me with the steps to create a generic datasource from SAP CRM
    Thanks for you time and efforts
    Regards,

    Hi,
    Initially create a view or identify the table to create generic extractions, remaining process is same in all data bases such as CRM........
    GENERIC EXTARCTIONS:
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/bi/generic%2bextraction
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d3219af2-0c01-0010-71ac-dbb4356cf4bf
    Generic Delta:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/84bf4d68-0601-0010-13b5-b062adbb3e33
    Assign points if these are useful.
    Rgs,
    I.R.K

  • BASIS Configuration needed to send an external mail from SAP Program

    Can you please help me about the BASIS configuration needed to send an external mail from SAP Program?
    Regards,
    Subhasish

    Hi Subhasish,
    Please go thru the below link.
    Re: SCOT Configuration--for external mail
    Regards,
    Lakshman.

  • Need clarification on Legal implication for creating a new plant in SAP

    Dear all,
        My customer is  having two manufacturing plant in India.
        One is DTA for domestic business and the other is EOU, 100 % Export oriented. In both plant they are manufacturing fridges.
        SAP implementation gone live on last july.
        Now they are starting Washing machine manufacturing inside the DTA plant for domestic business.  But they want to go for a new plant to be created in SAP,  they are not going to register that plant with government.
       They want that plant only for reporting purpose. I want to know will it create any leagel implecation while posting excise invoice or with Register maintanence.'
       Need your advice.
    With Regards
    R.S.Mani

    I think you were asking from SAP point of view but I would prefer to answer the practice what should be followed from manufacturer's angle.
    If you treat any place as a separate plant, the first and foremost criteria which you should look into is excise part.
    From excise point of view, you need to get concurrence from the authorities to do business with the same excise group assuming that the address is same of the existing plant.
    If address is different, then you should treat it as a separate excise group and accordingly, you need to have a separate excise group and series group and therefore, excise registers and sales tax registers will be a separate one.
    Though your question should be answered in a lengthy way, better ask the client with their range office who will be the deciding authorities.
    thanks
    G. Lakshmipathi

  • Transformation: Need for calling a custom function module on source system

    Hi Gurus,
    I need to use a custom FM residing on source system within the transformation to determine the type (e.g. posting type) of a document item. The logic is quite complex with many exceptions (many if statements) and 2 customizing & few transparent tables are in use as well in the FM.
    From my point of view, there are few options for achieving the outcome:
    1. Copy the FM logic 1:1 in transformation
    2. Transport the FM from ERP to BW system
    3. Source system delivers the info (e.g. with an extra field "posting_type")
    4. Access the FM directly via RFC/BAPI
    However, there are pros and cons for each of the alternatives:
    *Option 1*
    pros:
    cons: consistency problem, need for importing customizing tables & source tables, high maintenance effort
    *Option 2*
    pros: better consistency compared to Option 1
    cons: need for importing tables, administrative efforts
    *Option 3*
    pros: no logic is needed at BW side, no transformations means no impact on performance, high consistency, no administrative effort
    cons: structure in source system has to be changed, impact on historical records
    *Option 4*
    pros: best consistency (better than Option 3 as FM might change), no administrative effort
    cons: impact on performance during transformation
    Could you please verify my assumptions and give suggestions on solving the problem?
    Thanks a lot!
    Regards,
    Meng

    Hi Joon,
    According to me.
    If Historical data amount is so high, historical data is available in BW(at PSA level or acquisition layer or corporate memory layer) and headache to load history data(because of overload on ECC due to huge amount of data) from ECC then I will suggest combination of 3 and 4 steps.
    If fetching history data from ECC is not headache for you then go for step 3.
    Step 3 is most common approach in BW, which is easy for implementation and support.
    Regards,
    Ashish

  • Need hlep! The issue about creating a logical system!

    Hi all,
    When I create a new logical system, and T-code is BD54. My user profile is SAP_ALL and SAP_NEW. The system pop-up the Warning message as follow:
    You are not allowed to change cross-client customizing.
    I have looked it into
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/b4/b0b13bb3acef3ce10000000a11402f/frameset.htm</a>
    and the document explain the administrator role can create a logical system, but I do not know how to assign administrator role to a user.
    Could anyone tell me how to do it or other solution.
    Thanks in advance! Any help is appreciated!

    Hi Feng, Welcome to SDN.....
    <b>
    SAP_BC_BASIS_ADMIN</b> - Assign this Role to your User name in <b>SU01</b> and then try creating Logical system, Also check the Client setting in SCC4(such as the client Role, Cross-client object changes...). Hope this Resolves your issue.
    Cheers...
    Santosh.
    <i><b>Reward Points if Answer  is Usefull</b></i>

  • Calling a web service in external system from SRM

    Hi folks,
    A web service is created in the external system and I need to access this web service from a BADI. Can you tell me how can I call this web service (the external system is giving me a URL) and how I'll get a return. Please let me know in detail.
    Thanks,
    Prem

    Prem,
    Hi. You can call the service via HTTP protocol. Pass them values (SET_DATA), and receive a response (GET_DATA), via xml/html.
    In your code you would need to create the xml data to pass them, and evaluate the returned xml.
    Process...
    Data setup
    1) Create the XML to send them
    Working with the external service
    2) Open the HTTP connection
    2a) cl_http_client=>create_by_url (IF_HTTP_CLIENT)
    2b) lr_client->authenticate
    3) Call the to send them the XML
    3a) lr_client->request->set_data
    3b) lr_client->send
    4) Call the lr_client->receive to return the response
    5) Close the connection lr_client->close
    Data evaluate
    6) Evaluation the returned XML and process.
    Hope this helps
    Cheers
    Rob
    Code example below.. (There are loads of SAP examples depending on which release you are on).
    Process the call to the HTTP client - logic copied from RSHTML01     *
    Open IF_HTTP_CLIENT
      call method cl_http_client=>create_by_url
        exporting
          url                = l_url
        importing
          client             = lr_client
        exceptions
          argument_not_found = 1
          plugin_not_active  = 2
          internal_error     = 3
          others             = 4.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                   with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
          raising oops.
      endif.
    Authenticate the user
      if not g_int_type-usr is initial.
        move: g_int_type-usr      to l_user,
              g_int_type-password to l_password.
        call method lr_client->authenticate
          exporting
            username = l_user
            password = l_password.
      endif.
    Allow for Cookies
      lr_client->propertytype_accept_cookie = lr_client->co_enabled.
    Set the server protocol
      select single gsval into l_server_protocol
        from z77s0
          where grpid = c_grpid
          and   semid = c_server_protocol.
      if sy-subrc eq 0
      and not l_server_protocol is initial.
        move l_server_protocol to l_st_server_protocol.
        call method lr_client->request->set_header_field
          exporting
            name  = '~server_protocol'
            value = l_st_server_protocol.
      endif.
      Send out the XML
      Set body to XML data
        lr_client->request->set_data( g_xxml ).
        save_xml( i_role = cl_xml_document=>c_role_oreq ).
        l_request_length = xstrlen( g_xxml ).
      If Data is sent through then we need certain flags set
        lr_client->request->set_header_field(
                                   name = 'Content-Type'
                                   value = zcl_tem_bsp=>c_xml_content ).
        call method lr_client->request->set_header_field
          exporting
            name  = '~request_method'
            value = 'POST'.
      Set length of string to the header fields
        if not l_request_length is initial.
          move l_request_length to l_st_request_length.
          lr_client->request->set_header_field(
                                    name = 'content-length'
                                    value = l_st_request_length ).
        endif.
      Send the request
        call method lr_client->send
          exceptions
            http_communication_failure = 1
            http_invalid_state         = 2
            http_processing_failed     = 3
            http_invalid_timeout       = 4
            others                     = 5.
        check_for_error 'Send'.
      Receive the response
        call method lr_client->receive
          exceptions
            http_communication_failure = 1
            http_invalid_state         = 2
            http_processing_failed     = 3
            others                     = 4.
        check_for_error 'Receive'.
      Determined returned XML or HTML
        g_xxml = lr_client->response->get_data(  ).
      Determine the header fields for failure validation
        if lr_client->response->get_header_field( '~status_code' )
              between 200 and 299.
          save_xml( i_role = cl_xml_document=>c_role_ires ).
        else.
          l_status_code =
            lr_client->response->get_header_field( '~status_code' ).
          l_descript_1 =
            lr_client->response->get_header_field( 'error' ).
          l_descript_2 =
            lr_client->response->get_header_field( 'errortext' ).

Maybe you are looking for