Example-WSDL for http-POST binding

Hi all,
i'm looking for an example-WSDL of a http-POST binded service. I was searching in the ~\OraBPELPM_1\integration\orabpel\samples\tutorials\702.Bindings\HTTPBinding directory, but its the example is of a http-get binded service.
I need to know, how the message-definitions for the input have to look like (in the message-section and in the operation-section) when using an XML-input message.
thanks in advance
Albrecht

Gee! i didn't know there are some more samples! :o)
Thanks Clemens, i will test it.

Similar Messages

  • 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

  • Http_utl.text_write for http 'POST" does not work

    i have a proc that uses utl_http code I have seen all over on web sites for 'POST'ing to a REST web service ..... i use utl_http.write_text to write data to the request body but no data gets written ...... below are the code segments I use
    url entered directly into browser that **works fine**: http://www.media.com/admintool/Services.aspx?par_string=[{ "PAR_Transaction_Id" : 5566338, "MRI_Title_Name" : "4 Wheel & Off Road"}]
    calling routine:
    declare
    l_url varchar2 (300) := 'http://www.media.com/admintool/Services.aspx';
    l_data clob;
    l_query varchar2(32767);
    begin
    dbms_output.enable(3000000);
    l_data := '[{
    "PAR_Transaction_Id" : 5566338,
    "MRI_Title_Name" : "4 Wheel & Off Road"}]
    http_util_pkg.http_post(
    p_url_in => l_url, p_data_in => l_data);
    end;
    called routine segment:
    l_http_req := utl_http.begin_request (p_url_in, 'POST');
    -- Set the HTTP request headers
    utl_http.set_header(l_http_req, 'User-Agent', 'Mozilla/4.0');
    utl_http.set_header(l_http_req, 'content-type', p_data_type);
    utl_http.set_header(l_http_req, 'content-length', v_length);
    -- Write the data to the body of the HTTP request
    utl_http.write_text(l_http_req, 'par_string=');
    while v_index <= v_length
    loop
    utl_http.write_text(l_http_req, substr(p_data_in, v_index, 4000));
    dbms_output.put_line ('data = ' || substr(p_data_in, v_index, 4000));
    v_index := v_index + 4000;
    end loop;
    results .... you can see below that the header content length is non-zero but the response header says there is no content, so something is haywire with the write_text method
    url = http://www.media.com/admintool/Services.aspx
    length in data = 1271
    http package; url = http://www.media.com/admintool/Services.aspx
    after set authentication
    after write headers
    data = [{
    "PAR_Transaction_Id" : 5566338,
    "MRI_Title_Name" : "4 Wheel & Off Road"}]
    after write text
    status code: 200
    reason phrase: OK
    Connection: close
    Date: Tue, 06 Apr 2010 03:59:27 GMT
    Server: Microsoft-IIS/6.0
    X-Powered-By: ASP.NET
    X-AspNet-Version: 2.0.50727
    Cache-Control: private
    Content-Length: 0 *************** response header says no content !!!
    can you help me figure out what is wrong with the utl_http.write_text method ???
    thank you

    Please do not resurrect old threads - rather ask your question in a new thread. If need be, add a URL in your new thread posting that refers to the old thread. Also add as much relevant details as possible. Your Oracle version (all 4 digits). Your o/s. If possible, sample code and data that can be used as a test case. Complete error details. And what the intent of the code is (i.e. what the actual problem is that you're trying to solve).
    As for HTTP post - works just fine as far as I've used it.

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

  • Here is example code for HTTPS Tunneling through proxy(400 Lines of code

    Here is the source for Https Tunneling that I have gotten working. It is based on Pua Yeow Cheong's JavaWorld Tip 111. Thanks to David Lord for providing the final breakthrough that I needed.
    I have posted it here for anyone who wishes to use it. If you find any bugs, or write any improvements, please tack them onto the end of this thread.
    I have been trying to tackle this problem for quite some time, so I hope this helps a few of you out there.
    Lots of Luck,
    nightmask.
    <----- Begin Copy and Paste -------->
    import java.net.*;
    import java.io.*;
    import java.security.*;
    import sun.misc.BASE64Encoder;
    import javax.net.*;
    import javax.net.ssl.*;
    *  This example is based on JavaWorld Tip 111. Thanks to Pua Yeow Cheong for writing it.
    *  It tunnels through a proxy using the Https protocol.
    *  Thanks go to David Lord in the java forums for figuring out the main problem with Tip 111
    *  PLEASE NOTE: You need to have the JSSE 1.0.2 jars installed for this to work
    *  Downloads contents of a URL, using Proxy Tunneling and Basic Authentication
    public class URLReader {
         *  The main program for the URLReader class
        public static void main(String[] args) throws Exception {
            //set up strings for use in app. Change these to your own settings
            String proxyPassword = "password";
            String proxyUsername = "username";
            String proxyHost = "myproxy.com";
            String proxyPort = "3128";
            String connectionURL = "https://www.verisign.com";
            //set up system properties to indicate we are using a proxy
            System.setProperty("https.proxyHost", proxyHost);
            System.setProperty("https.proxyPort", proxyPort);
            System.setProperty("proxyHost", proxyHost);
            System.setProperty("proxyPort", proxyPort);
            System.setProperty("proxySet", "true");
            System.setProperty("http.proxyHost", proxyHost);
            System.setProperty("http.proxyPort", proxyPort);
            System.setProperty("http.proxySet", "true");
            //set up handler for jsse
            System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
            java.security.Provider prov = new com.sun.net.ssl.internal.ssl.Provider();
            Security.addProvider(prov);
            //create the connection
            URL myURL = new URL(connectionURL);
            URLConnection myConnection = myURL.openConnection();
            if (myConnection instanceof com.sun.net.ssl.HttpsURLConnection) {
                ((com.sun.net.ssl.HttpsURLConnection) myConnection).setSSLSocketFactory(new SSLTunnelSocketFactory(System.getProperty("proxyHost"), System.getProperty("proxyPort")));
            myConnection.setDoInput(true);
            myConnection.setDoOutput(true);
            BufferedReader in;
            try {
                System.err.println("opening Input stream1");
                in = new BufferedReader(
                        new InputStreamReader(
                        myConnection.getInputStream()));
                String inputLine;
                System.err.println("Input stream is Open1");
                while ((inputLine = in.readLine()) != null) {
                    System.err.println(inputLine);
                in.close();
                System.err.println("Input stream is Closed1");
            } catch (Exception e) {
                e.printStackTrace(System.err);
                String tmp = e.getMessage().toLowerCase().trim();
                System.err.println("tmp *" + tmp + "*");
                if (tmp.indexOf("http") > -1) {
                    //http error message to be parsed
                    tmp = tmp.substring(tmp.indexOf("http")).trim();
                    System.err.println("tmp *" + tmp + "*");
                    tmp = tmp.substring(8).trim();
                    System.err.println("tmp *" + tmp + "*");
                    if (tmp.startsWith("407")) {
                        //proxy authentication required
                        myURL = new URL(connectionURL);
                        myConnection = myURL.openConnection();
                        if (myConnection instanceof com.sun.net.ssl.HttpsURLConnection) {
                            ((com.sun.net.ssl.HttpsURLConnection) myConnection).setSSLSocketFactory(new SSLTunnelSocketFactory(System.getProperty("proxyHost"), System.getProperty("proxyPort"), proxyUsername, proxyPassword));
                        myConnection.setDoInput(true);
                        myConnection.setDoOutput(true);
                        try {
                            System.err.println("opening Input stream 2");
                            in = new BufferedReader(
                                    new InputStreamReader(
                                    myConnection.getInputStream()));
                            String inputLine;
                            System.err.println("Input stream is Open 2");
                            while ((inputLine = in.readLine()) != null) {
                                System.out.println(inputLine);
                            in.close();
                            System.err.println("Input stream is closed 2");
                        } catch (Exception ex) {
                            System.err.println(ex.getMessage());
                            ex.printStackTrace(System.err);
    *  SSLSocket used to tunnel through a proxy
    class SSLTunnelSocketFactory extends SSLSocketFactory {
        private String tunnelHost;
        private int tunnelPort;
        private SSLSocketFactory dfactory;
        private String tunnelPassword;
        private String tunnelUserName;
        private boolean socketConnected = false;
        private int falsecount = 0;
         *  Constructor for the SSLTunnelSocketFactory object
         *@param  proxyHost  The url of the proxy host
         *@param  proxyPort  the port of the proxy
        public SSLTunnelSocketFactory(String proxyHost, String proxyPort) {
            System.err.println("creating Socket Factory");
            tunnelHost = proxyHost;
            tunnelPort = Integer.parseInt(proxyPort);
            dfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
         *  Constructor for the SSLTunnelSocketFactory object
         *@param  proxyHost      The url of the proxy host
         *@param  proxyPort      the port of the proxy
         *@param  proxyUserName  username for authenticating with the proxy
         *@param  proxyPassword  password for authenticating with the proxy
        public SSLTunnelSocketFactory(String proxyHost, String proxyPort, String proxyUserName, String proxyPassword) {
            System.err.println("creating Socket Factory with password/username");
            tunnelHost = proxyHost;
            tunnelPort = Integer.parseInt(proxyPort);
            tunnelUserName = proxyUserName;
            tunnelPassword = proxyPassword;
            dfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
         *  Sets the proxyUserName attribute of the SSLTunnelSocketFactory object
         *@param  proxyUserName  The new proxyUserName value
        public void setProxyUserName(String proxyUserName) {
            tunnelUserName = proxyUserName;
         *  Sets the proxyPassword attribute of the SSLTunnelSocketFactory object
         *@param  proxyPassword  The new proxyPassword value
        public void setProxyPassword(String proxyPassword) {
            tunnelPassword = proxyPassword;
         *  Gets the supportedCipherSuites attribute of the SSLTunnelSocketFactory
         *  object
         *@return    The supportedCipherSuites value
        public String[] getSupportedCipherSuites() {
            return dfactory.getSupportedCipherSuites();
         *  Gets the defaultCipherSuites attribute of the SSLTunnelSocketFactory
         *  object
         *@return    The defaultCipherSuites value
        public String[] getDefaultCipherSuites() {
            return dfactory.getDefaultCipherSuites();
         *  Gets the socketConnected attribute of the SSLTunnelSocketFactory object
         *@return    The socketConnected value
        public synchronized boolean getSocketConnected() {
            return socketConnected;
         *  Creates a new SSL Tunneled Socket
         *@param  s                         Ignored
         *@param  host                      destination host
         *@param  port                      destination port
         *@param  autoClose                 wether to close the socket automaticly
         *@return                           proxy tunneled socket
         *@exception  IOException           raised by an IO error
         *@exception  UnknownHostException  raised when the host is unknown
        public Socket createSocket(Socket s, String host, int port, boolean autoClose)
                 throws IOException, UnknownHostException {
            Socket tunnel = new Socket(tunnelHost, tunnelPort);
            doTunnelHandshake(tunnel, host, port);
            SSLSocket result = (SSLSocket) dfactory.createSocket(tunnel, host, port, autoClose);
            result.addHandshakeCompletedListener(
                new HandshakeCompletedListener() {
                    public void handshakeCompleted(HandshakeCompletedEvent event) {
                        System.out.println("Handshake Finished!");
                        System.out.println("\t CipherSuite :" + event.getCipherSuite());
                        System.out.println("\t SessionId: " + event.getSession());
                        System.out.println("\t PeerHost: " + event.getSession().getPeerHost());
                        setSocketConnected(true);
            // thanks to David Lord in the java forums for figuring out this line is the problem
            // result.startHandshake(); //this line is the bug which stops Tip111 from working correctly
            return result;
         *  Creates a new SSL Tunneled Socket
         *@param  host                      destination host
         *@param  port                      destination port
         *@return                           tunneled SSL Socket
         *@exception  IOException           raised by IO error
         *@exception  UnknownHostException  raised when the host is unknown
        public Socket createSocket(String host, int port)
                 throws IOException, UnknownHostException {
            return createSocket(null, host, port, true);
         *  Creates a new SSL Tunneled Socket
         *@param  host                      Destination Host
         *@param  port                      Destination Port
         *@param  clientHost                Ignored
         *@param  clientPort                Ignored
         *@return                           SSL Tunneled Socket
         *@exception  IOException           Raised when IO error occurs
         *@exception  UnknownHostException  Raised when the destination host is
         *      unknown
        public Socket createSocket(String host, int port, InetAddress clientHost,
                int clientPort)
                 throws IOException, UnknownHostException {
            return createSocket(null, host, port, true);
         *  Creates a new SSL Tunneled Socket
         *@param  host             destination host
         *@param  port             destination port
         *@return                  tunneled SSL Socket
         *@exception  IOException  raised when IO error occurs
        public Socket createSocket(InetAddress host, int port)
                 throws IOException {
            return createSocket(null, host.getHostName(), port, true);
         *  Creates a new SSL Tunneled Socket
         *@param  address          destination host
         *@param  port             destination port
         *@param  clientAddress    ignored
         *@param  clientPort       ignored
         *@return                  tunneled SSL Socket
         *@exception  IOException  raised when IO exception occurs
        public Socket createSocket(InetAddress address, int port,
                InetAddress clientAddress, int clientPort)
                 throws IOException {
            return createSocket(null, address.getHostName(), port, true);
         *  Sets the socketConnected attribute of the SSLTunnelSocketFactory object
         *@param  b  The new socketConnected value
        private synchronized void setSocketConnected(boolean b) {
            socketConnected = b;
         *  Description of the Method
         *@param  tunnel           tunnel socket
         *@param  host             destination host
         *@param  port             destination port
         *@exception  IOException  raised when an IO error occurs
        private void doTunnelHandshake(Socket tunnel, String host, int port) throws IOException {
            OutputStream out = tunnel.getOutputStream();
            //generate connection string
            String msg = "CONNECT " + host + ":" + port + " HTTP/1.0\n"
                     + "User-Agent: "
                     + sun.net.www.protocol.http.HttpURLConnection.userAgent;
            if (tunnelUserName != null && tunnelPassword != null) {
                //add basic authentication header for the proxy
                sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
                String encodedPassword = enc.encode((tunnelUserName + ":" + tunnelPassword).getBytes());
                msg = msg + "\nProxy-Authorization: Basic " + encodedPassword;
            msg = msg + "\nContent-Length: 0";
            msg = msg + "\nPragma: no-cache";
            msg = msg + "\r\n\r\n";
            System.err.println(msg);
            byte b[];
            try {
                //we really do want ASCII7 as the http protocol doesnt change with locale
                b = msg.getBytes("ASCII7");
            } catch (UnsupportedEncodingException ignored) {
                //If ASCII7 isn't there, something is seriously wrong!
                b = msg.getBytes();
            out.write(b);
            out.flush();
            byte reply[] = new byte[200];
            int replyLen = 0;
            int newlinesSeen = 0;
            boolean headerDone = false;
            InputStream in = tunnel.getInputStream();
            boolean error = false;
            while (newlinesSeen < 2) {
                int i = in.read();
                if (i < 0) {
                    throw new IOException("Unexpected EOF from Proxy");
                if (i == '\n') {
                    headerDone = true;
                    ++newlinesSeen;
                } else
                        if (i != '\r') {
                    newlinesSeen = 0;
                    if (!headerDone && replyLen < reply.length) {
                        reply[replyLen++] = (byte) i;
            //convert byte array to string
            String replyStr;
            try {
                replyStr = new String(reply, 0, replyLen, "ASCII7");
            } catch (UnsupportedEncodingException ignored) {
                replyStr = new String(reply, 0, replyLen);
            //we check for connection established because our proxy returns http/1.1 instead of 1.0
            if (replyStr.toLowerCase().indexOf("200 connection established") == -1) {
                System.err.println(replyStr);
                throw new IOException("Unable to tunnel through " + tunnelHost + ":" + tunnelPort + ". Proxy returns\"" + replyStr + "\"");
            //tunneling hanshake was successful
    }<----- End Copy and Paste -------->

    BTW, if you are using an implementation in which
    the http/https implementation recognises
    the java.net.Authenticator properly, you can use
    that framework to do basic/digest authentication.
    I think Sun's JDK 1.4 supports both basic
    and digest for both proxies and the actual end
    site you connect via http/https, but I haven't
    tested it to be sure. I know it works
    with http/basic at the end host.
    Today's Ob hack:
    import java.net.*;
    import java.io.*;
    class MyAuth extends Authenticator {
        protected PasswordAuthentication getPasswordAuthentication() {
            System.out.println("The realm '" + getRequestingPrompt() +
                "' at '" + getRequestingHost() + ":" + getRequestingPort() +
                "'\n" + "using " + getRequestingProtocol() + " is requesting " +
                getRequestingScheme().toUpperCase() + " authentication.");
            System.out.println("");
            System.out.println("What should we send them?  Let's send them ...");
            System.out.println("");
            return new PasswordAuthentication("username", "password".toCharArray());    }  
    public class MyURL {
        public static void main(String[] args) throws Exception {
            // set to the authenticator you want to use.
            Authenticator.setDefault(new myAuth());
            URL url =
                new URL("http://www.some.com/something_protected/index.htm");
            BufferedReader in = new BufferedReader(
                                    new InputStreamReader(
                                    url.openStream()));
            String inputLine;
            while ((inputLine = in.readLine()) != null) {
                System.out.println(inputLine);
            in.close();

  • WSDL / SOAP http get binding

    Hello,
    i am looking for information regarding HTTP Get binding for SOAP. I have looked at the wsdl 1.1 specification which provides some information concerning that binding (http://www.w3.org/TR/wsdl#_http) and also in SOAP 1.2 (http://www.w3.org/TR/soap12-part0/#L26854). However all this is not precise enough.
    In particular, i am wondering whether the serialization of SOAP request (from its definition in a wsdl) using http get is clearly formalized somewhere (in a specification). If any, what are the limitations and constraints, for instance, does it support complex types defined in the WSDL. Are there implementations currently available?
    Thanks,
    Cyrille

    Hello,
    Which kind of Web Services are you building in JDeveloper?
    - JAX-RPC (J2EE 1.4)
    - Oracle Web Service stack (J2EE 1.3)
    What is your targetted environment?
    Oracle does not support Document style Web Services in Oracle Web Service stack (J2EE 1.3), it has to be done programmatically.
    However the JAX-RPC stack does support, and it is the default, Document style Web Services and you can right click on the Web Service node to edit the service.
    Regards
    Tugdual Grall

  • Listen for HTTP Post in Flex

    Hello,
    I just have a simple question.  In my Flex program, I am trying to find a way to listen for an incoming HTTP POST message - something with functionality similar to that of the HttpListener class in C#.  I have not been able to find anything at all to help with this though, would anyone know of something like this?
    Thanks.

    My Flex program subscribes to changes that occur in a program on remote server.  The change notifications are sent back to my client in the form of an HTTP Post message.  The Flex program needs to be able to detect when these Posts are received.

  • HTTP authentication key for hand shake at receiver side for HTTP POST

    Hi All,
    HTTP post receiver system is expecting an authentication key to be send by PI HTTP_AAE adapter while posting XML message to them.
    The receiver system has a utility program in JAVA to validate this key. Has anyone done this kind of scenario in PI 7.31/7.4
    How does this simple authentication mechanism works? If this doesn't work, we have to rely on just uname/pwd but that is not really recommended for our landscape because of security concerns. So the key is the only better option as of now. Please help!!
    thx
    mike
    Attached some import packages used in the java util program in the receiver system. for  validating the authentication key send by PI
    import java.security.MessageDigest;
    import java.util.Calendar;
    import java.security.NoSuchAlgorithmException;
    import java.io.UnsupportedEncodingException;
    import java.io.IOException;
    import sun.misc.BASE64Encoder;
    import sun.misc.BASE64Decoder;
    I am not pasting the java program utility here due to proprietary reasons. thx for understanding

    Hi Michael
    You can construct the target URL to include the query parameter/value using Dynamic Configuration in Message Mapping.
    This previously worked on the ABAP HTTP adapter, but from the thread below it seems it is not supported on the HTTP_AAE. Not sure what version you are on, and if SAP has provided support for this in the latest SPs.
    HTTP_AAE Adapater - using of dynamic url parame... | SCN
    If HTTP_AAE approach can't work for you, you can use the SOAP adapter - check ASMA and "Do not use SOAP envelope"
    Here is a snippet of the code you can use in a UDF for your message mapping
       //write your code here
      DynamicConfiguration conf = (DynamicConfiguration)container
        .getTransformationParameters()
        .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "TServerLocation");
    String url = "http://local.yahooapis.com/MapsService/V1/mapImage?appid=" + appid + "--&amp;street=" + street + "&city=" + city + "&zip=" + zip;
    conf.put(key, url);
    return appid;
    Rgds
    Eng Swee

  • Java Mapping for HTTP Post

    Hi
    Im following this blog http://scn.sap.com/community/pi-and-soa-middleware/blog/2014/09/12/html-form-upload-using-http-plain-adapter-with-java-mapping but I have encountered an issue which I cannot solve.
    My issue is, in addition to the required output, I am also getting unwanted XML added, which originates from the Message Type in the source Service Interface,
    i.e.
    Content-Type: multipart/form-data; boundary=--ejjeeffe1
    --ejjeeffe1
    Content-Disposition: form-data; name="event"
    Content-Type: text/plain
    Import File
    --ejjeeffe1
    Content-Disposition: form-data; name="Filename"
    Content-Type: text/plain
    TestFile.zip
    --ejjeeffe1
    Content-Disposition: form-data; name="content";filename="TestFile.zip"
    Content-Type: application/zip
    Content-Transfer-Encoding: binary
    <?xml version="1.0" encoding="UTF-8"?><__EmptyDoc></__EmptyDoc>
    --ejjeeffe1
    Any suggestions much appreciated.
    Regards
    Steve

    Hi Stephen
    The xml must be getting added in the below part of the code. It is coming from arg[0]
    You can put a check and get it removed.
    while ((len = arg0.read(buffer)) != -1) {
      arg1.write(buffer, 0, len);
    Regards
    Osman

  • Need good example HTTP POST Business Service

    Hi guys,
    I've looked into the provided Reference Implementations in JDE for HTTP Post examples, but they only provided a business service (JRH90I13) and published business service (JPRH90I0) without any C BSFN to execute them. Does anyone have possible examples of how this works?
    Thanks in advance.

    Hi Gregory,
    In fact when i used route node to invoke a business service i modified "URL dynamically by setting the value in the pipeline variable $outbound", it worked here.
    Same i tried on Service Callout, it did not work. Also when we create a service callout action it expects us to select either "confugure soap body" or "configure payload document" followed by
    1) Request Document variable
    2) Response Document variable.
    What parameter should i set for above fields?
    Thanks,
    Anup

  • HTTP POST FROM EXTERNAL SYSTEM TO SAP AII 4.0

    Hello.
        We are using SAP AII 4.0 and trying to post from the device controller to SAP AII. We are not clear about the format of the HTTP POST command. Could someone please provide an example of the HTTP POST command from the device controller to SAP AII. I am looking for the format of the HTTP POST command for all field such as port, IP address, etc.
        I am looking for a complete example.
      Thanks in advance for your help.
    Regards,
    Bob Berneck

    Hi Bob,
    Please check the following link for help
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/419e11e7-0801-0010-1e8f-9191ba03f1fc .
    Please check the help.sap.com link for help
    http://help.sap.com/saphelp_autoid40/helpdata/en/index.htm
    If you need some latest doc on AII and DC please mail me at [email protected] or let me know you mail ID
    Thanks N Regards
    Santosh
    Reward if helpful !!!

  • Synchronous HTTP POST on Asynchronous Server

    I am writing an asynchronous event driven server that must accept synchronous HTTP posts.
    For example:
    - Client sends HTTP POST to server
    - Server fires an internal asynchronous event
    - Some time later, another asynchronous event
    - Server returns an HTTP response
    If I attempt to do this with Servlets, each POST will result in a separate thread that waits for the response. For a high number of posts, this could result in a massive amount of threads. What I would rather happen is that each POST waits for the HTTP response without the server having to waste a thread.
    Is there a way to do this?
    Thanks.
    Chris

    Hi,
    Thanks for the sharing.J
    Jeremy Wu
    TechNet Community Support

  • Tobase64 HTTP-Redirect binding

    Still struggling with encrypting a SAML request to be sent to an ADFS server.  Turns out there are multiple ways to encode strings.  By default the utf-8 encrption option with the toBase64 tag uses HTTP-Post binding.  I need it my script to use HTTP-REDIRECT binding. 
    The code I'm using is this:
    <CFSAVECONTENT VARIABLE = "samlAssertionXML">
    <samlp:AuthnRequest IssueInstant="2014-09-16T19:24:18.343Z" ID="_kdls_testing_application_for_single_sign_on" Version="2.0" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://localhost/sde</saml:Issuer>
    <samlp:NameIDPolicy AllowCreate="true"/>
    </samlp:AuthnRequest>
    </cfsavecontent>
    <cfscript>
      samlAssertionXML = toBase64(toString(TRIM(samlAssertionXML)), "utf-8");
    </cfscript>
    When I take the string that gets returned by the toBase64 tag and use the SAML 2.0 Debugger the string gets de-crypted correctly.  But when I re-encrypt the string using HTTP-REDIRECT binding I get a different encryption string.  If I re-encrypt using the HTTP-POST binding I get the string I passed to the toBase64 tag.
    So my question is how to I tell CF that I need to use HTTP-REDIRECT binding when I encrypt the string?

    After a little searching around I found the following snippet of code that seems to do the trick.  It adds a ton of AAAAAAAAAAAAAA's to the encrypted string but the ADFS server isn't complaining and as I have a fast approaching deadline I'll live with them for now.  Still if you understand JAVA (I haven't developed in that language so I really don't) please clue me in to how this code does what it does.
    <!--- perform Deflate, Base64 encode, and URL encode --->
    <cfscript>
      saml_deflate = createObject("java", "java.util.zip.Deflater");
      saml_deflate.init(9,true);
      saml_deflate.setInput(samlAssertionXML.getBytes("UTF-8"));
      saml_deflate.finish();
      compressedDataLength = saml_deflate.deflate(output);
      data64 = toBase64(output,"UTF-8");
      data64url = urlencodedformat(data64);
    </cfscript>

  • 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

  • Beginner question: support to HTTP POST om Oracle AS

    Hi!
    I don't know if this is a suitable forum but since i use JDeveloper and Oracle BPEL I'll try my luck here :).
    I have a Java web application built in JDeveloper and a couple of BPEL processes.
    In these processes I use Java embedding (a piece of Java code) that opens a connection to a given URL and post a XML message to this URL. I didn't have much problems creating these processes.
    Now I have to provide a support to HTTP POST on my side. Since web application and services development are quite new to me I hope someone can point me the right way to do this. The requirements I have are: I can have a single URL to which the http POSTs will be issued.
    If I understand correctly I cant use a web service since I have to enable different types of XML posts. What are my options? Can I create some kind of listener for http POSTs? Can I create a jspx that will 'wait' for http posts and than call some of mine BPEL processes? Is there a way to create a BPEL process that 'waits' for http POSTs? Are there other options.
    I'd really appreciate any pointers on this.
    Regards,
    BB.

    Frank,
    I've tried creating a Servlet listener that implements HttpSessionListener interface. Now I have two methods, sessionCreated and sessionDestroyed but I don't know where to go next. I can't find any documentation on this issue yet.
    Should I create a jspx page with form node that has method attribute set to POST or maybe I don't even need a web page? I already have a login page that has a form with method set to POSt, will this pose any kind of troubles for me?
    I apologize for any stupid questions but as I said I have no experience in doing this and las couple of days I'm searching and reading different documentation on this topic so any more pointers would be appreciated.
    BB

Maybe you are looking for