HTTP Post in HTTP adapter

Hi,
We are developing one interface in which sender Torex system sends message in "HTTP Post" format.
In this sender application wants the url in following format.
http://server:port/sap/xi/adapter_plain?service=<xxx>&namespace=<xxx>&interface=<xxx>&sap-user=<xxx>&sap-password=<xxx>&qos=BE&ProductID=000000000000000216&uid=500014&deviceID=0725&StoreID=0004
In above "HTTP Post" format data has been sent in url without body of message.
I know the option in below blog.
https://weblogs.sdn.sap.com/pub/wlg/13639
But is there any other solution for this?
xml payload for above message is as below.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:interface xmlns:ns0="namespace">
   <ProductID>000000000000000216</ProductID>
   <UID/>
   <DeviceID/>
   <StoreID>0004</StoreID>
</ns0:ExternalStockLocator_Retail_REQ>
Thanks
Edited by: darshana-PI on Feb 10, 2012 9:37 PM

Hello,
http://server:port/sap/xi/adapter_plain?service=<xxx>&namespace=<xxx>&interface=<xxx>&sap-user=<xxx>&sap-password=<xxx>&qos=BE&ProductID=000000000000000216&uid=500014&deviceID=0725&StoreID=0004
In above "HTTP Post" format data has been sent in url without body of message.
Please remember that when creating a sender/receiver using the Plain HTTP Adapter, the following are automatically filled out
Transport Protocol: HTTP 1.0, Message Protocol: XI Payload in HTTP Body. The transport protocol means that only HTTP 1.0 is supported and that for it to work, an HTTP Body is required.
Hope this helps,
Mark

Similar Messages

  • Mail changes HTTP POST to HTTP GET in HTML attachments?

    Has anyone else noticed this? I'm using an encrypted e-mail system from Voltage Security (www.voltage.com) and my co-workers swear it used to work on the iPhone prior to iPhone 2.0 firmware.
    The way the system works is that it sends encrypted content as an HTML attachment. The recipient opens the attachment, clicks the button, and the browser will then POST the encrypted content back to the server so that the server can decrypt it and display it as output back to the browser.
    The problem is that the iPhone mail application appears to be mangling the attachment and changing the SUBMIT type on the HTML FORM from POST to GET. This totally breaks the system since the server is not expecting a GET and of course, it doesn't have the information necessary.
    There doesn't appear to be a setting to disable this behavior. Is anyone aware of a work-around to prevent Mail on the iPhone from mangling the attachments in this way? Mail on OS X does not behave the same way. The attachment is left in tact on OS X and properly POSTs through the browser (at least when using Firefox as the default browser).

    Yes, but it does not work.
    jserv.log:
    (ERROR) ajp12: Servlet Error: POST is not supported by this URL
    -->
    </HEAD>
    <TITLE>Auto Login</TITLE>
    <H3>Form Test</H3>
    </HEAD>
    <BODY>
    <FORM NAME="myForm" METHOD="POST" ACTION="/servlet/f60servlet?config=mytest">
    <HR>
    <P><PRE>
    <BR> Call forms application
    <BR></PRE>
    <HR>
    <INPUT TYPE=hidden NAME=userid VALUE="mylogin/mypass@mydbserver">
    <INPUT TYPE=submit NAME=click VALUE=Submit>
    </FORM>
    </BODY>

  • HTTP POST binding not available in 11g???

    Hi,
    I am trying to call a HTTP service using HTTP POST, passing HTTP params to it. I created a small bpel process in 10.1.3.4, and used the HTTP POST samples, which worked out really well.
    However target platform is 11g. So I just tried to migrate the project and got the following warnings.
    WARNUNG: UPGBPEL-02043: The WSDL used for "HTTPPostParam" has HTTP based binding definition for the porttype specified. SOA Suite 11g does not support this and hence upgrade will not carry this over to the generated composite. Compilation will fail if the composite reference is not setup with binding. After upgrade, setup the reference by specifying a WSDL with SOAP binding. Check SOA Upgrade guide for more information.
    WARNUNG: UPGBPEL-02009: No Binding setup for : "HTTPPostParam". This will cause compilation of the upgraded project to fail. Check SOA Upgrade documentation on manual steps necessary to bind this composite reference. If necessary, upgrade and deploy any dependencies. If planning to retain 1013x nodes in this projects dependency tree, check earlier part of this log for 1013x WSDL URLs that can be used.
    Does this really tell me that HTTP post or get is not available anymore? Or do I miss anything? Or is there a workaround?
    Thanks and regards,
    Thomas
    PS: This is my POSTParam WSDL, which is not yet complete, but working on 10.1.3.4
    <?xml version="1.0" encoding="utf-8"?>
    <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:tns="http://http.oracle.com/postParam"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    targetNamespace="http://http.oracle.com/postParam"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:get="http://xmlns.oracle.com/HttpClientBPELProcess">
    <types>
    <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema">
    <xsd:import schemaLocation="HttpClientBPELProcess.xsd"
    namespace="http://xmlns.oracle.com/HttpClientBPELProcess"/>
    </xsd:schema>
    <!--
    <xsd:schema elementFormDefault="qualified"
    targetNamespace="http://http.oracle.com/postParam">
    <xsd:element name="param" nillable="true" type="xsd:string"/>
    </xsd:schema>
    -->
    </types>
    <message name="HttpPostParamIn">
    <part name="HighwayEndpointId" type="xsd:string"/>
    <part name="HighwayMessageId" type="xsd:string"/>
    <part name="HighwayMessage" type="xsd:string"/>
    <part name="Synchronous" type="xsd:string"/>
    <part name="DISABLE_MESSAGEINPUT_ECHO" type="xsd:string"/>
    </message>
    <message name="HttpPostParamOut">
    <part name="Body" element="get:Request"/>
    </message>
    <portType name="HttpPostParamPortType">
    <operation name="PostData">
    <input message="tns:HttpPostParamIn"/>
    <output message="tns:HttpPostParamOut"/>
    </operation>
    </portType>
    <binding name="HttpPostParamBinding" type="tns:HttpPostParamPortType">
    <http:binding verb="POST"/>
    <operation name="PostData">
    <http:operation location="/highway/http/SubmitMessage"/>
    <input>
    <mime:content type="application/x-www-form-urlencoded"/>
    <!--
    <mime:content type="text" part="param1"/>
    <mime:content type="text" part="param2"/>
    -->
    </input>
    <output>
    <mime:mimeXml part="Body"/>
    </output>
    </operation>
    </binding>
    <service name="PostParamService">
    <port name="HttpPostParamPort" binding="tns:HttpPostParamBinding">
    <http:address location="http://itrax03.wlgore.com:8080"/>
    </port>
    </service>
    <plnk:partnerLinkType name="PostParamService">
    <plnk:role name="PostParamServiceProvider">
    <plnk:portType name="tns:HttpPostParamPortType"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>

    The sample that heidi posted above is basically the codebase to the http binding we are planning to ship with Patchset 2. It's based on Jax-WS' http binding.
    Let me know if you run into any issues (the source is included - so you can play around :) - no license )

  • Connect by HTTP-Post

    Hi,
    am i correct if i think that it is not possible to connect to rwservlet via http-post, only http-get.
    And that is the reason i get REP-56048 when i try it?
    Thanks.
    Regards
    Chris

    Hi,
    thanks for this suggestion. It put my on the right way, because i examined the http-request, sended by the form with paramform=yes.
    In my case a report is called with paramters which executes a sql-query on a database.
    For this a key is configured in cgicmd, that holds the DB-connection data and takes the other parameters from the url-parameters.
    Calling a report per HTTP-Post that doesnt need a database connection was easy, since it didnt need to use the cgicmd-key.
    But calling the cgicmd-key didnt work.
    The report enginge crashed:
    [2012/6/12 11:1:58:807] Exception 50125 (org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe
         at com.sun.corba.se.internal.iiop.IIOPConnection.purge_calls(IIOPConnection.java:438)
         at com.sun.corba.se.internal.iiop.ReaderThread.run(ReaderThread.java:70)
    ): Interner Fehler org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe
    [2012/6/12 11:1:58:807] Info 56029 (EngineManager:shutdownEngine): Shutting down engine rwEng-0
    It turns out that for HTTP-Post not the same URL as for HTTP-GET can be used.
    In contrary to GET in case of POST the cgi-cmdkey must be passed in the additional paramter "hidden_run_parameters" to make the HTTP-POST to the cgicmd-key work:
    hidden_run_parameters=your_cgicmdkey
    It is not needed as the "first paramter" in the URL anymore. Perhaps that is due the fact, that there is no specific order on post parameters (is this true?, sounds correct ;-)
    However, i still have the feeling that this is a kind of undocumented hack, as since now, i didnt find any documentation on this.
    Has anyone had any expirences with this?
    Regards
    chris

  • 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

  • HTTP Post WSDL in J2EE/HOME ?

    A customer created a BPEL process which has a partner-link defined for a WSDL located in the same directory as the project's bpel.xml file. The partner-link is to perform a http post using http binding. (basically the WSDL points to a deployed Servlet)
    When the process is initiated via the BPEL Console an error in the domain.log occurs stating that the WSDL cannot be found in j2ee/home.
    The customer can use "wsdlLocation" and "wsdlRuntimeLocation" in bpel.xml, to work past the error but why are we searching for the WSDL in j2ee/home ?
    The error:
    <summary>Failed to read wsdl. Error happened when reading wsdl at
    "HTTPPostService.wsdl", because "WSDLException: faultCode=PARSER_ERROR: Error
    reading file at: file:/D:/AS/ORA10122MID/j2ee/home/HTTPPostService.wsdl:
    D:\AS\ORA10122MID\j2ee\home\HTTPPostService.wsdl (The system cannot find the
    file specified)". Make sure wsdl exists at that URL and is valid. </summary>
    Thanks
    Michael.

    this sounds strange, and I never heard of it ..
    can you get us a step by step tutorial to see if our support can reproduce this ..
    which version are you using?
    thank you,

  • POST through HTTPs

    Hi, I try to perform http POST using
    http://martin.nobilitas.com/java/cookies.html
    it works.
    However, when I try to perform POST using https, by using tips
    // Dynamically register the JSSE provider.
    java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    // Set this property to use Sun's reference implementation of the HTTPS protocol.
    System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
    it won't work anyone. I get error
    Exception java.io.IOException: Server returned HTTP response code: 500 for URL: https://www.xyz.com/dologin.jsp
    any suggestion?
    thanks

    * Main.java
    * Created on April 15, 2007, 10:05 PM
    * To change this template, choose Tools | Template Manager
    * and open the template in the editor.
    package oskcookies;
    import java.net.*;
    import java.io.*;
    * @author yccheok
    public class Main {
        /** Creates a new instance of Main */
        public Main() {
    /** Post a string to an URL and get the reply as a string. Returns an empty
    string if things didn't work out. */
        static public String getURLPostString(URL url, String body) {
            StringBuffer sb = new StringBuffer();
         // find the newline character(s) on the current system
            String newline = null;
            try {
                newline = System.getProperty("line.separator");
            } catch (Exception e) {
                newline = "\n";
            try {
             // URL must use the http protocol!
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("POST");
                conn.setAllowUserInteraction(false); // you may not ask the user
                conn.setDoOutput(true); // we want to send things
                // the Content-type should be default, but we set it anyway
                conn.setRequestProperty( "Content-type", "application/x-www-form-urlencoded" );
                // the content-length should not be necessary, but we're cautious
                conn.setRequestProperty( "Content-length", Integer.toString(body.length()));
                // get the output stream to POST our form data
                OutputStream rawOutStream = conn.getOutputStream();
                PrintWriter pw = new PrintWriter(rawOutStream);
                pw.print(body); // here we "send" our body!
                pw.flush();
                pw.close();
                // get the input stream for reading the reply
                // IMPORTANT! Your body will not get transmitted if you get the
                // InputStream before completely writing out your output first!
                InputStream  rawInStream = conn.getInputStream();
                // get response
                BufferedReader rdr = new BufferedReader(new InputStreamReader(rawInStream));
                String line;
                while ((line = rdr.readLine()) != null) {
                    sb.append(line);
                    sb.append(newline);
                return sb.toString();
            } catch (Exception e) {
             System.out.println("Exception "+e.toString());
             e.printStackTrace();
            return ""; // an exception occurred
         * @param args the command line arguments
        public static void main(String[] args) {
            // TODO code application logic here
            try {
                // Dynamically register the JSSE provider.
                java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
                // Set this property to use Sun's reference implementation of the HTTPS protocol.
                System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
                URL url = new java.net.URL("https://www.abc.com/dologin.jsp");
                String txtUserName = "txtUserName="+URLEncoder.encode("username");
                String txtPassword = "txtPassword="+URLEncoder.encode("name");
                String _continue = "continue="+URLEncoder.encode("/quotes.jsp");
                String sessionError = "sessionError="+URLEncoder.encode("0");
                String body = txtUserName + "&" + txtPassword + "&" + _continue + "&" + sessionError;
                /* https://www.abc.com/dologin.jsp?txtUserName=username&txtPassword=password&continue=%2Fquotes.jsp&sessionError=0 */
                System.out.println(getURLPostString(url, body));
            catch(java.net.MalformedURLException exp) {
                exp.printStackTrace();
    }please take note that, when i directly enter this URL in my web browser (https://www.abc.com/dologin.jsp?txtUserName=username&txtPassword=password&continue=%2Fquotes.jsp&sessionError=0), the page can be login successful.
    However, if I execute the above code, I get the following error:
    Exception java.io.IOException: Server returned HTTP response code: 500 for URL: https://www.abc.com/dologin.jsp

  • HTTP/S POST from J2SE adapter engine (NO SOAP)

    Hi there,
    We have a scenario at work where we have XI sending messages to the "lightweight" J2SE adapter engine in the DMZ....and from there the message is sent out to an HTTPS site that is obvioulsy outside of our network.
    Currently I can see that the J2SE adapter engine support SOAP over HTTP/S......but how can I do a normal POST of the message NOT using SOAP to an external HTTP/S address?
    I do not see any straight HTTP adapter in the J2SE adapter engine. I have a small java file that can connect and POST the message to the external website.
    My question is how can I use this code easily in the J2SE adapter engine? I just want a simple HTTP
    POST ...no SOAP.....
    Is there some sort of EXIT or dispatcher that I can hook onto?
    Any help or push in the right direction will be greatly appreciated
    Regards
    Lynton

    Hi there,
    You can see in the config file below that we did put it into the adapter config. It does not complain about the parameter BUT it still has the SOAP envelope / headers in the result message. Any ideas how we can get around this?
    Thanks for the help
    Lynton
    # Bubble adapter java class
    classname=com.sap.aii.messaging.adapter.ModuleBubble
    # Sets the bubble module helper that can instantiate your bubble bag
    Bubble.Helper=com.sap.aii.messaging.adapter.ModuleBubbleHelperXMBWSImpl
    #$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    # Below this line are the parameters specific to the ModuleBubbleHelperXMBWSImpl
    #$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    # The configuration of this helper class is divided in three parts. The first part,
    # Part 0, specifies the common parameters. The second part, Part 1, specifies the
    # adapter configuraton for Web-Service clients communicating with an XMB server.
    # The third part, Part 2, specifies the configuration for XMB clients
    # communicating with a WebService server. For sender or inbound adapters, Part 0
    # and Part 1 must be configured. For receiver or outbound adapters, Part 0 and
    # Part 2 must be configured.
    # This is a sample configuration file for a SOAP Outbound/Receiver Adapter
    ###### Part 0 (FromWS and ToWS) : common part ######
    # Keeps the XMB headers in web service messages
    XMBWS.KeepHeaders=false
    # Keeps the attachments in web service messages
    XMBWS.KeepAttachments=false
    # Encodes the xmb headers into a special HTTP header string x-xmb_ws_encoded
    XMBWS.UseEncoded=false
    # Encodes the value of x-xmb_ws_encoded (see UseEncoded) in the request query string
    XMBWS.UseQueryString=false
    # Uses the specified xml encoding for the soap envelope encoding
    #XMBWS.XMLEncoding=iso-8859-1
    *XMBWS.NOSOAP=true*
    ###### Part 1 (FromWS) : WS clients to XMB server ######
    # This part is configured for SOAP Sender or SOAP Inbound-Adapter)
    # It is left empty in this configuraton file.
    ###### Part 2 (ToWS): XMB clients to WS server ######
    # This part is configured for SOAP Receiver or SOAP Outbound-Adapter.
    # The target URL for the web service, to which the adapter sends web service messages.
    XMBWS.TargetURL=https://localhost:443
    # The port and path where the adapter waits for XMB messages from clients.
    XMBWS.XMBPort=8015
    XMBWS.XMBPath=/bt
    XMBWS.SSLcertificate=somecert.p12
    XMBWS.SSLcertificatePassword=hello
    XMBWS.SSLauthentication=true
    # The default SOAPAction HTTP request header to the web Service server
    XMBWS.DefaultSOAPAction=xmbws
    # END

  • How  to config receiver http adapter for HTTP POST without XML tags ??

    Hi All,
    Can you please provide some infornation on How  to config receiver http adapter for HTTP POST (Request) without XML tags ?? Our receiving product doesn't support XML formats.
    Is there any option to bypass server authentication on the XI?
    If anybody has the same experience or know how to please provide inputs.
    Thanx
    Navin

    Hi,
    you can use xsl mapping for this in which u xtract
    the contents only but not the xml tag.
    Ranjit

  • XI http-adapter; http-post test tool?

    Hi All
    We have following scenario: system A sends data to R/3 through XI, XI's inbound adapter is type http (Syst A -> XI 3.0 -> R/3).
    Now we need to test the XI's inbound http-adpater.
    Does anyone have some experience with a tool that can send xml-document to XI using http-post or HTML code for this?
    Many Thanks,
    Sami

    Hi Sami,
    Make sure you have activated the plain http adapter.
    1.Edit the HTML code below to change the Hostnames (Radio buttons)/Port numbers to suit your needs.
    2.On selection of radio button you will get the hostname and portnumber populated automatically.
    3.supply the values for sender business system, sender interface and sender namespace and QoS.
    4.Copy and paste the XML in the text area.(make sure you delete the detault tab spaces in the text area) or you can select the file from the file system.
    5.Click Send XML button
    <html>
    <head>
    <title>Send XML Data to XI System</title>
    <script language="javascript">
    <!--
    function SendData() {
      var mypath = document.myform.filename.value;
         var myescns = escape(document.myform.mynamespace.value);
         var mycall = 'http://'
         + document.myform.myhost.value  + ':'
         + document.myform.myport.value + '/sap/xi/adapter_plain?bs='
         + document.myform.mysystem.value + '&namespace='
         + myescns + '&interface='
         + document.myform.myinterface.value + '&qos='
         + document.myform.myqos.value;
         var xmlstream;
         if (document.myform.selectXML[0].checked == true) {
              xmlstream = new ActiveXObject("ADODB.Stream");
              xmlstream.Mode = 3;                                                                                      // 1=read  3=read/write
              xmlstream.Open();
              xmlstream.Type = 1;                                                                                      // 1=adTypeBinary  2=adTypeText
              xmlstream.LoadFromFile(mypath);
         else {
              xmlstream = document.myform.xmltext.value;
         var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         xmlhttp.Open("POST",mycall,false);
         xmlhttp.setRequestHeader("Content-Length",xmlstream.Size);
         xmlhttp.setRequestHeader("Content-Type","text/xml");
         if (document.myform.selectXML[0].checked == true) {
           xmlhttp.send(xmlstream.Read(xmlstream.Size));
         else {
           xmlhttp.send(xmlstream);
         XICall.innerText = mycall;
         XIAnswer.innerHTML = xmlhttp.responseText;
    function getFile() {
      var mypath = document.myform.filename.value;
         var ForReading  = 1;
         objFSO          = new ActiveXObject("Scripting.FileSystemObject");
         objTextFile     = objFSO.OpenTextFile(mypath, ForReading);
         var filearray   = "";
         for(var n=0;!objTextFile.AtEndOfStream;n++) {
              sRead = objTextFile.ReadLine();
              filearray += sRead + "n";
         objTextFile.Close();
         document.myform.xmltext.value = filearray;
    function setDefaults(n) {
         switch(n) {
              default:
                   document.myform.filename.value = "";
                   document.myform.myhost.value = "";
                   document.myform.myport.value = "";
                   document.myform.mysystem.value="";
                   document.myform.mynamespace.value="";
                   document.myform.myinterface.value="";
                   document.myform.myqos.value="EO";
                   break;
    function setHost(n) {
         switch(n) {
              case 1:
                   document.myform.myhost.value = "yourhostname1";
                   document.myform.myport.value = "8080";
                   break;
              case 2:
                   document.myform.myhost.value = "yourhostname2";
                   document.myform.myport.value = "8000";
                   break;
              case 3:
                   document.myform.myhost.value = "yourhostname3";
                   document.myform.myport.value = "8000";
                   break;
              default:
                   document.myform.myhost.value = "";
                   document.myform.myport.value = "";
    function setNamespace(n) {
         switch(n) {
              case 1:
                   document.myform.mynamespace.value = "urn:sap-com:document:sap:rfc:functions";
                   break;
              case 2:
                   document.myform.mynamespace.value = "urn:sap-com:document:sap:idoc:messages";
                   break;
              default:
                   document.myform.mynamespace.value = "";
    //-->
    </script>
    </head>
    <body>
    <form name="myform">
    <p>XI adapter parameters: </p>
    <!--
    <input type="radio" name="selectDefaults" value="" onClick="setDefaults(1)">XR3 Test PO
    <input type="radio" name="selectDefaults" value="" onClick="setDefaults(2)">XR3 Test Vendor
    <input type="radio" name="selectDefaults" value="" onClick="setDefaults(9)" checked>None
    -->
    <p>
    <table border=0>
    <tr><td>hostname:</td><td>
    <input type="text" name="myhost" size=50 maxlength=100
    value=""><br/></td></tr>
    <tr><td></td>
    <td>
    <input type="radio" name="selectHost" value="" onClick="setHost(1)">XI1
    <input type="radio" name="selectHost" value="" onClick="setHost(2)">XI2
    <input type="radio" name="selectHost" value="" onClick="setHost(3)">XD3
    <input type="radio" name="selectHost" value="" onClick="setHost(9)" checked>Other
    </td></tr>
    <tr><td>port:</td><td>
    <input type="text" name="myport" size=50 maxlength=100
    value=""><br/></td></tr>
    <tr><td>sender business system:</td><td>
    <input type="text" name="mysystem" size=50 maxlength=100
    value=""><br/></td></tr>
    <tr><td>sender interface:</td><td>
    <input type="text" name="myinterface" size=50 maxlength=100
    value=""><br/></td></tr>
    <tr><td>sender namespace:</td><td>
    <input type="text" name="mynamespace" size=50 maxlength=100
    value=""></td>
    </tr>
    <tr><td></td>
    <td>
    <input type="radio" name="selectNamespace" value="" onClick="setNamespace(1)">RFC
    <input type="radio" name="selectNamespace" value="" onClick="setNamespace(2)">IDoc
    <input type="radio" name="selectNamespace" value="" onClick="setNamespace(3)" checked>Other
    </td></tr>
    <tr><td>quality of service (EO/BE):</td><td>
    <select name="myqos">
    <option value="BE" selected>Best Effort</option>
    <option value="EO" >Exactly Once</option>
    </select>
    <br/></td></tr></table>
    <p></p>
    <input type="button" value="Send XML File" onclick="return SendData()">
    <p>XML Text:
    <table>
         <tr>
              <td><input type="radio" name="selectXML" value="1">from File</td>
              <td><input type="radio" name="selectXML" value="2" checked>from Text</td>
         </tr>
         <tr valign="top">
              <td>
                   Path to XML file: (e.g. C:temptest.xml)
                   <br><input type="file" name="filename" size=30 maxlength=80 value="" onChange="return getFile()">
              </td>
              <td>
                   Text for XML:
                   <br><textarea name="xmltext" cols="50" rows="20" wrap="off">
                   </textarea>
              </td>
         </tr>
    </table>
    <p>XI call:</p>
    <div id=XICall></div>
    <p>Answer:</p>
    <div id=XIAnswer></div>
    </form>
    </body>
    </html>
    Regards,
    Sridhar
    Message was edited by: Sridhar Rajan Natarajan

  • Is it possible to call a SOAP webservice using HTTP POST adapter

    Hello Experts,
    Is it possible to call a webservice using a HTTP adapter with POST method? If yes, how?
    Regards,
    Diptee

    No this will not work since you have additional SOAP information (i.e. SOAP envelope, security information) in addition to the payload. If you need a simple HTTP-Post for example, then you don't need SOAP, you can use the more simple http protocol without the additional features of SOAP.
    Also refer to this link for differences: Difference b/w SOAP and HTTP

  • Maximum HTTP posts to "Plain HTTP" adapter

    Hello,
    I am working on some load testing on a development box that we have for a simple synchronous HTTP<>XI<>RFC interface.  I have tested up to around 45 simultaneous users and the XI box starts to reply with 500 Internal Server Errors to the HTTP posts.  Up until that point it processes the messages fine and returns the correct response and 200 OK codes.
    Could someone direct me to the configuration on the XI box for the maximum number of HTTP requests to process or an explanation of why the server starts to drop POSTs?  Thanks for your help!
    Regards,
    Anthony Cesaro

    Hi,
    have a look at those two parameters from the XI profile:
    icm/HTTP/max_request_size_KB
    Maximum size of HTTP request accepted by ICM
    and
    connection timeout:
    icm/server_port_<xx>
    http://help.sap.com/saphelp_erp2004/helpdata/en/25/7e153a1a5b4c2de10000000a114084/content.htm
    maybe these will help
    Regards,
    michal

  • Http post to a url from a WebDynpro (Java) application

    Hi,
    I want to send http post parameters to a url from a WebDynpro (Java) component. I need to do this to send OCI catalog data back to SAP SRM.
    I found this thread:
    HTTP Post
    which suggests to use the the Suspend plug for this purpose.
    <quote>
    Sending POST parameters with Web Dynpro Suspend Plugs
    1) Define a an additional Suspend Plug parameter (besides 'Url' of type String) with name 'postParams' and of type Map
    </quote>
    After adding the postParams parameter of type java.util.Map to the Suspend-plug the WebDynpro gives the following error during build:
    Outbound plug (of type 'Suspend') 'suspend_plug' may have at most two parameters: 'url' of type 'string' and 'postParams' of type 'Map'.
    I use SAP NetWeaver Developer Studio version 7.0.16.
    Does someone know a solution? I would highly appreciate it.
    Thanks in advance.
    Eric

    Hi,
    Please have a look at this thread,
    Pass Table as Input to Adaptive RFC
    Regards,
    Saravanan K

  • Not able to send message - http post from MII 12.1.4.53 to PI 7.1

    Hi ,
    Question
    u2022     Is there any configuration to set up in MII and PI to do posting to PI as a web service? If YES, please guide.
    Situation
    u2022     We are with MII version 12.1.4.53 and trying to send message through http post to PI 7.1 server.
    u2022     We are getting the following error HTTP 500 Internal Error Issue.
    u2022     However we are able to post messages from SOAPUI through the same URL and with the MII system which is running on version 12.1.6.91 and 12.1.9.116
    u2022     HTTP Response received as below points to PI Configuration issue.
    Error
        <SOAP:Fault>
          <faultcode>SOAP:Server</faultcode>
          <faultstring>Server Error</faultstring>
          <detail>
            <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
              <context>XIAdapter</context>
              <code>ADAPTER.JAVA_EXCEPTION</code>
              <text><![CDATA[
    com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve inbound binding for the given P/S/A values: FP=senderService;TP=;FS=null;TS=;AN=null;ANS=null;
    thanks
    Rajesh

    Hi Anudeep,
    The question isNOT ABOUT the format of the URL which MII should use.
    Using the same URL we are able to post the message from other MII versions with in the landscape( MII version 12.1.6 and MII version12.1.9) and through SOAP UI.
    500 Internal server error Problem arises when the message is sent through the same URL from MII 12,1.4 Build(53) to PI 7.1 ( we tried https Post, XI Webservice, WebService action blocks)
    Question:
    Are thre any configuration settings specific to MII version12.1.4 Build 53 which needds to be set in MII to communicate to PI 7.1.
    Thanks
    Rajesh

  • PL/SQL posting to HTTP request

    Hi
    As part of a web application I am developing, I need to generate an HTTP post from a PL/SQL package. The problem I am having is that the message going out is not properly formatted and is being rejected by the listening application (in this case, WebCT)
    The MIME message should be formatted like this. (this is what I get when I use Perl to generate the call...)
    POST /webct/systemIntegrationApi.dowebct HTTP/1.1
    Host: roach:4041
    Connection: Keep-Alive, TE
    TE: trailers, deflate, gzip, compress
    User-Agent: RPT-HTTPClient/0.3-3E
    Accept-Encoding: deflate, gzip, x-gzip, compress, x-compress
    Content-type: multipart/form-data; boundary=WebCT_Enterprise_API_boundary
    Content-length: 1506
    --WebCT_Enterprise_API_boundary
    Content-Disposition: form-data; name="adapter"
    ims
    --WebCT_Enterprise_API_boundary
    Content-Disposition: form-data; name="ACTION"
    import
    --WebCT_Enterprise_API_boundary
    Content-Disposition: form-data; name="OPTION"
    unrestrict
    --WebCT_Enterprise_API_boundary
    Content-Disposition: form-data; name="SCTMODE"
    OFF
    --WebCT_Enterprise_API_boundary
    Content-Disposition: form-data; name="TIMESTAMP"
    1091141996
    --WebCT_Enterprise_API_boundary
    Content-Disposition: form-data; name="AUTH"
    3D 1F DC E0 F7 15 5A 1F F4 99 CA 70 D4 68 1C 57
    --WebCT_Enterprise_API_boundary
    Content-Disposition: form-data; name="FILENAME"; filename="baseline_import.xml"
    <?xml version="1.0" encoding="iso-8859-1"?>
    <!DOCTYPE ENTERPRISE SYSTEM "IMS-EP01.dtd">
    <ENTERPRISE>
    <PROPERTIES>
    <DATASOURCE>McGill University SCT Banner</DATASOURCE>
    <TYPE>Initial Creation</TYPE>
    <DATETIME>2000-00-00T12:00:00</DATETIME>
    </PROPERTIES>
    <GROUP>
    <SOURCEDID>
    <SOURCE>Banner 2000 SCT Banner</SOURCE>
    <ID>6536.200409</ID>
    </SOURCEDID>
    <DESCRIPTION>
    <SHORT>HIST-666-001</SHORT>
    </DESCRIPTION>
    <RELATIONSHIP myrelationship="3">
    <SOURCEDID>
    <SOURCE>Banner 2000 SCT Banner</SOURCE>
    <ID>6537.200409</ID>
    </SOURCEDID>
    </RELATIONSHIP>
    </GROUP>
    </ENTERPRISE>
    WebCT_Enterprise_API_boundary
    HTTP/1.1 200 OK
    Date: Thu, 29 Jul 2004 21:56:27 GMT
    Server: Apache/2.0.49 (Unix) DAV/2 mod_ssl/2.0.49 OpenSSL/0.9.6m mod_jk/1.2.3-dev
    Keep-Alive: timeout=15, max=100
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html
    35
    Success: Import file (baseline_import.xml) complete.
    0
    My PL/SQL code that tries to build the outgoing call is
    req := utl_http.begin_request('http://atlas.cc.mcgill.ca:8900/webct/systemIntegrationApi.dowebct','POST', 'HTTP/1.1');
    utl_http.write_text(req,'Content-type: multipart/form-data; boundary=WebCT_Enterprise_API_Boundary' || CHR(13)|| CHR(10) ||
                   '' || CHR(13)|| CHR(10) ||
                   '--WebCT_Enterprise_API_Boundary' || CHR(13)|| CHR(10) ||
                   'Content-Disposition: form-data; name="adapter"' || CHR(13)|| CHR(10) ||
                   '' || CHR(13)|| CHR(10) ||
                   'ims' || CHR(13)|| CHR(10) ||
                   '--WebCT_Enterprise_API_Boundary' || CHR(13)|| CHR(10) ||
                   'Content-Disposition: form-data; name="ACTION"' || CHR(13)|| CHR(10) ||
                   '' || CHR(13)|| CHR(10) ||
                   'import' || CHR(13)|| CHR(10) ||
                   '--WebCT_Enterprise_API_Boundary' || CHR(13)|| CHR(10) ||
                   'Content-Disposition: form-data; name="OPTION"' || CHR(13)|| CHR(10) ||
                   '' || CHR(13)|| CHR(10) ||
                   'unrestrict' || CHR(13)|| CHR(10) ||
                   '--WebCT_Enterprise_API_Boundary' || CHR(13)|| CHR(10) ||
                   'Content-Disposition: form-data; name="SCTMODE"' || CHR(13)|| CHR(10) ||
                   '' || CHR(13)|| CHR(10) ||
                   'OFF' || CHR(13)|| CHR(10) ||
                   '--WebCT_Enterprise_API_Boundary' || CHR(13)|| CHR(10) ||
                   'Content-Disposition: form-data; name="TIMESTAMP"' || CHR(13)|| CHR(10) ||
                   '' || CHR(13)|| CHR(10) ||
                   timestamp || CHR(13)|| CHR(10) ||
                   '--WebCT_Enterprise_API_Boundary' || CHR(13)|| CHR(10) ||
                   'Content-Disposition: form-data; name="AUTH"' || CHR(13)|| CHR(10) ||
                   '' || CHR(13)|| CHR(10) ||
                   mac || CHR(13)|| CHR(10) ||
                   '--WebCT_Enterprise_API_Boundary' || CHR(13)|| CHR(10) ||
                   'Content-Disposition: form-data; name="FILENAME"; filename="xlist.xml"' || CHR(13)|| CHR(10) ||
                   '' || CHR(13)|| CHR(10) ||
                   total_xml_string || CHR(13)|| CHR(10) ||
                   '--WebCT_Enterprise_API_Boundary--' || CHR(13)|| CHR(10));
    resp := utl_http.get_response(req);
    utl_http.read_text(resp, val);
    utl_http.end_response(resp);
    When I watch the network traffic generated by this PL/SQL I do not have any carriage returns which makes WebCT to believe that the message does not carry the proper data and returns Fatal Failure(99): Invalid URL arguments...
    Is there somewhere where I can see sample code for placing HTTP requests using the utl_http package? Or if I am doing something obviously wrong (I am new at this whole PL/SQL thing...) please let me know.
    Thank you
    Bogdan

    If UTL_HTTP.SET_TRANSFER_TIMEOUT has no effect, probably your hang is due to the fact that the machine is completely down and inaccessible.
    As the name suggests, SET_TRANSFER_TIMEOUT only controls the timeout when UTL_HTTP succeeds in making a connection to the remote Web server and it times out the request when no more response is received by certain time while the connection is not closed by the remote server either.
    In your case, you probably need a connect-timeout which isn't provided by UTL_HTTP (yet).

Maybe you are looking for

  • ProcessFormSubmission form submitted as pdf issue

    Hi I have a scenario where, the form must be submitted as PDF content_type, i.e while designing the form, I am setting the submit form as "PDF" format. I have written a J2EE application that receives the submitted form.  Here is what, I am doing. Doc

  • Lumia 520 setting is not opening.

    I purchased 3 months ago. All things was working but now setting is not opening to set up anythings like updates location...etc. I really suffering from phone, What should I do to solve the location bcz I need maps and roads.

  • File shares disconect / drop out

    Once an hour or so the shares on my win 8.1 client drop out then reconnect.  It is very problematic for sensitive connected apps like Access. The shares are from a Win Server 2008 SP2. Any thoughts on what is causing this.  No-one else has the issue

  • Debug IOS Flex Mobile Application

    Hi! im trying to debug my application with my ipod but i get this error when try to add to my library with itunes: The app was not installed on the iPod because it is not compatible with this iPod any idea? Thnaks a lot!

  • Change JCO at runtime

    Hi all, Is there any way to change the used JCO at runtime? Aviad