HTTP PUT in PI 7.3

Hi All,
Can we support HTTP PUT out of the box in SAP PI 7.3 ?
I had earlier written JAVA Proxy to support HTTP REST methods as GET, PUT, DELETE etc. So in PI 7.3 I see HTTP GET and POST in advance adapter engine, can we support HTTP Put also or we need to write some adapter module to support that.
Thx in advance
Ravijeet

PI 7.3 doesn't support PUT in my opinion as well. Why don't you use the same java proxy solution?
Regards,
Prateek Raj Srivastava

Similar Messages

  • HTTP PUT method not working?

    hi,
    i want to use the HTTP PUT request-method to enable data-upload. i have a
    servlet that implements the doPut method, gets the content from the request,
    and processes this further. this works perfectly fine on my local machine
    using tomcat.
    the next step is to deploy the servlets to an iPlanet 6.0 app-server. and
    there i run into problems. it looks like the HTTP PUT requests to
    /nasapp/<myservletpath> are never passed on the the application server, but
    are caught by the webserver, and denied access. see the server-log and
    telnet output:
    ------ server log --------
    xxx.xxx.xxx.xxx - - [26/Jun/2001:16:20:57 +0200] "PUT
    /nasapp/channelsupply/management/ContentManagementServlet HTTP/1.0" 401 223
    ------ /server log --------
    ------ telnet port 80 --------
    Trying xxx.xxx.xxx.xxx...
    Connected to xxx.xxx.xxx.xxx.
    Escape character is '^]'.
    PUT /nasapp/channelsupply/management/ContentManagementServlet HTTP/1.0
    HTTP/1.1 401 Unauthorized
    Server: Netscape-Enterprise/4.1
    Date: Tue, 26 Jun 2001 15:05:29 GMT
    WWW-authenticate: Basic realm="WebServer Server"
    Content-length: 223
    Content-type: text/html
    Connection: close
    <HTML><HEAD><TITLE>Unauthorized</TITLE></HEAD>
    <BODY><H1>Unauthorized</H1>
    Proper authorization is required for this area. Either your browser does not
    perform authorization, or your authorization has failed.
    </BODY></HTML>Connection closed by foreign host.
    ------ /telnet port 80 --------
    i was under the impression that the webserver would not 'touch' all requests
    to /nasapp/<etc> and simply forward these directly to the app-server. it
    looks like this is not the case for PUT (and also DELETE) requests.
    does anyone have a clue on how to solve this?
    i tried enabling the 'content management' services of the web-server, but
    with no luck.
    besides, you want to restrict access if you enable file-upload. but
    restriction works on absolute file-paths, and /nasapp/<etc> does not map to
    a 'real' filepath...
    our environment:
    Sun Solaris 2.8
    iPlanet 4.1 webserver; using the web-connector
    iPlanet 6.0 sp2 application server
    many thanks, marius hettema

    Hi,
    According to your post, my understanding is that you wanted to use the workflow action “Call HTTP Web Service” to call the SOAP web service in SharePoint Designer.
    This is not a soap based web service call. This is a HTTP RESTFul call.
    The SOAP web service uses the PUT HTTP method
    The Call HTTP Web Service action lets you specify any of several request methods, including
    GET, PUT, POST, and DELETE. This lets you tell the web services, specifically
    RESTful services, what to do on the service that you’ve specified with the URI property on the activity. For more information, you can refer to the article
    Working with Web Services in SharePoint 2013 Workflows using SharePoint Designer 2013.
    There are some articles about How to work with web service using “Call HTTP Web Service” action in SharePoint Designer 2013,
    you can have a look at them.
    http://sergeluca.wordpress.com/2013/04/09/calling-the-sharepoint-2013-rest-api-from-a-sharepoint-designer-workflow/
    http://rogereriksen.wordpress.com/2013/05/24/create-a-sharepoint-site-using-rest-in-workflow-with-sharepoint-designer/
    http://blogs.msdn.com/b/sharepointdesigner/archive/2012/09/05/how-to-work-with-web-service-using-call-http-web-service-action.aspx
    Thanks & Regards,
    Jason
    Jason Guo
    TechNet Community Support

  • HTTP PUT Request for File Uploads is returning a response header with content-length = 0

    After upgrading from CF9 to Coldfusion 10, I'm running into an odd issue, with `cURL` calls to a webservice that used to work.
    We are using an HTTP PUT Request with multipart="no" so that the request header content is the file itself, now the data is being sent properly in the content but it has a ~8k limit. This is fine for smaller files but some files are 60kb etc.
    Errors are odd too, near the 8KB limit we get a bad gateway error 502, and above that the webpage errors with a connection reset.
    It works fine with multipart="yes", but in a PUT request the file's data isn't even sent since it's looking for `httpparam formField` , the content-length from the target page's Headers show a content-length of 0 which causes `cURL` to fail with an error (56): http://curl.haxx.se/docs/manpage.html
    Here's example code to reproduce:
    <cfset sFilename = "C:\999\test4.txt">
    <cffile action="readBinary" file="#sFilename#" variable="fileRead">
    <cfset oFileInfo = GetFileInfo("#sFilename#")>
    <cfhttp           url="localhost/Clarence/diff_elt_test_output.cfm"
                                  method="PUT"
                                  username="******"
                                  password="******"
                                  multipart="yes"
                                  result="oHttp">
              <cfhttpparam type="header" name="Content-Type" value="text/plain" />
              <cfhttpparam type="header" name="Content-Length" value="#oFileInfo.Size#" />
              <cfhttpparam type="body" value="#fileRead#"/>
    </cfhttp>
    <cfdump var="#oHttp#">
    Dumping the response via GetHttpRequestData() shows that the header's content-length = 0 and content is blank.
    Whereas POST requests work fine, cURL has a -F form option which is our fallback but a solution to this would be great.
    Here's what I've tried:
    1. Changing CF post request limit sizes (64MB+)
    2. Changing IIS config web/webserver http runtime and security.request filtering request limits to much higher values
    3. AJP Connector between IIS and Tomcat has a default 8KB header limit, I changed that to 64k on both sides, still nothing
    Also am I missing something fundamental here? I thought at the network layer a packet is split up and rejoined, so large content in a http request body should work, what's wrong with Coldfusion 10?

    I am familiar with java.net package and know how to
    Read and Write Streams.
    However, what I do not know is what string
    represntation of PUT or POST resquests is?It's HttpURLConnection.setRequestMethod("PUT") or ("POST").
    Also you have to setDoOutput(true).
    Then you set the content type, possibly encode the input, set the content length, and write the file data to the stream.
    Using a Jakarta package may be easier, however.

  • Disable to access http PUT method in sun application server

    how to disable to access http PUT method in sun application server. please help me.......

    You're probably better off asking this in a forum specifically about that server.
    Though as I recall, PUT is disabled by default in SunOne. But that was a while ago so maybe I've forgotten or things have changed.
    Have you actually tried doing a PUT to the server to see what happens?

  • [svn:bz-trunk] 7494: Add testcaseses for http put and delete methods.

    Revision: 7494
    Author:   [email protected]
    Date:     2009-06-02 13:13:33 -0700 (Tue, 02 Jun 2009)
    Log Message:
    Add testcaseses for http put and delete methods. Proxy should return endpoint's content instead of empty body
    Added Paths:
        blazeds/trunk/qa/apps/qa-regress/remote/testMethods.jsp
        blazeds/trunk/qa/apps/qa-regress/testsuites/mxunit/tests/proxyService/httpservice/bugs/Pu tAndDeleteMethodTests.mxml

    found it - here: http://discussions.apple.com/thread.jspa?threadID=2323131&tstart=30
    I set the Realm to Location instead of Folder. Now I'm prompted for my credentials at the /svn/ URL.

  • JAX-RS and Weblogic 10.3 - How to enable HTTP PUT?

    I'm playing around with JAX-RS and Weblogic 10.3.
    I just sent a HTTP PUT request, and got back
    HTTP/1.1 405 Method Not Allowed
    Is this because HTTP PUT is disabled?
    If so, how do I enable it? I can't find the answer on Google or the forums here, so maybe I'm on the wrong track...

    In my case, WebLogic 10.3.1 returns this messege every time a Send a HTTP PUT request:
    Error 400--Bad Request
    From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
    10.4.1 400 Bad Request
    The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.
    Is there any way to enable HTTP PUT and HTTP DELETE in WebLogic?
    I can´t believe it's not possible to deploy RESTful Web Applications in WebLogic. That's terrible...

  • Support for HTTP PUT and HTTP DELETE

    Is there a plan for proper HTTP PUT and HTTP DELETE in Flash
    Player and/or Flex? There's not much information on the subject at
    this point. Is this going to be included in Flex 3? Is there an
    issue I can track? etc.

    This is due to a limitation in the Flash Player so it will
    not be available
    in Flex 3.
    Please continue to log enhancement requests against the Flash
    Player here:
    http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform

  • HTTPS PUT (please help!)

    Can someone please tell me if it's possible to perform a "https put" and if so, please include detailed instructions on how to perform this task. I am needing to "upload" a file, but it must occur over a secure connection (HTTPS). I attempted to use FTP until I realized that everything is sent unencrypted. If HTTPS PUT in not possible, then any other suggestions for a resolution to my dilemma would be greatly appreciated!
    Please contact me with your suggestions at [email protected]
    Thanks in advance!
    Bobby Johns Wiley

    You need to install Java Secure Socket Extentions (JSSE) into the extensions directory for Java 1.2 - 1.3.1, it is included in Java 1.4. Look at the JSSE docs for more detail.
    Chuck

  • Limits & Specifications for the NRM HTTP Stack in NetWare

    I need some docs that are more complete than what appears to be currently
    available regarding the specifications & limitations of the NRM HTTP Stack
    API functions in NetWare. Referring to the existing documentation "sparse"
    is a gross understatement, and there's some very specific information I need
    to know regarding a few scenarios in which the HTTP stack may be expected to
    fail, and how the failures are handled.
    Very specifically, I need to know what the HTTP stack does in terms of
    receiving very large data streams from a client that has done an HTTP "PUT"
    with a large file attached. When my registered callback function is called
    by the NRM HTTP Stack, I call HttpReturnPostDataBuffer() to get a pointer
    pointer to a data buffer and the length of that buffer. Once I parse out
    the data at the start of the buffer that identifies the information about
    the file upload, the remainder of the buffer should contain the contents of
    the file that was attached.
    What I'm concerned about is that this is all happening in Ring 0, there's no
    virtual memory involved, and there's the possibility of a file being
    uploaded that's larger than the available physical memory. There's also
    nothing in the docs to indicate if HttpReturnPostDataBuffer() is to be
    called multiple times in a loop until it returns an error to retrieve the
    data in manageable portions, or if all of the posted data is supposed to be
    contained within a single buffer. If I want to receive an upload of a 2 GB
    DVD ISO image from a client and write it to a file on my NetWare server, I
    can't reasonably expect that 2 GB of posted data to fit within a single
    buffer when my server only has 512 MB of memory.
    How exactly is this situation to be handled?
    There's nothing in the NDK docs about maximum limits on received data, nor
    about scenarios where certain functions need to be called iteratively to
    continue the receipt of large amounts of data [e.g. like the iterative
    methods used when reading from eDir using the NWDS*() functions].
    TIA,
    Chuck
    Chuck Chopp
    ChuckChopp (at) rtfmcsi (dot) com http://www.rtfmcsi.com
    RTFM Consulting Services Inc. 864 801 2795 voice & voicemail
    103 Autumn Hill Road 864 801 2774 fax
    Greer, SC 29651
    Do not send me unsolicited commercial email.

    Welcome back to NetWare - we have not heard from you for a year or two! Its
    pretty quiet here on the developer front, most of the newsgroups are no
    longer functional, but a few of us are still lurking around. Answers are
    hard to come by from Novell, [email protected] just returns an automated
    response.
    John
    "Chuck Chopp" <[email protected]> wrote in message
    news:[email protected]...
    > I need some docs that are more complete than what appears to be currently
    > available regarding the specifications & limitations of the NRM HTTP Stack
    > API functions in NetWare. Referring to the existing documentation
    "sparse"
    > is a gross understatement, and there's some very specific information I
    need
    > to know regarding a few scenarios in which the HTTP stack may be expected
    to
    > fail, and how the failures are handled.
    >
    > Very specifically, I need to know what the HTTP stack does in terms of
    > receiving very large data streams from a client that has done an HTTP
    "PUT"
    > with a large file attached. When my registered callback function is
    called
    > by the NRM HTTP Stack, I call HttpReturnPostDataBuffer() to get a pointer
    > pointer to a data buffer and the length of that buffer. Once I parse out
    > the data at the start of the buffer that identifies the information about
    > the file upload, the remainder of the buffer should contain the contents
    of
    > the file that was attached.
    >
    > What I'm concerned about is that this is all happening in Ring 0, there's
    no
    > virtual memory involved, and there's the possibility of a file being
    > uploaded that's larger than the available physical memory. There's also
    > nothing in the docs to indicate if HttpReturnPostDataBuffer() is to be
    > called multiple times in a loop until it returns an error to retrieve the
    > data in manageable portions, or if all of the posted data is supposed to
    be
    > contained within a single buffer. If I want to receive an upload of a 2
    GB
    > DVD ISO image from a client and write it to a file on my NetWare server, I
    > can't reasonably expect that 2 GB of posted data to fit within a single
    > buffer when my server only has 512 MB of memory.
    >
    > How exactly is this situation to be handled?
    >
    > There's nothing in the NDK docs about maximum limits on received data, nor
    > about scenarios where certain functions need to be called iteratively to
    > continue the receipt of large amounts of data [e.g. like the iterative
    > methods used when reading from eDir using the NWDS*() functions].
    >
    >
    > TIA,
    >
    > Chuck
    > --
    > Chuck Chopp
    >
    > ChuckChopp (at) rtfmcsi (dot) com http://www.rtfmcsi.com
    >
    > RTFM Consulting Services Inc. 864 801 2795 voice & voicemail
    > 103 Autumn Hill Road 864 801 2774 fax
    > Greer, SC 29651
    >
    > Do not send me unsolicited commercial email.
    >
    >

  • URL in HTTP sender adapter

    Hi,
    I have a scenario where I want to configure a HTTP sender adapter.
    I have a HTTP PUT url of a 3rd party application from where the HTTP adapter should poll and pull the files into PI.
    Is this possible? If yes, where and how do I mentioon the URL?
    Please help!
    Thanks,
    Pratibha.

    Hi,
    That means, the sender aplication has to write a http://<hostname:port>/<path>?<query-string> type query?
    Is there no other option?
    Is it not possible with the SOAP sender adapter also?
    Thanks,
    Pratibha.

  • Http header expect:100-continue

    I am trying to make a HTTP PUT request to a webservice, which I can't get to work because it keeps returning the following error in its header: HTTP/1.1 417 Expectation Failed
    In the body it explains that I have a header "expect:100-continue" in my PUT request header (see image). 
    I have tried everything to remove that particular header from my request (using LabviewHTTPclient.lvlib:removeheader.vi), but Labview still sends it.
    2 questions:
    - Is there a tool that lets me see what header/request labview actually sends to the webservice?
    - how come I can't remove that header?
    Thanks for your input!
    BTW. I got it working in Curl, which I believe is used by Labview itself as well
    Attachments:
    Error 417 Expectation Failed.png ‏8 KB

    Hello Aartjan,
    About the tool:
    You could use wireshark (just an example).
    About the header part:
    Can you share your code or a simplification of it (Project and files [vi's..]) that allows me to test/reproduce/see what's going on?
    To know what causes the issue we need to see your code.
    Kind Regards,
    Thierry C - Applications Engineering Specialist Northern European Region - National Instruments
    CLD, CTA
    If someone helped you, let them know. Mark as solved and/or give a kudo.

  • How to disable PUT/DELETE method in SMC tomcat

    Hi,
    SMC provides tomcat as the web server to allow logon the SMC console through IE.
    For security consideration, we have to disable the http "PUT" and "DELETE" method of tomcat. Its config file seems to be /opt/SUNWsymon/web/conf/catalina.policy, but I have no knowledge of this file.
    Do anyone know how to disable PUT/DELETE method in tomcat? Or provide me a reference book for this issue?
    Thanks a lot.

    For security consideration, we have to disable the
    http "PUT" and "DELETE" method of tomcat. Its config
    file seems to be
    /opt/SUNWsymon/web/conf/catalina.policy, but I have
    no knowledge of this file.I'm not sure how to disable that feature, but be aware if you disable the ability for Agents to send files to the SunMC web server you may break all Configuration Tasks. Agent config files are sent to the Server by HTTP to allow them to be stored as templates/snapshots.
    I don't remember seeing instructions on how to make the changes you want: the quickest way to find out is probably to call SunMC support.
    Regards,
    [email protected]

  • Http 302 found response while consuming rest service

    Hi,
    When Sap Pi consumed rest service in receiver rest adpater, the response is as following:
    HTTP PUT call to http://host:port/backend/v2/test/test1  not successful. HTTP/1.1 302 Found
    when i tried  with rest client tool:
    firstly it said :
    Redirect  To: http://host:port/login.jsp with status: 302 HTTP/1.1 302 Found
    Redirection information has not been cached.
    the second is:
    Status
    200 OK Loading time: 22
    How can i redirect in sap PI?
    Thanks,
    Nurhan

    Can you please post some of the values you are using to connect to your Schema Service? (please redact the hostname URL for security purposes)
    You can also follow this tutorial:
    Data Loading and the Oracle Database Cloud Service
    Format is usually:
    username used to sign up
    password giving at sign up
    Service Instance URL

  • How to parse a XML stream sent to servlet with PUT method

    Hi,
    I have to interface my servlet app with other apps communicating with XML.
    This way, My servlet will receive a XML stream in the http request, parse it and send back a XML message.
    What I've done is :
    An html page to send a XML File with a put method :
    <form enctype="multipart/form-data" method="PUT" action="http://localhost:8080/MyApp/servlet/TestUploadServlet">
         <input type="file" size="20" name="FileToUpload" value="Select File">
         <input type="submit" name="UploadFile" value="Upload">
         <input type="reset" value="Reset">
    </form>
    A servlet TestUploadServlet with :
    SAXParser parser = new SAXParser( );
    Trace.traceLine( "SAXParser" );
    parser.setContentHandler (this);
    try {
    parser.parse( new InputSource( requete.getInputStream() ) );
    catch (SAXException e) {
    Trace.traceLine( e.getMessage() );
    catch (IOException e) {
    Trace.traceLine( e.getMessage() );
    and the methods startElement, stopElement and other to work with the elements detected by the parser (already used by other programs parsing local xml files).
    And it doesn't work.
    is the html code is a good way to send a file in the http Put method ?
    is the parser.parse( new InputSource( requete.getInputStream() ) ); a good method to read the stream ?
    please help.

    I think the problemn comes from the method used to send the <XML> stream.
    Using an html form doesn't seem to be a good method.
    I tried several methods or examples found and none of them seems to work.
    here is another example in the servlet side :
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    ServletOutputStream output = res.getOutputStream();
    output.println("ContentType: " + req.getContentType() + "<BR>");
    int content_length = req.getContentLength();
    output.println("ContentLength: " + content_length + "<BR>");
    if(content_length > 0) {
    output.println("Content: ");
    ServletInputStream input = req.getInputStream();
    byte [] buffer = new byte[1024];
    int nb;
    while((nb=input.read(buffer))!= -1) {
    output.write(buffer,0,nb);
    Can somebody tell me how to write a java code sending a http request with the content of a file in the content of the request ?

  • HTTP or LDAP for CRL

    Hello
    I am setting up a new PKI (in a LAB initially) an reading up on the subject.
    I see the default location for the CDP is in the Configuration partition in AD and therefore accessed via LDAP://......
    I also see other recommending using IIS/HTTP to publish the CRL, CPS
    I can see the advantage of publishing the CPS via HTTP (not sure how you would import a file e.g. text file containing the CPS into AD in any event)
    Question 1:
    But what are the main advantages/disadvantages of placing the CRL in an IIS site and therefore HTTP?
    Question 2:
    I can see how the AD integrated CA would publish updated CRL to AD as the CA is integrated (e.g. Sub issuing CA)
    If the CRL is published via IIS/HTTP will the CA be able to automatically update the CRL via HTTP PUT or something like that (and if so I assume the CA Server needs rights to the Site and underlying NTFS folder containing the sites files),
    or will I have to manually download the CRL from the CA and publish to the HTTP site manually (or via script)?
    Question 3:
    Can I have the CRL published to LDAP and HTTP at the same time, and therefore I assume I will have to update the CA in come where so when it issues certificates is states both location in the CDP information within the certificate?
    Any help most appreciated
    AAnotherUser__
    AAnotherUser__

    1) HTTP versus LDAP
    The advantages of HTTP over LDAP/AD:
    Easy anonymous access - you don't need an AD account or tweak your AD permissions, so you can serve validating apps on non-domain machines or on machines in other forests.
    No replication delays (if you can use a web server in the domain, see 2) and 3)).
    Can be used as 'external' and 'internal' URL, using split DNS or by publishing using a reverse proxy.
    If you use the same CA for 'external' and 'internal' certificates: You do not disclose information about the structure of your AD forest to external parties.
    One advantage of LDAP / AD might be the distributed structure that provides 'fail-over' - but you can use load-balanced web services with HTTP.
    2) Automation of publication to an HTTP URL
    You cannot use HTTP PUT unless you would write your own application for that - but you can simply share the directory the web server uses, give the CA machine account Write permissions, and add a UNC path to the list of CRL publication URLs (file:///\\webserver\share\%3%8%9.crl)
    Pre-requisite: The web server needs to be member of the same or a trusted Windows domain. Otherwise you would need a script that copies or FTPs the CRL.
    3) Point of time of CRL publication - LDAP vs. HTTP
    If you can use the UNC path as explained before both this path and the LDAP object would be populated with the new CRL at the same time. Otherwise (web server not in a trusted domain) you would need to run the publication script more often than the CRL is
    published so that there is not too much lag.
    Elke

Maybe you are looking for