Calling Web Service from SAP

Dear All,
How can we call web service from SAP?
Thanks in Advance,
Ramana

HI kcr,
pls see this link
http://****************/Tutorials/Others/ValidateEmailID/Webservice.htm
write this program
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.Output:
thanks
karthik

Similar Messages

  • How to call WEB Service From SAP

    Hi Friends,
    How to call WEB Service From SAP.
    Thanks in advance,
    Murali Krishna K

    Hi,
    if you mean calling a web service in Web Dynpro ABAP, see the <a href="http://help.sap.com/saphelp_nw70/helpdata/en/d7/951b42f828df2ce10000000a1550b0/frameset.htm">documentation</a>, if you mean calling a web service in general, this is not the correct forum. This here is the Web Dynpro ABAP forum, for general questions on ABAP, use the ABAP forum.
    Regards, Heidi

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

    Hi Friends,
    It it possible to call web service from SAP 4.6 c..If yes how
    Thanks in Advance.
    Murali Krishna K

    It is not possible to directly call a web service from SAP 4.6c.
    Indeed, web service enablement is available as from Web AS 6.20, thus as from SAP R/3 4.7
    So as described above, the solution is indeed to make use of PI(XI) for this.
    Rgds,
    Karim

  • How to call WEB Service From SAP 4.6 c

    Hi Friend,
    How to call WEB Service From SAP 4.6 c Report
    Thanks in advance.

    It is not possible to directly call a web service from SAP 4.6c.
    Indeed, web service enablement is available as from Web AS 6.20, thus as from SAP R/3 4.7
    So as described above, the solution is indeed to make use of PI(XI) for this.
    Rgds,
    Karim

  • Calling web services from SAP

    Hi,
    Calling WEB services from SAP and Please any one give idea to implement using ABAP. What the technology being used when
    SAP connecting with ex: .net environment i.e Tight coupling environment.
    Kindly advise me what techniques need to adopt to make this possible and i am new to this process.
    Thanks,
    Raghu.

    Hi,
    It is better to open this thread in the ABAP development forum.
    So, you can find the information about calling web services in the document, below;
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/06adbf03-0a01-0010-f386-d8e45561a3c4?QuickLink=index&overridelayout=true
    Best regards,
    Orkun Gedik

  • How do i call web services from SAP ABAP

    Hello,
    Ian working with .net team. they are using sap .net Connector to connect SAP. But my job is In SAP side when Purchase Requisition is created, I have to call web services from ABAP and i have to pass the Purchase Requisition number to web service(.net Program). Please help me how to call web services from ABAP and how to pass value. Any one help me with example.
    Thanks
    RaviKumar

    Hi Ravi,
    If you can call EJB from ABAP and from EJB call Web service which you want to call. I am giving code to write in EJB business method processFunction.
    public void processFunction(Function function) {
       IRepository repository;
       repository = new Repository("TestRepository");
       JCO.MetaData fmeta = new JCO.MetaData("ZTEST_EJB");
       fmeta.addInfo("REQUTEXT", JCO.TYPE_CHAR, 255,   0,  0,  
       JCO.IMPORT_PARAMETER, null);
       fmeta.addInfo("ECHOTEXT", JCO.TYPE_CHAR, 255,   0,  0,
       JCO.EXPORT_PARAMETER, null);
       fmeta.addInfo("RESPTEXT", JCO.TYPE_CHAR, 255,   0,  0,
       JCO.EXPORT_PARAMETER, null);
       repository.addFunctionInterfaceToCache(fmeta);
       JCO.ParameterList input  =
       function.getImportParameterList();
       JCO.ParameterList output =
       function.getExportParameterList();          
       JCO.ParameterList tables =
       function.getTableParameterList();
      if (function.getName().equals("ZTEST_EJB")) {
                        output.setValue(input.getCharArray("REQUTEXT"),"ECHOTEXT");
    output.setValue("This is a response " + table.getString("E_NAME") +" " + output.getName(1), "RESPTEXT");
      else if (function.getName().equals("STFC_STRUCTURE")) {
      JCO.Structure sin  = input.getStructure("IMPORTSTRUCT");
      JCO.Structure sout = (JCO.Structure)sin.clone();
      try {
          System.out.println(sin);
       catch (Exception ex) {
           System.out.println(ex);
                        output.setValue(sout,"ECHOSTRUCT");
    output.setValue("This is a response from Example5.java","RESPTEXT");
    }//if
    Here REQUTEXT, ECHOTEXT are import parameter and RESPTEXT is the Export parameter of Function module ZTEST_EJB in SAP.
    Here from this bisuness method you can call web service which you want and give back the result of webservice to ABAP F.M.
    Regards,
    Bhavik

  • 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 a SharePoint Web Service from SAP??

    Hi Everyone,
    I have been following the below link to call a SharePoint Web Service from SAP.
    Consuming Microsoft SharePoint Web Services in SAP using Basic Authentication
    But after entering the URL this pops up :
    and I enter my SAP username and password, then I get this error:
    But I have full SAP authorization.
    Please can someone advice or help on this problem.
    Thank you.

    Hi,
    It accepts WSDL files, but only using basic authentification. I had the same problem. Probably you have NTLM authentification. Check note 1441809 - Logon fails when using IIS and NTLM authentication
    Thanks,
    Efren

  • Calling Web service From R/3

    Hi ,
    we have a requirement, where we have to call a web service in Biz talk from SAP and compile the received data in R/3 as a report.
    has any one worked on such a requirement, could you please provide your inputs on the same.
    Thanks,
    Raghavendra

    [Calling Web service From R/3|http://forums.sdn.sap.com/search.jspa?threadID=&q=CallingWebserviceFromR/3&objID=f50&dateRange=all&numResults=15]

  • Calling web Service from the Custom Adapter.Is it Possible?

    Hi Experts,
                    I am having requirment in which i have to cal com.sap.aii.mapping.lookup.LookupService for calling web Service from the Custom Adapter.Is it Possible?
    Regards,
    Rajesh.D

    Hi Rajesh..
    Just looking the problem in another angle.. if there is no constraint that you have to use XI specific API to call the web service, why dont you use usual Java API used for calling a web service inside you custom adapter (I have Microsoft background.. donno exactly how it is done in Java,, but in .NET kind of a language it is possible). SInce your adapter is in Java itself and is capable of calling web service.. collect or lookup the data whatever you want and validate...
    Just a thought..
    VJ

  • Business Service Issue for OSB 10.3.1 when call web service of SAP ECC 710

    Hello,
    1 . I was doing unit test for a business service which called a web service from SAP ECC 710 (This service is published directly from a RFC function module via SOA Manager);
    2 .The problem is when i use the OSB test console , which generate request message below:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    *<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">*
    *</soap:Header>*
    <soapenv:Body>
    <urn:Zmmjf503 xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <ContractInfo>string</ContractInfo>
    </urn:Zmmjf503>
    </soapenv:Body>
    </soapenv:Envelope>
    the response message is :
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Header>
    <n0:MessageID xmlns:n0="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    uuid:4cbe5b84-474c-9abe-e100-00000ad00164
    </n0:MessageID>
    <n1:Action soap-env:mustUnderstand="1" xmlns:n1="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope"/>
    </soap-env:Header>
    <soap-env:Body/>
    </soap-env:Envelope>
    Above response indicates that the BS called the SAP Web server successfully , but seems the service didn't get the request message.
    3. The Web service can be called successfully via SoapUI . and i have checked the request message of soapUI; and it can work if i simply modify the request:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    *<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"></soap:Header>*
    <soapenv:Body>
    <urn:Zmmjf503 xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <ContractInfo>string</ContractInfo>
    </urn:Zmmjf503>
    </soapenv:Body>
    </soapenv:Envelope>
    and i got the correct response :
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    <soap-env:Header/>
    <soap-env:Body>
    <n0:Zmmjf503Response xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
    <Recmsg><![CDATA[<?xml version="1.0" encoding="utf-8"?><DocumentResponse><STATE>0</STATE><HTBH></HTBH><MESSAGE></MESSAGE></DocumentResponse>]]></Recmsg>
    </n0:Zmmjf503Response>
    </soap-env:Body>
    </soap-env:Envelope>
    4 It bother me , as the only difference between the above two request messages is the Header(the first one contains a "carriage returns"):
    *<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">*
    *</soap:Header>*
    VS
    *<soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"></soap:Header>*
    5 i thought that the soap engine should ignore the "carriage returns", seems it's a problem of SAP ECC710.
    DID anyone encouter this problem?? Thanks
    Regards
    Wen

    Thanks,Patrick,
    i have already removed the Soap:header, and it worked as well. what's more , using header " <soapenv:Header/>" worked.
    And i got these request messages via TCPMON, so it's exactly what were sent to SAP ECC710.
    The HTTP request which cannot work:
    POST /sap/bc/srt/rfc/sap/zmmjf_503/400/zmmjf_503_service/zmmjf_503_soapbinding HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    Authorization: Basic enpoZmhlOnBhc3N3b3Jk
    SOAPAction: ""
    Transfer-Encoding: chunked
    User-Agent: Java1.6.0_05
    Host: 10.208.1.100:8000
    Accept: text/html, image/gif, image/jpeg, */*; q=.2
    Connection: Keep-Alive
    017a
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    </soap:Header><soapenv:Body><urn:Zmmjf503 xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <ContractInfo>string</ContractInfo>
    </urn:Zmmjf503></soapenv:Body></soapenv:Envelope>
    0000
    THE HTTP request which can work:
    POST /sap/bc/srt/rfc/sap/zmmjf_503/400/zmmjf_503_service/zmmjf_503_soapbinding HTTP/1.1
    Content-Type: text/xml; charset=utf-8
    Authorization: Basic enpoZmhlOnBhc3N3b3Jk
    SOAPAction: ""
    Transfer-Encoding: chunked
    User-Agent: Java1.6.0_05
    Host: 10.208.1.100:8000
    Accept: text/html, image/gif, image/jpeg, */*; q=.2
    Connection: Keep-Alive
    016c
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"/><soapenv:Body><urn:Zmmjf503 xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style">
    <ContractInfo>string</ContractInfo>
    </urn:Zmmjf503></soapenv:Body></soapenv:Envelope>
    0000
    Thing is that if i just use
    <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"></soap:Header>
    to replace (which means i just simply remove the carriage return)
    <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    </soap:Header>
    in the header field of OSB Test console, it can work!!!
    It's really a weird issue. and it bothers me so much ;)
    any suggestions?
    Regards
    Wen

  • Is there a way to call web service from 2 servers??

    Hi,
    I need to know if its possible to call web service from 2 different servers without having load balancer??? I mean, if one of the server has heavy work on, then it should call web service from the other server.
    Thanks in advance.
    Best Regards.

    Hi,
    WebLogic Cluster has this feature ( Load Balancing & Failover ). If you will deploy your WebService to a WebLogic Cluster and then If you will put a Proxy in front of it like (Apache)...Then it is Possible.
    <h3><font color=maroon>What All You Need To Do ? ...... as following</font></h3>
    <b><font color=maroon>Step1).</font></b> Create a WebLogic Cluster (minimum two ManagedServers)
    http://weblogic-wonders.com/weblogic/2010/04/28/weblogic-clustering-in-remote-boxes/
    <b><font color=maroon>Step2).</font></b> Install a Proxy like Apache in frot of them like following:
    http://weblogic-wonders.com/weblogic/2010/05/13/apache-proxy-as-static-content-repository/
    Or
    http://weblogic-wonders.com/weblogic/2010/08/01/weblogic-httpclusterservlet-proxyserver/
    <b><font color=maroon>Step3).</font></b> Now Configure a FrontEnd Host for your Cluster by providing the ProxyServer Host name as the FrontEnd of your Cluster. This step is required to Generate the Dynamic WSDL with the Address of the Frontend.(Not of a perticular WebLogic Server)
    http://weblogic-wonders.com/weblogic/2010/06/21/configuring-frontend-host-and-port/
    <b><font color=maroon>Step4).</font></b> Deploy your WebService on the Cluster
    <b><font color=maroon>Step5).</font></b> Now Hit the WebService using the Proxy URL:
    Example:
    http://ProxyHostname:proxyPort/ServiceContextRoot/ServiceURI?WSDL
    Thanks
    Jay SenSharma

  • Calling web service from Obiee

    Hi,
    I want to get data from webservice and show the results in a dashboard.
    I checked http://www.artofbi.com/index.php/2009/08/consuming-a-web-service-in-obiee-presentation-services-using-jquery-cdn/ web site.
    But the author is retrieving data from a web page by sending parameter to querystring like
    yqlq=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22%2C%20%22PTRY%22)&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=?";
    But as I know we can not call web services with parameters like this.
    How can I call web service from BI?
    Could you please suggest articles or sample codes, documents etc.
    Regards,
    bye

    Hi,
    I controlled this document. The document is explaining Oracle BI web services for extracting information from Oracle BI and showing them in other environments. But I want to get results from a web service ( for example a web service which returns currency rates, weather information or sharepoint lists) and then represent them in Oracle BI Dashboards.

  • Calling Web Service from CRM using proxy

    Hi all,
    I'm facing a problem trying to call a web service from CRM (WAS 620) via XI 3.0. The response that XI recieves from the web service contains SOAP Envelope, and the mapping fails because of it. I built the proxy manually, because if I load WSDL the proxy generation in CRM generates error that sais that external definition coudn't be used.
    Is there any way to remove SOAP envelope from the response while mapping?
    Is it possible to call web service from WAS 620?
    Thanks!!!!
    Anya.

    Hi Manish,
    SOAP adapter does pass the message to XI (this message contains SOAP envelope although XI expects to get message without it), and during the mapping step i get "Runtime Exception in Message-Mapping transformatio~".
    I suppose it's because i created proxy manually. I did so because when i imported WSDL, and tried to generate proxy in CRM, i got an error message that said that proxy couldn't be generated because external definitions are only allowed in XI 3. But my XI version is 3.0! And when I generate the same proxy in my R/3 system that is installed on WAS 640, it works.
    What can I do?
    Cheers,
    Anya.

  • Calling web service from MBean weblogic cannot find type mapping file

    When calling web service from custom MBean i get java.io.IOException.
    java.io.IOException: unable to find the type mapping resource file for:
    net.msl.sfx.ebooking.client.BookingPartiesServiceService
    at weblogic.webservice.core.encoding.DefaultRegistry.<init>(DefaultRegis
    try.java:67)
    at weblogic.webservice.core.rpc.ServiceImpl.<init>(ServiceImpl.java:83)
    at net.msl.sfx.ebooking.client.BookingPartiesServiceService_Impl.<init>(
    BookingPartiesServiceService_Impl.java:22)
    at net.msl.sfx.ebooking.service.EBookingService.getBookingParties(EBooki
    ngService.java:59)
    The types.xml file is placed in same jar file as the classes such as net.msl.sfx.ebooking.client.BookingPartiesServiceService_Impl.
    When calling the same class/method from a EJB, everything works fine and the web service is called.

    i am having the same problem.
    Do you have a solution now?
    Thanks

Maybe you are looking for