Calling a web service in ABAP

Hello Experts!
After I am assuming the SOAP Experts at the SOAP Forum
are being already on christmas vacation
I saw no other possiblitiy to post my question right here.
I have created a web service through:
Open the affected  function Module  .
Choose Utilities  -> More Utilities  -> Creating a Web Service  -> From Function Module.
Later you can test it with SOAMANAGER etc.
The goal is now (requirement)
Calling a web service in ABAP.
How can I generally call a (eg .above created by me ) webservice with abap which is existing on the sap system (Web Services which are generated from Function Modules)
Has really nobody such a problem ever before ?
Regards
ertas ilhan

Michael thank you very much.
You are saying:
The easiest way to do it is with the WSDL file that you'll get from the existing Web Service. In your proxy class it will generate a method which you can then call within your program to consume that web service.
I understand the first part with the WSDL file but the second part it is unclear to me with
In your proxy class it will generate a method which you can then call within your program to consume that web service
Can you please explain me this more detailed.
Thanks
ertas

Similar Messages

  • Error when calling Java Web Services from ABAP.

    Hello experts:
        In my project, I will call Java Web Services with ABAP coding. With WSDL, I generated a proxy class and created a HTTP connection (t-code: SM59) and a logical port (t-code:lpconfig) for this proxy class. But when running, I would receive the folllowing errors:
       SOAP:1.023 SRT: Processing error in Internet Communication Framework: ("ICF Error when receiving the response: HTTP COMMUNICATION FAILURE")
       If I used HTTPS, there is no problem.
    Regards
    Bob

    Hi Bob,
    It might be the possibility that your java web server is configured to listen only on HTTPS.
    If your HTTPS is working fine, then first check with your JAVA server for HTTP connectivity, then try it calling through ABAP.
    Regards,
    Piyush

  • Call a web service in ABAP - how to do LPCONFIG?

    I have searched through OSS, SAP help and SDN - and I see the answer if I call a web service from Java - but I cannot find the answer if I call a web service through normal ABAP in R/3.
    I apologize if I am asking the same question again or if it is already there and I am just overlooking it.
    I am creating a client proxy in R/3 to call an outside web service through ABAP.
    I create the client proxy in our test system using SE80.
    I create a logical port using LPCONFIG to point at the test web service on the other system.
    I code the ABAP program - and everything works great.
    I transport the client proxy - and I transport the LPCONFIG information.
    Now I get into production - when I do transaction LPCONFIG to change the URL of the web service to be their production web service URL instead of their test web service URL - it asks for the system to be opened.
    Like it wants to create a transport. The basis people would have to open the system to be modified.  Which at least in our shop is not something we do.
    Here is the error:
      Message no. TK430
      The system administrator has set your logon client to the 'not modifiable' status.
      Client-specific objects can not be changed in this client.
      Contact the system administrator.
      For more information, see the SAP Library under Change and Transport System.
    For an ABAP program in R/3 using a client proxy - how do I call a test service in our test r/3 system and a production web service in production R/3 system without changing my ABAP code?
    Should this be done through LPCONFIG?
    Or what am I missing?
    Thanks for your help.
    Scott Overmeyer

    Hi Scott,
    Please refer to following URL
    http://help.sap.com/saphelp_nw04/helpdata/en/16/285d32996b25428dc2eedf2b0eadd8/content.htm
    I think you are using the second of the following 3 approaches mentioned in above documentation and so credential configuration is not available at run-time.
    Please check if this is helpful to you. If you have already looked at this then please ignore this message.
    There are three ways of configuring the call address of the Web service:
    ●     As HTTP destination: Select an RFC destination of type G (HTTP connection to an external server) or type H (HTTP connection to the SAP System) from transaction SM59. The HTTP destination approves the configuration of the logon procedure, encryption, and state management. This is the preferred access procedure.
    ●     As URL: The URL of the Web service is written to the corresponding input field when you create the logical port. The disadvantage of this procedure is that, with the exception of the URL, no other parameters for logging on, encryption, or state management can be configured. This is possible only for Web services that do not require a logon procedure, encryption, or state management.
    ●     As local path prefix: This access procedure is only intended for accessing your own system. Here you call the default RFC destination NONE to address your own server. The specified local path prefix is used to identify the called Web service.
    Regards,
    Vandana.

  • Calling external web service from ABAP Program

    Hi All,
    Can somebody point me to the documentation where how to call an external (3rd party) web service from ABAP program is explained?
    Thanks & Regards,
    -Smita

    which version of R/3 you are using. if you are on was 6.40 its very simple, there are delivered tools to generate client proxy for consuming webservice. if you are on wa 6.20 you can use cl_http_client to achieve the same. check out the following weblogs.
    /people/durairaj.athavanraja/blog/2005/07/12/send-sms-to-india-from-abap
    /people/thomas.jung3/blog/2005/05/13/calling-webservices-from-abap-via-https
    /people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
    Regards
    Raja

  • Call a Web Service in ABAP 7.0

    Hi Experts,
    I have to write a ABAP program (in ABAP 7.0) to call a CAF Web Service. I could do it successfully. However the scenario is to call the CAF web service and forget about the response i.e. Asynchronous call is required. The call which I am making is synchronous and ABAP program is waiting for CAF service to return after processing of thousands of records which is taking few minutes. I do not want the program to wait till that much of time.
    I changed the wsdl, used to create the Proxy Class in ABAP, not to contain any output message so that there is no exporting parameters generated for the method to be called asynchronously. The CAF method is also having the return type as void. Still the program waits for CAF to complete the processing.
    Can you please guide me to accomplish this asynchronous call to the webservice?
    Thanks in advance.
    Regards,
    Vaishali Shinde.

    hi
    verify the following link
    http://help.sap.com/saphelp_nw04/helpdata/en/f9/55e641fb6e3f5de10000000a1550b0/frameset.htm
    regards
    sreelatha gullapalli

  • Calling a web service from abap

    Hi all,
    I want to call a webservice from ABAP.
    In my report i use the below code .
    web_rul =' http://test.asmx'.
    CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL
             EXPORTING
             URL                = WEB_URL
             IMPORTING
             CLIENT             = CLIENT
             EXCEPTIONS
             ARGUMENT_NOT_FOUND = 1
             PLUGIN_NOT_ACTIVE  = 2
             INTERNAL_ERROR     = 3
             OTHERS             = 4.
             CLIENT->REQUEST->SET_HEADER_FIELD( NAME  = '~REQUEST_METHOD' VALUE = 'GET' ).
             CLIENT->SEND( ).
             CALL METHOD CLIENT->RECEIVE
             EXCEPTIONS
             HTTP_COMMUNICATION_FAILURE = 1
             HTTP_INVALID_STATE         = 2
             HTTP_PROCESSING_FAILED     = 3
             OTHERS                     = 4.
             RET_DATA = CLIENT->RESPONSE->GET_CDATA( ).
             REPLACE  ALL OCCURRENCES OF '&LT;' IN RET_DATA WITH '<' .
             REPLACE ALL OCCURRENCES OF '&GT;' IN RET_DATA WITH '>' .
    Please correct me if my approach is wrong. when i execute the report the value in ret_Data is
    ####<html>####    <head><link rel="alternate" type="text/xml" href="test.asmx?disco" />####    <style type="text/css">##    ####BODY { color: #000000; background-color: white; font-family: Verdana; margin-left: 0px; margin-top: 0px
    what is the mistake in this. how should i call the webservice from abap.
    Regards,
    Subasree

    Hi,
    Here is a sample code I've been using for CL_HTTP_CLIENT.
    PARAMETERS  pa_symbl TYPE string.
    CONSTANTS:           
                 cv_host TYPE string VALUE 'www.webservicex.net',
                 cv_host1 TYPE string VALUE 'http://www.webservicex.net:80',
                 cv_service TYPE string VALUE '80',
                 cv_soapaction TYPE string VALUE 'http://www.webserviceX.NET/GetQuote'.
    DATA:   li_client TYPE REF TO if_http_client,
                 lv_path TYPE string VALUE '/stockquote.asmx/GetQuote?symbol=',
                 lv_tmp TYPE string.
    CL_HTTP_CLIENT=>CREATE(
         EXPORTING
           HOST = cv_host
           SERVICE = cv_service
           SCHEME = '1'
         IMPORTING
           CLIENT = li_client
         EXCEPTIONS
           ARGUMENT_NOT_FOUND = 1
           INTERNAL_ERROR = 2
           PLUGIN_NOT_ACTIVE = 3
           OTHERS = 4 ).
    *CL_HTTP_CLIENT=>CREATE_BY_URL(
    *  EXPORTING
    *     URL = cv_host1
    *  IMPORTING
    *     CLIENT = li_client
    *  EXCEPTIONS
    *     ARGUMENT_NOT_FOUND = 1
    *     INTERNAL_ERROR = 2
    *     PLUGIN_NOT_ACTIVE = 3
    *     OTHERS = 4 ).
    CONDENSE pa_symbl.
    CONCATENATE lv_path pa_symbl INTO lv_path.
    li_client->REQUEST->SET_HEADER_FIELD(
       EXPORTING
         NAME = '`~request_method'
         VALUE = 'GET' ).
    li_client->REQUEST->SET_HEADER_FIELD(
       EXPORTING
         NAME = '~server_protocol'
         VALUE = 'HTTP/1.1' ).
    li_client->REQUEST->SET_HEADER_FIELD(
       EXPORTING
         NAME = '~request_uri'
         VALUE = lv_path ).
    li_client->SEND(        "sends the HTTP REQUEST
       EXPORTING
         TIMEOUT = 300
       EXCEPTIONS
         HTTP_COMMUNICATION_FAILURE = 1
         HTTP_INVALID_STATE = 2
         HTTP_PROCESSING_FAILED = 3
         OTHERS = 4 ).
    li_client->RECEIVE(     "receives the HTTP RESPONSE
       EXCEPTIONS
         HTTP_COMMUNICATION_FAILURE = 1
         HTTP_INVALID_STATE = 2
         HTTP_PROCESSING_FAILED = 3
         OTHERS = 4 ).
    lv_tmp = li_client->RESPONSE->GET_CDATA( ).
    The code will allow you to call the stockquote webservice using GET
    http://www.webservicex.net/stockquote.asmx?op=GetQuote
    Your code is missing the request uri which is needed in a GET call.
    Hope this helps,
    Mark

  • Call to web service from abap proram

    Hi,
    How i can call to WS from abap program ?
    There is other way except of BSP ?
    Regards
    Michael
    Edited by: Michael  A on Apr 27, 2009 3:00 PM

    check the below piece of code.
    REPORT zvalidate_email.PARAMETERS: p_mail(100) LOWER CASE.                 " E-Mail id to be verifiedDATA: http_client TYPE REF TO if_http_client .DATA: w_string TYPE string ,
          w_result TYPE string ,
          r_str    TYPE string .DATA: result_tab TYPE TABLE OF string.START-OF-SELECTION .
      CLEAR w_string .
      CONCATENATE
      'http://www.webservicex.net/ValidateEmail.asmx/IsValidEmail?Email=' p_mail
    INTO
      w_string .  CALL METHOD cl_http_client=>create_by_url
        EXPORTING
          url                = w_string
        IMPORTING
          client             = http_client
        EXCEPTIONS
          argument_not_found = 1
          plugin_not_active  = 2
          internal_error     = 3
          OTHERS             = 4.  CALL METHOD http_client->send
        EXCEPTIONS
          http_communication_failure = 1
          http_invalid_state         = 2.  CALL METHOD http_client->receive
        EXCEPTIONS
          http_communication_failure = 1
          http_invalid_state         = 2
          http_processing_failed     = 3.
      CLEAR w_result .
      w_result = http_client->response->get_cdata( ).  REFRESH result_tab .
      SPLIT w_result AT cl_abap_char_utilities=>cr_lf INTO TABLE result_tab .  READ TABLE result_tab INTO r_str INDEX 2.
      IF r_str+44(1) = 't'.
        WRITE:/ 'Valid email address'.
      ELSE.
        WRITE:/ 'Invalid email address'.
      ENDIF.

  • Calling web service from ABAP - version 4.6C

    Hi,
    I would like to know how to call a web service from ABAP. Version is 4.6C. Any help would be greatly appreciated.
    Thank you,
    Rekha

    Hi Rekha,
    Please go through these..
    call web service using ABAP
    http://help.sap.com/saphelp_nw04/helpdata/en/a0/da0710b6560a4e80fb94f3f712dfc0/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e9/ae1b9a5d2cef4ea4b579f19d902871/frameset.htm
    Hope these help you!
    cheers,
    Prashanth

  • Create an SAP Web Service Consumer (calling External Sharepoint Web Service from ABAP)

    hi all,
    i am trying to
    Create an SAP Web Service Consumer (calling sharepoint Web Service from ABAP) using blog given on following link
    Create an SAP Web Service Consumer (calling External Web Service from ABAP) 
    but when i am using my url at the end of step 3, i am getting error as follows:
    i dont want to use local file option. Can anyone help me in this??
    thanks in advance
    regards,
    SDS

    Hi SDS,
    you recieved a http 404 error when trying to access the Sharepoint Web service. Http 404 indicates that the resource is not reachable (cf. HTTP 404 - Wikipedia, the free encyclopedia). There could be different reasons for that. I'd suggest rubble checking the URL of the Web service first. Try to access it from a browser on you desktop. If the URL is correc. Most likely the SAP system is not able to connect to the URL. This could, for example, be due to some firewall restrictions. You should ask a SAP Basis colleague if they are able to access the URL of the Web service from the server on which the SAP system is running.
    Christian

  • Call webdynpro java Web Service from ABAP

    Hello,
    This is regarding calling portal web service from ABAP.
    1. created web service in NWDS and deployed it to portal server
    2. created abap proxy to call this web service from abap SE80 transaction
    3. created logical portal for the above proxy  LPCONFIG transaction
    this is working perfectly. the web service is getting called from abap and funcitonality is working
    but my doubt is we have no where given the login password for portal server in the abap system
    then how come it works without login password
    if i run this web service directly from portal in wsnavigator, then portal login is required.
    If we want to incorporate authentication then how to do that ?
    thankyou,
    B

    When you are testing the application in SE80.
    Is it ot asking for the user id password.
    I created a similar service and for me its asking for user id and password.
    Go to SM59 and there look for a RFC destination of type HTTP Connection to External Serv. usually will be named as
    SAP_PROXY_ESR.
    for this connection check the logon and security tab.
    may be some user id and password is given there. means hardcoded.
    thanks
    sarbjeet singh

  • Calling a web service In Netweaver 7.0 abap stack through an external alias

    Hello,
    In CRM 2007 (Netweaver 7.0 abap stack SP 16), we have defined a web service from a module function using the wizard and configuring it with SOAMANAGER.
    This web service works great when calling it with the "official" URL, something like :
    http://host.domain:port/sap/bc/srt/rfc/sap/zwebservice/client/zoperation/zbinding
    We would like to use a more simple URL. So with SICF, I have created an external alias /zwebservice which points to the "official" URL.
    The problem is that it does not work. I get every time an HTTP 500 error code and an error Message
    u201CThe configuration of the http server is missingu201D.
    Do you think that it is possible to call a web service through an external alias ?
    Thanks in advance for any ideas or solution !
    Olivier

    Seems that no one has tried it...
    I close the question.

  • Calling a Web Service from an Abap Program

    Hi Everyone,
    I have been put to task to write an RFC that has web service calls within it. My question is if anyone has a coding examples, and or best practices when calling a web service, like connections, event handling, asynchronous, synchronous, return values, xml, acknowledgements.
    Thanks a lot,
    Steve

    BSP a Developer's Journal Part XIV - Consuming WebServices with ABAP
    Calling WebServices from ABAP via HTTPS
    Consuming Web Service from ABAP by Durairaj Athavan Raja
    Search on SDN wiki, and you will find above mentioned links.

  • Is it possible to call web service from ABAP SAP 4.6 c..If yes how

    Hi Friends,
    Is it possible to call web service from ABAP-SAP 4.6 c..If yes Could you please let me know how.
    Thanks in Advance.
    Murali Krishna K
    Edited by: Murali Krishna Kakarla on Jan 26, 2008 7:09 PM
    Edited by: Murali Krishna Kakarla on Jan 26, 2008 7:11 PM

    Olivier CHRETIEN wrote:>
    > Hi Terry,
    >
    > So these function modules must use the SAPHTTPA RFC destination which uses the exe saphttp.exe ?
    >
    > How much abap code lines do you have for a web service call ?
    > Do you have to code the call specifically for each different web service ?
    > Are you able to use the WSDL ?
    >
    > Nice job if you have coded your own private SOAP runtime !
    >
    > But I don't think this is an easy solution for everybody...
    >
    > Regards,
    >
    > Olivier
    Yes, SAPHTTPA (runs on application server) and/or SAPHTTP (runs on front-end pc), one of which, is required for HTTP communication.  So far, nothing too elaborate as far as SOAP goes, but the logic is simplistic.  Here's some sample code:
      DEST = 'SAPHTTPA'.
      TRANSLATE HOST TO LOWER CASE.
      MYURL = 'wssrvTest/Service.asmx/GetByOrderItem'.
      CONCATENATE HOST MYURL INTO MYURL.
      REQUEST_HEADERS-DATA = 
                  'Content-type: application/x-www-form-urlencoded'.
      APPEND REQUEST_HEADERS.
      CLEAR REQUEST_HEADERS.
    *........Convert Order Number to External Format........................
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
                INPUT  = ORDER
           IMPORTING
                OUTPUT = ORDER.
    *........Convert Item Number to External Format.........................
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
                INPUT  = ITEM
           IMPORTING
                OUTPUT = ITEM.
    *........Convert Material Number to External Format.....................
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
           EXPORTING
                INPUT  = MATERIAL
           IMPORTING
                OUTPUT = MATERIAL.
      CONCATENATE 'sOrder=' ORDER
                   INTO REQUEST_BODY-DATA.
      APPEND REQUEST_BODY.
      CLEAR REQUEST_BODY.
      CONCATENATE '&sItem=' ITEM
                   INTO REQUEST_BODY-DATA.
      APPEND REQUEST_BODY.
      CLEAR REQUEST_BODY.
      CONCATENATE '&sMaterial=' MATERIAL
                  INTO REQUEST_BODY-DATA.
      APPEND REQUEST_BODY.
      CLEAR REQUEST_BODY.
      CALL FUNCTION 'HTTP_POST'
           EXPORTING
                ABSOLUTE_URI          = MYURL
                RFC_DESTINATION       = DEST
                BLANKSTOCRLF          = 'X'
           TABLES
                RESPONSE_ENTITY_BODY  = RESPONSE_BODY
                REQUEST_ENTITY_BODY   = REQUEST_BODY
                RESPONSE_HEADERS      = RESPONSE_HEADERS
                REQUEST_HEADERS       = REQUEST_HEADERS
           EXCEPTIONS
                CONNECT_FAILED        = 1
                TIMEOUT               = 2
                INTERNAL_ERROR        = 3
                TCPIP_ERROR           = 4
                DATA_ERROR            = 5
                SYSTEM_FAILURE        = 6
                COMMUNICATION_FAILURE = 7
                OTHERS                = 8.
      CHECK SY-SUBRC = 0.  "more appropriate msg goes here
      LOOP AT RESPONSE_BODY.
        IF RESPONSE_BODY+0(7) <> '<string' AND
           RESPONSE_BODY+0(8) <> '</string' AND
           RESPONSE_BODY+0(5) <> '<?xml'.
          SPLIT RESPONSE_BODY-DATA AT '=' INTO FIELD_NAME FIELD_VALUE.
          TRANSLATE FIELD_NAME TO UPPER CASE.
          CASE FIELD_NAME.
            WHEN 'HEIGHT'.
              HEIGHT = FIELD_VALUE.
            WHEN 'WIDTH'.
              WIDTH = FIELD_VALUE.
            WHEN 'LENGTH'.
              LENGTH = FIELD_VALUE.
            WHEN 'WEIGHT'.
              WEIGHT = FIELD_VALUE.
            WHEN 'QTY'.
              QTY = FIELD_VALUE.
          ENDCASE.
        ENDIF.
      ENDLOOP.
    Hope this helps...
    Terry
    Edited by: Terry West on Feb 4, 2008 3:08 PM

  • Calling https web service POST method from ABAP

    Hi all,
    I'm having some problems trying to call a credit card https web service from ABAP on 2004s SP11. I'm not using a proxy server and a call from a test https page on my local machine works fine. The page does not require a certificate.
    Do I need to do anything in particular to make https work ? I've done calls to http services without any problems. The only difference from a programming perspective as far as I know is the scheme 2 instead of 1, and the server protocol changed to HTTPS.
    All is fine until  I call method http_client->receive, at that point I get a return code of 1, http_communication_failure. 
    Your suggestions & contributions will be greatly appreciated.
    Cheers,
    Wouter.
    report zcreditcardtest .
    data: wf_user type string .
    data: wf_password type string .
    data: rlength type i,
          txlen type string  .
    data: http_client type ref to if_http_client .
    data: wf_string type string .
    data: wf_string1 type string .
    data: wf_proxy type string ,
          wf_port type string .
    selection-screen: begin of block a with frame .
    parameters: crcard(16) type c lower case default '4242424242424242',
                cvn(4)     type c lower case default '564',
                year(2)    type c lower case default '07',
                month(2)   type c lower case default '11',
                amount(10) type c lower case default '100.00',
                cukey(4)   type c lower case default 'AUD',
                order(10)  type c lower case default 'AB1322-refund'.
    selection-screen skip 1.
    parameters: user(50) lower case,
                password(50) lower case ,
                p_proxy(100) lower case default '' ,
                p_port(4) default ''.
    selection-screen: end of block a .
    at selection-screen output.
      loop at screen.
        if screen-name = 'PASSWORD'.
          screen-invisible = '1'.
          modify screen.
        endif.
      endloop.
    start-of-selection .
      clear wf_string .
      concatenate
      'order.type=capture&customer.username=SOMEUSER'
      '&customer.password=SOMEPASSWORD'
      '&customer.merchant=SOMEMERCHANT'
      '&card.PAN=' crcard
      '&card.CVN=' cvn
      '&card.expiryYear=' year
      '&card.expiryMonth=' month
      '&order.amount=' amount
      '&customer.orderNumber=' order
      '&card.currency=' cukey
      '&order.ECI=IVR'
      '&customer.captureOrderNumber=' order
      '&order.priority=1'
      '&message.end=null'
      into wf_string .
      break-point.
      clear :rlength , txlen .
      rlength = strlen( wf_string ) .
      move: rlength to txlen .
      clear: wf_proxy, wf_port .
      move: p_proxy to wf_proxy ,
            p_port to wf_port .
      call method cl_http_client=>create
        exporting
          host          = 'api.somewhere.com'
          service       = '80'
          scheme        = '2'                        "https
          proxy_host    = wf_proxy
          proxy_service = wf_port
        importing
          client        = http_client.
      http_client->propertytype_logon_popup = http_client->co_disabled.
      wf_user = user .
      wf_password = password .
    * proxy server authentication
      call method http_client->authenticate
        exporting
          proxy_authentication = 'X'
          username             = wf_user
          password             = wf_password.
      call method http_client->request->set_header_field
        exporting
          name  = '~request_method'
          value = 'POST'.
      call method http_client->request->set_header_field
        exporting
          name  = '~server_protocol'
          value = 'HTTPS/1.0'.
      call method http_client->request->set_header_field
        exporting
          name  = '~request_uri'
          value = '/post/CreditCardAPIReceiver'.
      call method http_client->request->set_header_field
        exporting
          name  = 'Content-Type'
          value = 'application/x-www-form-urlencoded; charset=UTF-8'.
      call method http_client->request->set_header_field
        exporting
          name  = 'Content-Length'
          value = txlen.
      call method http_client->request->set_header_field
        exporting
          name  = 'HOST'
          value = 'api.somewhere.com:80'.
      call method http_client->request->set_cdata
        exporting
          data   = wf_string
          offset = 0
          length = rlength.
      call method http_client->send
        exceptions
          http_communication_failure = 1
          http_invalid_state         = 2.
      call method http_client->receive
        exceptions
          http_communication_failure = 1
          http_invalid_state         = 2
          http_processing_failed     = 3.
      if sy-subrc <> 0.
        message e000(oo) with 'Processing failed !'.
      endif.
      clear wf_string1 .
      wf_string1 = http_client->response->get_cdata( ).
    * Further Processing of returned values would go here.

    Well, finally got this running !
    First of all I needed to download SAP Cryptographic Software and install it on the Web Application Server. Added some parameters to the profile, then set up some nodes in strust. Note 510007 describes the full process.
    I then installed the certifcate I needed by opening the website in internet explorer and exporting it to a CER file and then importing it into the SSL client (Anonymous). The blog from Thomas Yung, "BSP a Developer's Journal Part XIV - Consuming WebServices with ABAP" describes the process of exporting and importing certificates.
    I then had to start the HTTPS service on my NW 2004s ABAP preview edition SP11. I set this up for port 443.
    /osmicm --> GOTO --> SERVICES --> SERVICE --> CREATE
    Then finally, the program needed a few changes :
      call method cl_http_client=>create
        exporting
          host          = 'api.somewhere.com'
          service       = '443'                       " <<-----  443 NOT 80
          scheme        = '2'                        "https
          ssl_id        = 'ANONYM'              " <<----- SSL_ID Added
          proxy_host    = wf_proxy
          proxy_service = wf_port
        importing
          client        = http_client.
    and further in the program (thanks Andrew !) :
      call method http_client->request->set_header_field
        exporting
    *   name  = '~server_protocol'             " <<<--- DELETE
          name  = '~request_protocol'         " <<<-- INSERT must be request
          value = 'HTTPS/1.0'.
    and presto, we can now consume a https webservice via a POST method from within an ABAP program ! Nice.... Can I give myself 10 points ?

  • Calling Web Service With ABAP

    Hi all,
    I want to create a call to a Web Service of XI from another R/3 server.
    I've created client proxy in system as said
    /people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
    But when I try I get the following error:
    <i><CODE>INTERNAL.SYSTEM_NOT_CONFIGURED_AS_XMB</CODE>
    <ERRORTEXT>System not configured as XI Integration Engine</ERRORTEXT></i>
    I know I've left some configuration, I've to say to XI that R/3 server is going to use call to XI as application server, but how I do this conf?
    If I try from XI I get:
    <i>INTERNAL.PROXY_NOT_ALLOWED_ON_IS</i>
    Is possible to call a web service from the XI server?
    Thanks in advance.
    Urtzi

    HI,
    Also see the below links
    error:INTERNAL.SYSTEM_NOT_CONFIGURED_AS_XMB
    DESTINATION_NOT_FOUND
    HTTP destination IED_100 does not exist (system , transaction SM59)
    CCM2.0 Config in NW2004s (PI7.0) u0096 XI Error
    CCM2.0 Config in NW2004s (PI7.0) u0096 XI Error
    Regards
    Chilla

Maybe you are looking for