Can i call a HTTP Post method in ABAP or XI?

Hi All,
Can you please let me know how to call a HTTP Post method in ABAP or XI?
my HTTP Post is looks like (HTML form)
<form action="http://111.111.111.1:8080/sample_url" method="POST">
<table>
<tr><th>applicationId</th><td><input type="text" name="applicationId" value="test"></td></tr>
<tr><th>authCode</th><td><input type="text" name="authCode" value="test"></td></tr>
<tr><th>message</th><td><input type="text" name="message" value="Hello"></td></tr>
<!--<tr><th>version</th><td><input type="text" name="version" value="3.1"></td></tr> -->
<tr><th>contractId</th><td><input type="text" name="contractId" value="test"></td></tr>
<tr><th>receiverMobileNumber</th><td><input type="text" name="receiver" value="11111111111"></td></tr>
<tr><td colspan="2"><input type="submit" name="send" value="send"></td></tr>
</table>
</form>
I have a requirement to send a message to the above mention URL using the POST method.
Please let me know the possibility of sending it from ABAP or XI adaptor.
Thanks & Regards,
Chaminda

Hi Prateek,
shoul we send the below code as the payload?
<tr><th>applicationId</th><td><input type="text" name="applicationId" value="test"></td></tr>
<tr><th>authCode</th><td><input type="text" name="authCode" value="test"></td></tr>
<tr><th>message</th><td><input type="text" name="message" value="Hello"></td></tr>
<!--<tr><th>version</th><td><input type="text" name="version" value="3.1"></td></tr> -->
<tr><th>contractId</th><td><input type="text" name="contractId" value="test"></td></tr>
<tr><th>receiverMobileNumber</th><td><input type="text" name="receiver" value="11111111111"></td></tr>
Thanks.
Chaminda

Similar Messages

  • How to call HTTP Post Method URL in SOA 10g

    Hi,
    I have a requirement where i need to call a HTTP Post Method, I have a URL, if i hit it in the browser, i am getting the response details. I know there is a HTTP Binding Adapter in 11g, but we are on 10g. Can anyone please let me know whether we can do it in 10g and how ?
    Thanks Always
    N

    You will need to write the WSDL by yourself. Just make sure you have the end point detail, operation name(if required) and the schema available to write the WSDL.

  • How to call HTTP POST method in SOA 10g

    Hi,
    I have a requirement where i need to call a HTTP Post Method, I have a URL, if i hit it in the browser, i am getting the response details. I know there is a HTTP Binding Adapter in 11g, but we are on 10g. Can anyone please let me know whether we can do it in 10g and how. ?
    Thanks Always
    N

    Look at 10g samples under tutorials/702.bindings.

  • Http POST method related

    What type of data we can send using http POST method apart from text(string) ? Is it possible to send some video or file or image through http POST method ?

    Consider the way you upload a file as an email attachment. Or when using a web-interface to upload a file to a web host. The only restriction you might encounter is a size limit.

  • Can I generate an HTTP POST after video completes?

    Can I generate an HTTP POST event after a Presenter video completes?

    Before I copy the file into my app, I certainly know what I am doing and how it work. I did the neccessary configration in my app in order to make it work fine.
    Moreover, I have created a lov using model provided from demo app in design time and it work fine:).
    But when I generate the lov in backingbean I got the exception rather than what I want.
    I think there is no neccesary for me to put the demo app's code here, as I do not think the it is the reason for my problem. And it's too long(over 800 lines).
    What I worry about is that is it the right method to setModel for the component in backingbean, and is it work for my requirement?
    Or is there any other way to achive my goal?
    Best regards~

  • JAX-WS -- Force a wsimport generated ws client to use http POST method

    I've used wsimport to generate a JAX-WS client for a wsdl and xsd bindings that were provided to me.
    The basic implementation goes something like this.
    URL serviceUrl = ...url to the live web service's wsdl (this will change often and needs to be data driven)
    QName qname = new QName("thenamespace", "MyService")
    MyService myService = new MyService(serviceUrl, qname);
    At this point a http GET request is sent to the server which promptly spits back a "405: method not allowed" because it is only configured to accept the http POST method.
    Unfortunately i cannot change this behavior and need a way to get the web service client to generate http POST requests.
    Setting the following seemed to have no effect.
    System.setProperty("javax.xml.ws.http.request.method", "POST");
    Thanks!

    so, keep the wsdl as a local resource and use a url for the local resource. then the service will not request the remote wsdl.

  • Example of sending the po request to my partner using https post method

    I need to send the po request to my partner using https post method.
    Is there any example for my scenario in oracle b2b?
    Usecase:
    mycompany
    othercompany
    mycompany -> Posts xml document with no namespace -> othercompany
    Protocol: https

    I need to send the po request to my partner using https post method.It is possible. FYI, by default HTTPS uses post method.
    Is there any example for my scenario in oracle b2b?Not exact sample is available but yes, similar samples are available here -
    http://www.oracle.com/technology/sample_code/products/b2b/index.html
    I would suggest you to go through below tutorial to have better understanding -
    http://www.oracle.com/technology/products/soa/b2b/collateral/B2B_TU003_ebxml.pdf
    Namespace is not an issue. It's upto you whether you like to keep it or not. From XML technology point of view, it is always recommended to have a namespace to bind each and every node with it, but I have seem cases where people don't use them.
    Regards,
    Anuj

  • Call Java Class and Methods from ABAP

    Hi
    I install de JCo, But how i can call java class and methods from ABAP?. somebody has an example?
    The tutorial say that's is possible,  but don't explain how do that?
    Thanks.
    Angel G. Hurtado

    If you need only simple java program, you do not need to install JCo. The following codes can call java class.
    DATA: COMMAND TYPE STRING VALUE 'C:\j2sdk1.4.2_08\bin\java',
          DIR TYPE STRING VALUE D:\eclipse\workspace',
          PARAMETER TYPE STRING VALUE 'Helloworld'. "here the name of your java program
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>EXECUTE
       EXPORTING
         APPLICATION = COMMAND
         PARAMETER = PARAMETER
         DEFAULT_DIRECTORY = DIR
       MAXIMIZED =
         MINIMIZED = 'X'     "If you need the DOS window to be minimized
      EXCEPTIONS
        CNTL_ERROR = 1
        ERROR_NO_GUI = 2
        BAD_PARAMETER = 3
        FILE_NOT_FOUND = 4
        PATH_NOT_FOUND = 5
        FILE_EXTENSION_UNKNOWN = 6
        ERROR_EXECUTE_FAILED = 7
        OTHERS = 8.
    Tell me if it works.
    Nuno.

  • 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 ?

  • 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

  • How to send plain text body in HTTP Post method ?

    Hi Exeperts,
    I have a scenario http post - ptoxy. Sender sending the data in http post in plain text body (only field values will be in the body).
    how should i capture this plain text for receiver to map..
    is any udf or xsl code ?
    please guide me for achieving this requirement .
    find the attachment for http post body value.
    Regards
    Ravi

    Hi Mark,
    Thanks for your reply,
    Please share you have any udf  for this .
    can you explain me how should i map to target side.
    what are the configuration should i done in communication channel level
    Regards
    Ravinder.s

  • Issue with Remove Namespace HTTP POST method

    I am working on an integration where cXML from the Partner will be posted to SOA and from SOA another HTTP post to end partner. its basically
    HTTP Post(partner 1)----------------->SOA--------------->HTTP Post(Partner 2).
    I have cXML its in dtd format which i have converted to Native format using file-adapter and added namespace schema. so My question is while cXML is post to SOA i have added namespace schema and consumed it to my BPEL, while it leaves out Partner2 through HTTP post again the namespace should be removed and sent to partner 2. I am stuck at this Point. need Urgent help. please. how to remove name space.

    Hi,
    Create xsl style sheet file (xml) from you jdeveloper. Path to go File->New. go to all technogloy tab and select All Items catagory and select XSL style sheet.
    Remove content in the generated xml file and copy and paste the below code
    <?xml version='1.0' encoding='UTF-8'?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xsl ns1">
    <xsl:template match="comment()|processing-instruction()|/">
    <xsl:copy>
    <xsl:apply-templates/>
    </xsl:copy>
    </xsl:template>
    <xsl:template match="*">
    <xsl:element name="{local-name()}">
    <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="@*">
    <xsl:choose>
    <xsl:when test="name() != 'xmlns'">
    <xsl:attribute name="{local-name()}">
    <xsl:value-of select="."/>
    </xsl:attribute>
    </xsl:when>
    </xsl:choose>
    </xsl:template>
    </xsl:stylesheet>
    In Your bpel process under assign activity give it as below
    <copy>
    ora:getContentAsString( ora:processXSLT( 'xsl/removeNamespaces.xsl', bpws:getVariableData('variable name','rootelement')))
    <to variable="String"/>
    </copy>
    String variable contains your xml message with out namespaces in string format.
    You can pass this string content to your partnerlink 2.
    Regards,
    Tarak.

  • HTTP POST method does not pass parameters to the server

    Hi ,
    I am using SSO using VSJ product and implemented using a filter.
    I have problems as below
    1. Every request to the web server will be intercepted by this vsj filter and if sso does not succeed it will send 403
    2. my system will detect 403 in web.xml and redirect to login page
    3. user key in username and password and log in
    4. after successful login set the HttpSession and redirect to homepage
    Problem is subsquent form submit / ajax call using "POST" method cannot pass any parameters to the servers ( parameters sent using POST will be null in the servers )  ? GET is okay
    If i comment out the vsj filter altogether , everything works as per normal.
    My Question is
    1. Is there anyway to overcome come ?
    2. Is there any method to clear off whatever this sso vsj has set ( clear cookies / start new browser instance / etc ) in order to forget the state
    Any idea?
    Thanks

    Yes.
    here to illustrate
    public MyFilter extends VSJAuthFilter
    *public void doFilter(){*
    *if(session.getAttribute("loginSucces") != true){*
    super.doFilter(); //call VSJ Auth filter to perform SSO in order to get User Principal populated.
    *}else{*
    chain.doFilter(); // normal filter
    My Filter only intercepts *.jsp and *.do
    Basically here is the pattern that i observe
    1. If i hit default url (homepage.do) for the first time it will trigger the super.doFilter() , it will then throw 403 and redirect to login.html , after success and go to homepage , subsequent POST parameter is missing
    2. if i hit the external login page directly just to simulate ( eg : login.html ) it wont trigger this filter , after success and go to homepage , subsequenet POST parameter is okay
    3. GET is always ok
    I am using weblogic server 10.x btw
    Thanks

  • How can we call java control source methods within jsp

    Hi guys!
              How can we access java control source methods that are defined in java control projects within jsp.I am getting error when I tried to call java control source's methods in scriptlet of JSP page.Any help/suggestion is appreciated.
              Thanks
              -Chandu

    Uh, what?
    (And you are sure that it's not a Weblogic-specific question?)

  • Can we call sap screens from our own abap program?

    Hi... Friends...,
        I want to develop one program...
    In that program my selection screen contains transcation code and screen number as input parameters.
    so now if i give  inputs as...
    > VA41
    > 4001
    for given T'code and screen number...
    I hav to get that screen directly!
    other wise it has to give error message like...
    > NO SCREEN EXISTS FOR VA41 WITH GIVEN SCREEN NUMBER
    Is it possible???
    If possible... guide me the logic...!
    Thanks,
    Naveen.I
    Edited by: Naveen Inuganti on Jul 14, 2008 11:15 AM

    No no.. thats ok...
    we can call screen and we can update...
    But in VA01 or in VA41 .. we are having more than 10 screens... can i call them with my selection screen inputs...?
    let me tel you one situation.
    I am having billing plan in VA41 screen's 4002nd screen so now i know the screen number and t'code here.
    So if i want to know the field documnetation or technical details of billing plan field... i hav to go through va41 transaction...
    can i do that from my program with one step?
    And..., 
    one more thing here we know that there will be some mandatory inputs for screens to get the screen which we are calling!
    So this reuirement may not possible for that kind of screen!
    Even....  I want your suggetions!
    Thanks,
    Naveen.I

Maybe you are looking for