Calling a Web Server with HTTP POST to retrieve XML in chunks

Hi,
I have to call a Web Server with the HTPP POST method by providing the user id and password. I am getting the xml as output from the web server in chunks. This is possible through net.HTTPUrlConnection Java Api. But does any body knows how to implement this through OSB.
Regards,
Anuj Maheshwari

sample usage:
  CALL FUNCTION 'HTTP_POST'
    EXPORTING
      ABSOLUTE_URI                = IM_OFX_CONTROL_DATA-ADDRESS
      REQUEST_ENTITY_BODY_LENGTH  = RESPONSE_ENTITY_BODY_LENGTH
      RFC_DESTINATION             = IM_OFX_CONTROL_DATA-HTTP_RFCDEST
      USER                        = IM_OFX_CONTROL_DATA-HTTP_USER
      PASSWORD                    = IM_OFX_CONTROL_DATA-HTTP_PASSWORD
      BLANKSTOCRLF                = 'X'
    IMPORTING
      STATUS_CODE                 = STATUS
      STATUS_TEXT                 = STATUS_TEXT
      RESPONSE_ENTITY_BODY_LENGTH = RLENGTH
    TABLES
      REQUEST_ENTITY_BODY         = LT_REQUEST
      RESPONSE_ENTITY_BODY        = RESPONSE
      RESPONSE_HEADERS            = LT_RESPONSE_HEADERS
      REQUEST_HEADERS             = LT_HTTP_HEADERS
   EXCEPTIONS
        OTHERS                      = 1.
Refer the programs:
LFPIFF02            
LOFXALSU04          
LPRGN_URL_RESPONSEU01
LSBCCU01            
LSFTPU09            
for some idea.
regards,
ravi

Similar Messages

  • Web Dynpro application calling external web server using HTTPS giving error

    Hello,
    I don't know whether this is the right question in this forum but my ABAP web-dynpro applicaiton is expected to call another HTTP application on external web server through HTTPS. Presently it is calling through plain HTTP but we want to have HTTPS.
    Here are the steps that we followed based on the link from help.sap.com
    1] Received the certificate files from external web server
    2] Created SSL Anonymous client
    3] Imported the certificate files under this client and added into the certificate list
    4] Re-started ICM
    5] Created RFC Destination of type HTTP to connect to external server with SSL option and basic authentication. This RFC destination was working under plain HTTP.
    When tried with Test connection it gave error "ICM_HTTP_CONNECTION_FAILED".
    Any idea what might be missing. Thanks in advance.
    Regards
    Rajeev

    Used proper certificate after which the error went away

  • Need JDeveloper Web Service with HTTP POST method

    Hello all,
    I am creating a Web Service from a java class using JDeveloper. The wsdl created uses a SOAP binding. When I test the web service, either through JDeveloper or by deploying to OAS, the HTTP request created uses the HTTP GET protocol. I am assuming that this would be the same for anybody doing this.
    I need to know how to change it to be an HTTP POST protocol instead.
    The reason that I need to try and use the POST method is that the xml needed by the service holds a lot of data and the http server is giving me a "URI too long" error. I have read and been told that using POST instead of GET would help this, but I can't figure out what to change to make this happen. I am not sure if I have to make a change in the generated wsdl or somewhere else. Or if it just won't work that way.
    Any help you can provide would be appreciated.
    Thanks,
    rob

    Hi Ayush,
    Please refer -
    http://biemond.blogspot.com/2010/08/http-basic-authentication-with-soa.html
    Regards,
    Anuj

  • Error Unexpected end of file from server with HTTP POST

    Hi everyone,
    I'm coding a simple client to download some information from a local machine in my LAN.
    I have to do this with an http post request.
    When i try to parse the http response the program catch an exception, this one:
    java.net.SocketException: Unexpected end of file from server
    at sun.net.www.http.HttpClient.parseHTTPHeader(...)
    the parameter is a JSON request, and of course the response is a JSON formatted.
    i put the http request code:
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    public class HttpDownloaderThread  extends Thread{
         private String url;
            private String param;
         private HttpDownloadListener listener;
         private HttpURLConnection connection=null;
         private InputStream is;
            private OutputStreamWriter wr;
         public HttpDownloaderThread(String _url,String param, HttpDownloadListener _listener){
              url = _url;
              listener = _listener;
                    this.param=param;
         public void run(){
              try{
                   connection=(HttpURLConnection)new URL(url).openConnection();
                            connection.setRequestMethod("POST");
                            connection.setReadTimeout(5000);
                            connection.setRequestProperty("Content-Type", "application/jsonrequest");
                            connection.setDoOutput(true);
                            wr = new OutputStreamWriter(connection.getOutputStream());
                            wr.write(param, 0, param.length());
                            wr.flush();
                            int responseCode=0;
                   System.out.println();
                            try{
                             responseCode= connection.getResponseCode();
                            }catch(Exception e){
                                e.printStackTrace();
                   if (responseCode == HttpURLConnection.HTTP_OK){
                        is = connection.getInputStream();
                                     BufferedReader rd = new BufferedReader(new InputStreamReader(is));
                                    String line;
                                    while ((line = rd.readLine()) != null) {
                                        System.out.println(line);
                        closeHttpConnection();
                        listener.resourceDownloaded(url, null);
                                else{
                                closeHttpConnection();
                                listener.downloadFailed(url, new Exception("Http error: " + Integer.toString(responseCode)));
              }catch(Exception e){
                   e.printStackTrace();
                   listener.downloadFailed(url, e);
              }finally{
         public void closeHttpConnection(){
              if (is != null){
                   try{
                        is.close();
                                    wr.close();
                   }catch (Exception e){
                   }finally{
                        is = null;
                                    wr=null;
              if (connection != null){
                   try{
                        connection.disconnect();
                   }catch (Exception e){
                   }finally{
                        connection = null;
    }there's someone who know's why??
    Thanks to everyone :)
    Thomas.

    jole_star wrote:
    this problem also happen to me,.So since you provided actually no information about your problem you are going to get exactly the same response.
    Please don't hijack old threads. Start your own and provide much much much more information.
    I shall lock this thread.

  • Starting workflow with HTTP-Post

    Hello,
    like I wrote in Starting workflow with HTTP-Post I have a problem with starting a workflow with a http-post:
    I have an installation of SAP ERP 2005 SR2 IDES on Win2003 SR2 SP2 and want to start a simple workflow with an external application. Therefor I created an elementary test-workflow and set the general task flag so everybody is allowed to start it. So far everything work fine as I start it manually.
    Now I want to start the workflow by an external application over a HTTP-Post as described in
    http://help.sap.com/saphelp_47x200/helpdata/EN/54/de9e3887d6174fe10000009b38f842/content.htm
    I configured the webserver (Customizing Web-Server) as follows:
    Service: WebFlow (Intranet)
    Address: http://192.168.0.216:8000/
    Path: SAP/BC/WORKFLOW_XML/?
    and sent a post via perl to http://192.168.0.216:8000/SAP/BC/WORKFLOW_XML/?protocol=01&localkey=WS99900004
    <?xml version="1.0" ?>
    <WfMessage Version="1.0" xmlns="http://www.wfmc.org/standards/doc/WF-XML">
    <WfMessageHeader>
    <Request ResponseRequired="No">
    <Key>http://192.168.0.216:8000/SAP/BC/WORKFLOW_XML/?protocol=01&localkey=WS99900004</Key>
    </WfMessageHeader>
    <WfMessageBody>
    <CreateProcessInstance.Request StartImmediately="true">
    <ObserverKey>http://192.168.0.224</ObserverKey>
    </CreateProcessInstance.Request>
    </WfMessageBody>
    </WfMessage>
    The Web-Server returns
    C:\FH\SAP\perl-scripte>perl http-post.pl
    HTTP/1.1 200 OK
    Server: SAP Web Application Server (1.0;700)
    Content-Length: 0
    Content-Type: text/plain
    Client-Date: Sun, 01 Jun 2008 11:00:24 GMT
    Client-Peer: 192.168.0.216:8000
    Client-Response-Num: 1
    but it seems that nothing happens.
    I also tried to post the XML via html-form-field with the same result.
    Did I forgot something essential?

    Hello Daniel
    It's 6 years after you posted your question, but I found your post very useful and thought it would be worth updating for future reference.
    I've just managed to trigger a workflow via http.
    URL :
    http://server.domain:8000/sap/bc/workflow_xml?sap-client=110
    Java :
    URL obj = new URL(url);
    URLConnection con = (URLConnection) obj.openConnection();
    String userpass = "username:password";
    String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes());
    con.setRequestProperty ("Authorization", basicAuth);
    con.setRequestProperty("Content-type", "text/xml");
    con.setDoOutput(true);
    DataOutputStream wr = new DataOutputStream(con.getOutputStream());
    wr.write( xml.getBytes("UTF-8") );
    wr.flush();
    wr.close();
    You can then read the response.
    I found that until I added the sap_client parameter I couldn't debug in CL_HTTP_WORKFLOW_XML->IF_HTTP_EXTENSION~HANDLE_REQUEST. Then I found that the content type has to be "text/xml".
    I set the xml variable (the data sent to ECC) to :
    <?xml version="1.0" ?>
    <WfMessage Version="SAP.1.0" xmlns="http://www.wfmc.org/standards/doc/WF-XML">
    <WfMessageHeader>
    <Request>
    <ResponseRequired>Yes</ResponseRequired>
    </Request>
    <Key>HTTP://server.domain:8000/SAP/BC/WORKFLOW_XML/?~localkey=WS90000074</Key>
    <Operation>CreateProcessInstance</Operation>
    </WfMessageHeader>
    <WfMessageBody>
    <CreateProcessInstance>
    <Key>HTTP://server.domain:8000/SAP/BC/WORKFLOW_XML/?~localkey=WS90000074</Key>
    <ContextData>
    <YOUR_CONTEXT_VARIABLE>x</YOUR_CONTEXT_VARIABLE>
    </ContextData>
    <StartImmediately>Yes</StartImmediately>
    </CreateProcessInstance>
    </WfMessageBody>
    </WfMessage>
    regards
    Steve

  • I am using the "G Web Server" with Bridgeview 2.1. The problem I am having is that I have to

    restart the web server once every 2 to 3 days, or the web pages don't show the vi (images). Any ideas to trouble shoot - I dont know if the problem is related to my workstation hardware or a setting that needs to be tweaked on the G Web Server. Thank you.I am using a Pentium 233 machine/ Win 95. The PLC I am collecting info from is a GE Fanuc Series 9030 (?). Ethernet connection.

    restart the web server once every 2 to 3 days, or the web pages don't show the vi (images). Any ideas to trouble shoot - I dont know if the problem is related to my workstation hardware or a setting that needs to be tweaked on the G Web Server. Thank you.Hi,
    we are using the G Web Server with LabVIEW on a WinNT 4 machine. Up to now these works fine. Therefore I would recommend you to choose a more stable OS.
    Maybe you can try to programmatically restart the server every 2 days. Within LabVIEW you would do this by running "HTTP Server Control.vi". Unfortunatly all connections will be closed, thus be aware of that!
    Hope that helps
    chris

  • Safari will not open certain web sites with https or http

    safari will not open certain web sites with https or http,any help will be welcome,it must be a security setting,but i have not changed any settings.

    From your Safari menu bar click Safari > Preferences then select the Exensions tab.
    If there are any installed, switch the button to off, quit and relaunch Safari to test.
    If there is more than one extension insalled, uninstall one a time, quit and relaunch Safari and test.

  • Need help setting up web server with WRT54GS

    Hello,
    I am trying to set up a web server with my linksys router. For the network settings, I have used 192.168.001.150 as my primary IP (192.168.1.150, all 3 numerical characters have to be filled in), 255.255.255.000 as my primary netmask and 192.168.001.001 (192.168.1.1) as my gateway. I have gone into my router and then enabled port fowarding for port 80 to 192.168.1.150 but I still cannot access my web server. What could be the problem?
    Any help would be greatly appreciated. I'm trying to set up this server so I can test scripts and things.

    bump

  • Working with HTTP-POST Submit Button

    I've created a form that uses a submit button with HTTP-POST.   I've tested this against a script that displays the fields, however, I'd like to table the posted data to SQL.   Can someone show me some code to parse this data with CGI, or PHP?

    Yes. At some point you will need to prarse the requests and treat them differently - because a POST is NOT the same as a GET.
    Anyway, just place the variables or script-links to the variables in an HTML Form.
    Very easy stuff.

  • UCM 11g web services with HTTP authentication

    Is it possible to setup UCM 11g web services with HTTP authentication?
    I did setup UCM 11g web services using OWSM policies and are working well.
    But my development team wants to consume web services with only HTTP authentication (simple user name and password), do not want to use Keystore files and encryption.
    Please help me guys.
    Thank you in advance

    Hi ,
    If you are looking to use the WSDL to execute ucm services then use SoapUI IDE on development , there it requires only the http authentication method .
    Let me know if this is the actual requirement which you were looking for or if I have missed the point .
    I use this to quickly test WSDL and verify if the service being invoked is actually correct or not .
    Thanks,
    Srinath
    Edited by: Srinath Menon on Apr 26, 2013 11:32 AM

  • SSL Certificate necessary for web Service with HTTPS encoding?

    Hi experts,
    I wanna create a Web Service with HTTPS. Now when I create an endpoint in Transaction SOAMANAGER, I use "Transport Guarantee Type" HTTPS. I'm a little bit confused, becuase at "Authentication Method I have different options which I don't understand.
    At Authentication Method, there are some check boxes.
    Whats the difference between HTTP Authentication and Message Authentication?
    (Why) can I use User ID/Password as Authentication Method with HTTPS? I think I need X.509 SSL Client Certificate.
    What is a Logon Ticket?
    Is there a good Documentation in the web, who explains the meaning of the different options and when to use which option?
    Thanks and regards,
    Sebastian

    Hi,
    >>>WSDL in Integration Directoryb but that WSDL containt a like staring with the HTTP instead of HTTPS! My question is how to generate a wsdl file with an HTTPS url tot he web service,
    you don't use the URL from ID - you need to create one yourself and put it there in the generator
    Regards,
    Michal Krawczyk

  • Calling Web Service with Http Basic authentication in SOA 11g

    I am calling a webservice which has http basic authentication attached to it. Thus i am adding 'oracle/wss_http_token_client_policy' OWSM policy to the WS refrence in my composite in Jdeveloper,but it doesn't showme the option of providing the http Username and http Password. The only key it is showing me is cf.key.
    Am i missing some steps?
    Please let me know.
    Note - I am working on SOA 11.1.1.4.
    Regards
    Ayush

    Hi Ayush,
    Please refer -
    http://biemond.blogspot.com/2010/08/http-basic-authentication-with-soa.html
    Regards,
    Anuj

  • Web Services with HTTP Basic Auth

    Hi,
    I am having a problem connecting to web services which
    require HTTP Basic Authentication from a Flex application. I have
    useProxy set to true and call setRemoteCredentials prior to
    attempting the call, but the credentials do not appear to be set on
    the request (the request fails with fault.faultString = "HTTP
    request error", faultCode = "Server.Error.Request". The messages on
    the server indicate that the user name and password were not
    specified.
    I do have the proxy-config.xml file set up properly (I think
    -- I followed the example in the mx.rpc.soap.mxml.WebService class
    description, at least).
    I can verify that the WSDL (which doesn't require BASIC auth
    to access) is being loaded properly, but when I make the request,
    it fails. Is this a known problem?
    I am using Flex Builder 2.0.1 to build my SWF files.
    Thanks,
    Brendan

    Thanks for the pointer, I did try it, but it didn't help.
    As I said in the original post, the problem is with HTTP
    Basic Authentication, so adding a header for WSSE to the service
    request didn't help. It needs to be an HTTP Authorization header,
    not a SOAP Security header.
    Brnedan

  • How to send Parameters FORM to PHP WEB Page with method POST (secure)?

    Hello everyone,
    i hope someone can help me to find a solution to this problem!
    i have to send "+precious+" parameters from an oracle form to php page, like username and password, with a secure method... i tried with WEB.SHOW_DOCUMENT procedure but it uses GET Method and when the web page open up you can read those parameters in the url...no good!
    some suggestion?
    Thank a lot in advance... FMicio

    The other way you have is to make a PJC java bean ...
    which uses HTTPClient library..
    for example:
    PostMethod post = new PostMethod("http://jakarata.apache.org/");
            NameValuePair[] data = {
              new NameValuePair("user", "joe"),
              new NameValuePair("password", "bloggs")
            post.setRequestBody(data);
            // execute method and handle any error responses.
            InputStream in = post.getResponseBodyAsStream();
            // handle response.I have done a multipart form data post to upload files to my db over httpClient.. and other things...
    Or with java.net.* api-s
    try {
        // Construct data
        String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
        data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
        // Send data
        URL url = new URL("http://hostname:80/cgi");
        URLConnection conn = url.openConnection();
        conn.setDoOutput(true);
        OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
        wr.write(data);
        wr.flush();
        // Get the response
        BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String line;
        while ((line = rd.readLine()) != null) {
            // Process line...
        wr.close();
        rd.close();
    } catch (Exception e) {
    }Or you can call your web page (post data) from your database
    http://awads.net/wp/2005/11/30/http-post-from-inside-oracle/
    Edited by: Peterv6i on Mar 30, 2012 3:49 PM
    Edited by: Peterv6i on Mar 30, 2012 3:55 PM

  • How can I setup a web server with 200 web site

    Dear all,
    I am going to get a PowerMac X 10.5.8 and I would like to use it to setup a web server to host 200 account.
    However it is a chalenge because I never did a such work with mac and I would like to have some advice from us and particularely about that:
    * Bandwidth (What should take care with my Phone line provider)
    * Is there a web platform I should provide to my client, to let them to manage MySQL, FTP account, manage file as PLESK does
    * How should it set up my mac server to make it as a performent web server
    * Do you have some other recommandation, procedure
    The Mac server I might received have
    12G RAm
    2,8 Hrz (quad)
    RADI1 (260G) I am going to extend it
    many thank for you recommandation and advice

    This is a System Center Configuration Manager 2007 forum. You should post your question in a Windows forum although to my knowledge, there is nothing built-in to Windows to provide this capability and you will have to implement a third-party solution.
    Jason | http://blog.configmgrftw.com

Maybe you are looking for