Http request caching

Hi folks,
I'm new here.... !
We've just deployed an application to wl 9.2 and are seeing some strange behaviour.
We have a calendar widget that does an ajax request each time a cell is clicking to load some data. However... in IE when a cell has been loaded, reclicking the cell returns cached data. In firefox it redoes the request.
is there a setting somewhere in wl config to disable this? it seems very strange... all works as it should in tomcat though....
hope you can help
marty

Hi,
You should set the HTTP headers "Cache-Control" and "Pragma" to "no-cache" in the response. If this does not work, you have to change the configuration on IE not to cache the response, or just add a dummy parameter to the request URL.
Regards,
LG

Similar Messages

  • Cache server getcert http request issue

    Hi,
    We are using third party repository for documents archiving and storage. And we have separate application for connecting third party repository to the SAP.
    We have installed content server and cache server on the system where SAP was installed.
    Now we want to run getcert HTTP request from our application so that we will get the certificate from SAP cache server. What we need to do in order to achieve the same? Or in other words how we can make the connectivity between cache server and the third party repository?
    We have verified the following URLs
    http://10.224.1.37:1090/ContentServer/ContentServer.dll?serverInfo
    http://10.224.1.37:1095/Cache/CSProxyCache.dll?serverInfo
    (Where 10.224.1.37 is the IP address of the system where SAP is installed)
    for content server and cache server respectively.
    The URL for cache server was giving the correct server information but URL for content server is not at all showing any server information even after running for long time.
    Could you please tell me step by step by procedure and configuration steps for running get cert request to cache server? We want to know how to send the getcert request to third party content management system from cache server.
    We have given the following URL in http get functional module but we are getting a 400 bad request response
    http://10.224.1.37:1095/Cache/CSProxyCache.dll?getcert&pversion=0046&conrep=RH
    Where RH is pointing to the third party content server (through transaction oac0).
    Thanks,
    Ravi

    Hi All,
    I am also facing the same problem, Please help us out to solve this issue.
    Thanks in advance
    Regards
    Harshavardhan.G

  • HTTP request failed. Error code: "503". Service Unavailable in RWB and Cache Refresh

    Dear Experts,,
    We have MDM and PI in our landscape. We are using MDM Adapter for the integration between the two.
    When we try to run the T Code SXMB_IFR, we are getting HTTP request failed error. i.e., “Error Code: 503 -- Service Unavailable”. And also the RWB communication channel is not working because of this error and we are unable to refresh the cache too because of this error.
    We have checked from MDM side, and messages are flowing from ready folder but not coming into PI. We had monitored the messages using
    SXMB_MONI.
    We have restarted the Java Server but it’s taking too much time to restart around 12 to 15 hours & we checked after that but still facing the same issue.
    Could you please help me to figure out this issue.
    Thank you for your support in advance.
    Thanks and Regards,
    Priti.

    Hi Priti,
    You can check the suggestion of Jyothi Anagani
    Because of J2EE application com.sap.aii.af.ms.app not active
             The problem is that not all J2EE services can be started by the J2EE. i.e Start the Visual Administrator and select Server->Services->Deploy in the tree on the left. On the right-hand side, choose the Runtime tab page. You see a tree in the right window with all applications if you select the APPLICATION radio button. Check if they are running, otherwise choose Start. Usually the J2EE engine starts all services automatically.
    Runtime Workbench "503 Service Unavailable" Error After JSPM SP Update
    Regards,
    Nabendu.

  • HTTP request failed. Error code: "500". Error message

    Hi ,
    When we are trying to test webservices (exposed webservice in PI)  scenarios in PI box we are getting error related Adapter framework service
    HTTP request failed. Error code: "500". Error message: "Internal Server Error [http://xxxx:xxxx/AdapterFramework/rtc]"
    in the RWB it is showing that
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIAdapterFramework:GENERAL:com.sap.engine.interfaces.messaging.api.exception.MessageExpiredException: Message 01d76ce0-972e-11e0-c652-b25394b91e0c(INBOUND) expired
    Can any body help .
    Edited by: subhaniABAP on Jun 15, 2011 11:30 AM

    Hi,
    If you want to resolve this error when dealing with the messages, please try the cache refresh with the link:
    http://host:j2eeport/CPACache/refresh?mode=full
    And also go thorugh:
    - In Integration Repository/Directory go to menu Environment ->
    Clear SLD Data Cache
    - In R/3 go to transaction SXI_CACHE -> menu XI Runtime Cache -> Start
    Complete Cache Refresh
    MESSAGE EXPIRED:
    Increase the value of the timeout parameter 'xiadapter.inbound.timeout.default' under Services -> 'XPI Adapter:XI'
    to a higher value say '600000'.
    Regards,
    Caio Cagnani

  • Only HTTPS requests are working for SOAP Sender and HTTP not working

    wHi Experts,
    We have enabled our HTTPS port ( SSL ) in NWA -- >> Security -- >> SSL and Key stores. So understanding is HTTPS port is now enabled on top of HTTP. So PI should be able to cater requests at both ports.
    Now, we have developed a synchronous SOAP to RFC scenario and downloaded WSDL file. This file has both links -
    a. http:<host>:<port>
    b. https:<host>:<port>
    We intend to make a PI system where both ports can work. Now questions.
    1. When we test web service exposed from PI using SOAPUI tool, only HTTPS works fine and gets the response back. If we try HTTP URL, an error is encountered - HTTTPS scheme is required.
    2. Is this whole understanding that both ports  ( HTTP, HTTPS ) should be able to operate simultaneously correct ? Or this is not at all possible ?
    3. In SOAP Sender, we tried selecting all 3 options - 1. HTTP 2. HTTPS without client authentication 3. HTTPS with client authentication.
       None of the options have any effect on testing, Each time, only HTTPS request works and HTTP doesn't.
    Can anyone please provide some hints for troubleshooting ?
    Thanks..
    regards,
    Rajagopal.

    The error "HTTPS scheme is required" is normally returned when the HTTP Security Level on the SOAP adapter is not set to "HTTP". I can see you have mentioned you have tried all these, maybe a cache refresh has gone wrong? Could try recreating the channel with just HTTP specified as security level and this should allow HTTP or HTTPS
    I assume you are using a different port number for  your HTTP and HTTPS requests from SOAP UI. Normally the HTTPS port is the same as the HTTP port number but the final zero changed to a 1 i.e. https://<host>:50001 instead of http://<host>:50000.
    You should be able to confirm both HTTP and HTTPS work OK by loading some of the system webpages in a browser over HTTP and over HTTPS i.e. http://<host>:<port>/nwa and https://<host>:<port>/nwa
    Chris

  • Invalid request for HTTP request from Java

    I've written the following code to retrieve data from HTTP url:
    byte [] buffer = new byte[1024];
                   URLConnection conn = src.openConnection();
                   //conn.setRequestProperty("Range", "bytes=" + (start + completed) + "-" + end);
                   //System.out.println("bytes=" + (start + completed) + "-" + end);
                   System.out.println("Response: " + ((HttpURLConnection)conn).getResponseCode());
                   BufferedInputStream bin = new BufferedInputStream(conn.getInputStream());
                   byte [] data = new byte[1024];
                   int readLen;
                   manager.addConnected();
                   while((readLen = bin.read(data)) != -1 && canContinue) {
                        dest.seek(start+completed);
                        dest.write(data, 0, readLen);
                        completed += readLen;
                        System.out.println(readLen + "\t" + completed);
                   dest.close();
                   System.out.println("Read: " + readLen);
              } catch(IOException e) {
                   manager.failConnection();
              }However, the response code printed is -1 and the following content is written to the file (dest is a random access file, you can ignore the seek(), it is needed when I start multi-threading).
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <TITLE>ERROR: The requested URL could not be retrieved</TITLE>
    <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
    </HEAD><BODY>
    <H1>ERROR</H1>
    <H2>The requested URL could not be retrieved</H2>
    <HR noshade size="1px">
    <P>
    While trying to process the request:
    <PRE>
    GET /ubuntu/pool/main/f/firefox/firefox_2.0.0.2+0dfsg-0ubuntu0.6.10_i386.deb HTTP/1.1
    User-Agent: Java/1.6.0
    Host: security.ubuntu.com
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Connection: keep-alive
    </PRE>
    <P>
    The following error was encountered:
    <UL>
    <LI>
    <STRONG>
    Invalid Request
    </STRONG>
    </UL>
    <P>
    Some aspect of the HTTP Request is invalid.  Possible problems:
    <UL>
    <LI>Missing or unknown request method
    <LI>Missing URL
    <LI>Missing HTTP Identifier (HTTP/1.0)
    <LI>Request is too large
    <LI>Content-Length missing for POST or PUT requests
    <LI>Illegal character in hostname; underscores are not allowed
    </UL>
    <P>Your cache administrator is <A HREF="mailto:root">root</A>.
    <BR clear="all">
    <HR noshade size="1px">
    <ADDRESS>
    Generated Fri, 16 Mar 2007 11:14:48 GMT by inet (squid/2.6.STABLE3)
    </ADDRESS>
    </BODY></HTML>Where does the problem lie? It failed for other URLs too. Can I establish more than one connection by invoking openURLConnection() on the same URL object?

    Ive run into this issue also. I need a way for a portlet to change to its maximized state for the purposes of user registration. Is there anyway this can be done? I know that sun jsp "Providers" which are shown on their example desktop, have some sort of maximized state that they can go into, but im not sure how to use this in a portlet.
    There seems to be very inconsistent support between the proprietary sun provider api, and the portlet api.

  • Session replication at every http request

    Hi everybody
    I'm trying to use ZKoss Framework (www.zkoss.org) to develop a
    web application and deploy it in a Clustered WebLogic Server.
    The main issue I'm facing is that the "state" of the visual interface
    is stored inside the http session, and so, when node that handle
    the http request changes, the state is resetted and then the page changes,
    even if there was no user intervention.
    So I need to replicate the whole session at every http request,
    to prevent strange behaviours when the request handler node's changes.
    Do you know some settings that will force WebLogic Server to replicate the whole
    session at every http request?
    Thanks in advance.
    bye.

    Hi Marco,
    Yes, You are right But You NEED NOT to put setAttribute("key","value")...code in all your JSPs. because if the Attribute data of Session is changed then Automatically it will be replicated (only the Changed Data and not the Data which is unchanged). Even we need not to worry about replicating the Unchanged Data Again...And WebLogic will take care of ChangedData by itself. There is no other alternate solution available in weblogic to do this...Even no such similar Element available in Deployment descriptors as well.
    Actual Link is Broken http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs90/cluster/failover.html
    Any way i am copy-pasting few Lines from E-Docs (the actual link i am not able to find ..but may be u can open the cached page:
    http://74.125.153.132/search?q=cache:bxTbqJEsQTsJ:download-llnw.oracle.com/docs/cd/E13222_01/wls/docs90/cluster/failover.html+setAttribute+Session+replication+weblogic&cd=6&hl=en&ct=clnk&gl=in
    ---------------------------If you are not able to open the link then please refer to the E-Docs copy-paste content below --------------------------
    Programming Considerations for Clustered Servlets and JSPs
    This section highlights key programming constraints and recommendations for servlets and JSPs that you will deploy in a clustered environment.
    Session Data Must Be Serializable
    To support in-memory replication of HTTP session states, all servlet and JSP session data must be serializable.
    Note:     Serialization is the process of converting a complex data structure, such as a parallel arrangement of data (in which a number of bits are transmitted at a time along parallel channels) into a serial form (in which one bit at a time is transmitted); a serial interface provides this conversion to enable data transmission.
    Every field in an object must be serializable or transient in order for the object to be considered serializable. If the servlet or JSP uses a combination of serializable and non-serializable objects, WebLogic Server does not replicate the session state of the non-serializable objects.
    Use setAttribute to Change Session State
    In an HTTP servlet that implements javax.servlet.http.HttpSession, use HttpSession.setAttribute (which replaces the deprecated putValue) to change attributes in a session object. If you set attributes in a session object with setAttribute, the object and its attributes are replicated in a cluster using in-memory replication. If you use other set methods to change objects within a session, WebLogic Server does not replicate those changes. Every time a change is made to an object that is in the session, setAttribute() should be called to update that object across the cluster.
    Likewise, use removeAttribute (which, in turn, replaces the deprecated removeValue) to remove an attribute from a session object.
    Note:     Use of the deprecated putValue and removeValue methods will also cause session attributes to be replicated.     
    Thanks
    Jay SenSharma
    Edited by: Jay SenSharma on Feb 11, 2010 10:24 PM
    Edited by: Jay SenSharma on Feb 11, 2010 10:26 PM

  • Http requests and modules

    recently, all the rage for fast websites is about lowering the numbers of http requests. I'm sure you're aware of that.
    I was wondering: each module creates in fact an http request, right?
    I'm using quite a few modules, especially web contents (for footer, header, navigation…) with the idea of making my site very "modular".
    Would that be then a case of wrong tools implementation?

    Liam is right. If you were running, say, Wordpress on a shared server then it might matter when you could actually get at the php code and mess around with headers and static caching and such, but I think you're attempting to overoptimize in this case, just using BC makes that mostly not your problem.
       IRT = in regards to.
    Old versions of IE are notorious for their lack of support for certain css/js features, bugginess (the z-index bug for instance) and needing ugly workarounds and hacks just to get them to support or pretend to support or not die horribly in the presence of modern standards-compliant code.
    IE6 in particular is important because it's very buggy AND prevalent in enterprise environments, where for various reasons, upgrading to a new browser is all but impossible (which means if you're building a site meant to be viewed by businesses, IE6 support is expontentially more important than if, say, you're putting up a blog and don't really care.) Although most modern frameworks like Boostrap and Skeleton, and js syntactic libraries like jQuery, are built with this in mind and abstract the issue away by including those hacks themselves, sooner or later you'll run into some kind of code that works brilliantly in every single browser you try... except the old versions of Internet Explorer (and then you end up looking around Stackoverflow for an hour or two looking for the fix.) 
    Currently various sites and even Microsoft are trying to phase out support for IE6. I personally think if you're using IE6 you should just be willing to deal with broken websites in the same way that if I drive a Ford Model-T onto the highway I should soon expect to  have a broken car. But understandably, sites that might lose money not supporting IE6 have to deal with it.

  • Reduce http requests on SP 2010 master page - Combine/Minify js, css files

    Hi
    We've developed a highly custom intranet site on top of SharePoint 2010.  We want to reduce the amount of http requests being performed on certain pages, like the master page.  Whats the best way of doing this?
    Any one used Cassette?

    Regarding cassette:
    http://social.msdn.microsoft.com/Forums/en-US/06befe57-bdfd-4335-b8f3-95ff6f68ec9e/using-cassette-with-sharepoint-2010?forum=sharepointdevelopmentprevious
    You can enable blob cache so that css and js file are stored on server and not pulled from database
    Also you can try :
    http://sharepointroot.com/2008/12/07/improving-sharepoint-performance-publishing/
    http://sharepointpromag.com/sharepoint/15-helpful-sharepoint-branding-tips

  • Http Request through URL Connection?

    Hi ,
    Iam using an Applet (under JRE 1.3.0). Iam trying to send a Http Request using URL Connection. It is working fine . However, if the response time of the server is more than 3 minutes , the Response is not coming back to the server and the Applet is in a loop trying to read from the Server. I have observed that the request is sent to the server and it is processed successfully.
    When I test it in my local devp. machine it is working fine till 15 minutes which is my requirement.
    Can anybody suggest what should be the possible reasons and any workaround for it?
    Regards,
    TejoKiran.Y

    Iam copying the code fragments for the Applet Iam using . Is it a problem with the code? I heard that the URLConnection never times out . How is that it is not able to read the Response?
    <CODE >
    <HttpMessage>
    public class HttpMessage {
    URL servlet = null;
    Hashtable headers = null;
    public HttpMessage(URL servlet) {
    this.servlet = servlet;
    public InputStream sendGetMessage(Properties args) throws IOException {
    String argString = ""; // default
    if (args != null) {
    argString = "?" + toEncodedString(args);
    URL url = new URL(servlet.toExternalForm() + argString);
    // Turn off caching
    URLConnection con = url.openConnection();
    con.setUseCaches(false);
    // Send headers
    sendHeaders(con);
    return con.getInputStream();
    private void sendHeaders(URLConnection con) {
    if (headers != null) {
    Enumeration enum = headers.keys();
    while (enum.hasMoreElements()) {
    String name = (String) enum.nextElement();
    String value = (String) headers.get(name);
    con.setRequestProperty(name, value);
    </HttpMssage>
    <Code used to Read the Response.>
                        URL url = new URL(getDocumentBase(),"/ccls/test/delay.jsp");
                        HttpMessage msg = new HttpMessage(url);
                        InputStream in = msg.sendGetMessage(null);
                             char[] buff = new char[2048];
                             int bytesRead;
                             int ch;
                             StringBuffer sbtextbox = new StringBuffer("");
                             DataInputStream data = new DataInputStream(
                                                           new BufferedInputStream(in));
                             String line;
                        while ((line = data.readLine()) != null) {
                                  sbtextbox.append(line+"\r\n");
    </Code used to Read the Response.>
    </CODE>

  • HTTP request error under HTTPS

    Under the HTTPS, we encountered an issue that the content responed by WebSpwhere would display a http request error in flash, but if the content was compressed the flash works fine, may i know if it is necessory to compress everthing response to flash player under https?
    More Detail:
    The applicate side has a header setting for the response as below:
         response.setContentType("text");
         response.setHeader("Cache-Control", "no-cache, must-revalidate");
    The flash would have http request error with below setting in the WebSpwhere's IHS
        AddOutputFilterByType DEFLATE text/html
        AddOutputFilterByType DEFLATE text/plain text/xml
    But if we change it like below it would works fine.
        AddOutputFilterByType DEFLATE text
        AddOutputFilterByType DEFLATE text/html
        AddOutputFilterByType DEFLATE text/plain text/xml

    I always found it odd Flash didn't just use text/plain but to answer you, no you do not need to gzip before sending over HTTPS. Unless it interferes with other things, since you're already compressing text, maybe it's just a good idea to compress it.

  • ICF service with Multiple HTTP request handlers.

    Hi ,
    I have created a ICF service with "One HTTP request handler" using SICF transaction.
    it's working fine.
    After that  i have added anther "HTTP request handler".
    i have put  two External Break Points in two HTTP request handler classes.
    and i have debugged it.
    My problem is:
    The request is cached by first HTTP request handler.
    at the end it returns the response.
    it does not reached the second HTTP request handler.
    how can i forward my request to second HTTP request handler.
    please help me.
    lakshman

    Hi,
    Frankly I dont know too much on this topic but following links may help you:
    http://help.sap.com/saphelp_nw04/helpdata/en/25/dda73e5b7a424de10000000a114084/frameset.htm
    Troubleshooting ICF: http://help.sap.com/saphelp_nw04/helpdata/en/80/b2dd3a6dac703be10000000a11405a/content.htm
    Possibly experts in this forum will be able to help you:  Application Server->Internet Transaction Server (ITS)
    Regards,
    Gourav

  • Possible to get runtime info (Http request, response) from a WD4A Appl.?

    Hey,
    In a BSP / JSP application, it is possible to retrieve and set the runtime data (http request and response). For Example:
    response.setContentType("application/x-suvaagent;charset=iso-8859-1");
    response.setHeader("Cache-Control", "public");
    response.getWriter().print("<Request>");
    response.getWriter().print("</Request>");
    Is it possible to do this in a WebDynpro (ABAP) Application?
    The requirement is to construct a file using http response method. This file contains parameters like business data etc. The file type is already registered as a MIME type which is associated with a standalone program.
    When sending the http response, the file will be filled out with needed data and the associated program will be called using the data in the file.
    I haven't found out how to do this in web dynpro application, since we use WD4A in our project.
    Thanks and Regards,
    Liang

    In Web Dynpro you do not have direct access to the Request or Response object. This is part of the design of the abstracted rendering and makes things like the SmartClient and the AJAX based Delta Rendering possible.
    In Web Dynpro you should use the FileDownload UI element or the CL_WD_RUNTIME_SERVICES=>ATTACH_FILE_TO_RESPONSE
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/47/a8d95673b12fe2e10000000a42189d/frameset.htm
    If you want more control over the response object for a download then I might suggest that you can create a cached response object, place it into the ICM cache and generate a unique URL for it.  You can then fire a navigation plug or a LinkToURL to go to that cached response object.

  • Doubts about HTTPS requests and Java proxy

    Hello,
    I need help about SSL connections and Java.
    I'm developing a HTTP/S proxy with Java. To test my proxy, I use Firefox. I configure the proxy option in the browser. The proxy works good with HTTP requests, but with HTTPS requests doesn't work and I don't know why.
    I explain the steps that I do for a HTTPS request:
    * The browser sends a CONNECT message to the proxy.
    I check that the proxy receives the CONNECT request correctly.
    * The proxy establish a secure connection with the content server.
    I use an SSLSocket to connect with my content server, and the SSL handshake is succesful.
    * The proxy sends a 200 HTTP response to the client:
    I send
    HTTP/1.0 200 Connection established[CRLF]
    [CRLF]
    to the application client (Firefox)
    * The proxy sends/receive data to/from Firefox/content server
    I have a Socket between Firefox and my proxy, and a SSLSocket between my proxy and my content server. I use two threads to communicate the client and the server.
    Java code:
    //Thead server-->proxy-->application(Firefox)
    ThreadComm tpa = new ThreadComm(bis_serverSSL, bos_app);
    //Thread application(Firefox)-->proxy-->server
    ThreadComm tap = new ThreadComm(bis_app, bos_serverSSL);
    The "tpa" thread reads from the SSLSocket between the proxy and the server and sends data to the Socket between the proxy and Firefox.
    The "tap" thread reads from the Socket between the proxy and Firefox and sends data to the SSLSocket between the proxy and the server.
    This is the class ThreadComm:
    public class ThreadComm extends Thread{
        private BufferedInputStream bis = null;
        private BufferedOutputStream bos = null;
        public ThreadComm(BufferedInputStream bis, BufferedOutputStream bos) {
            this.bis = bis;
            this.bos = bos;
        @Override
        public void run() {
            int b = -1;
            FileOutputStream fos = null;
              do {
                   try {
                        b = bis.read();
                        System.out.print((char) b);
                        fos.write(b);
                        bos.write(b);
                        bos.flush();
                   } catch (Exception ex) {
                        Logger.getLogger(ThreadAplicacionProxy.class.getName()).log(Level.SEVERE, null, ex);
                        //b=-1;
              } while (b != -1);
        }But this doesn't work and I don't know why.      
    I have an Apache server with the mod_ssl enabled as content server, I can send requests (with Firefox) to the port 80(HTTP request) and 443(HTTPS request) without use my proxy and it works. If I use my proxy, HTTP request works but with HTTPS request doesn't work, I look the log of Apache and I see:
    [Tue Apr 27 17:32:03 2010] [info] Initial (No.1) HTTPS request received for child 62 (server localhost:443)
    [Tue Apr 27 17:32:03 2010] [error] [client 127.0.0.1] Invalid method in request \x80\x7f\x01\x03\x01
    [Tue Apr 27 17:32:03 2010] [debug] ssl_engine_kernel.c(1770): OpenSSL: Write: SSL negotiation finished successfully
    [Tue Apr 27 17:32:03 2010] [info] [client 127.0.0.1] Connection closed to child 62 with standard shutdown (server localhost:443)
    Why it say? Invalid method in request \x80\x7f\x01\x03\x01 , my proxy sends the data that the Firefox sends.
    I think than I have follow the explanations of [1] but doesn't work, I have problems in implementation in Java but I don't know where.
    I appreciate any suggestions.
    Thanks for your time.
    [1] http://www.web-cache.com/Writings/Internet-Drafts/draft-luotonen-web-proxy-tunneling-01.txt

    ejp, I have checked the socket between the proxy and server and ... You are right! , I was using the port 80 instead of the 443 (incredible mistake!, I'm sorry). I was convinced that I was using the port 443... Well, is a little step, but I still have not won the war :)
    If I see the log files of Apache, We can see that something goes wrong.
    localhost-access.log
    >
    127.0.0.1 - - [04/May/2010:17:44:48 +0200] "\x 80\x 7f\x01\x03\x01" 501 219
    >
    localhost-error.log
    >
    [Tue May 04 17:44:48 2010] [info] Initial (No.1) HTTPS request received for child 63 (server localhost:443)
    [Tue May 04 17:44:48 2010] [error] [client 127.0.0.1] Invalid method in request \x80\x7f\x01\x03\x01
    [Tue May 04 17:44:48 2010] [debug] ssl_engine_kernel.c(1770): OpenSSL: Write: SSL negotiation finished successfully
    [Tue May 04 17:44:48 2010] [info] [client 127.0.0.1] Connection closed to child 63 with standard shutdown (server localhost:443)
    >
    I think that this happens because Apache receives the data without decrypt, this is the reason because in the log we can see the "Invalid method in request \x80\x7f\x01\x03\x01". This supposition is true?
    ejp, you say that the "Termination is quite tricky." I have changed my code following yours suggestions (using the join and the shutdownOutput) but the threads don't die.
    I explain you what I do:
    (in time 1)
    I launch the thread (threadFirefoxToApache) that reads data from Firefox and sends to Apache.
    I launch the thread (threadApacheToFirefox) that reads data from Apache and sends to Firefox.
    (in time 2)
    threadFirefoxToApache sends the firts data to the server.
    threadApacheToFirefox is waiting that the server says something.
    (in time 3)
    threadFirefoxToApache is waiting that Firefox says something.
    threadApacheToFirefox sends data to Firefox.
    (in time 4)
    threadFirefoxToApache is waiting that Firefox says something.
    threadApacheToFirefox is waiting that Firefox says something.
    and they are waiting... and never finish.
    In time 2, these first data are encrypted. The server receives these data and It doesn't understand. In time 3, the server sends a HTTP response "501 Method Not Implemented", here there is a problem because this data must be encrypt. According to the documentation that I read, the proxy cannot "understand" this data but I can "understand" this data. What's happen?
    Firefox encrypt the data and send to the proxy. This It's correct.
    The proxy encrypt the data another time, because I use the SSLSocket to send the data to the server. Then the server receives the data encrypted two times, when decrypt the data gets the data encrypted one time. And this is the reason why the server doesn't understand the data that sends Firefox. It's correct? May be.
    Then If I want that the server receives the data encrypted one time I need to use the socketToServer, It's correct?
    I will supposed that yes. If I use the socketToServer, the proxy doesn't understand nothing, because the data received from the socketToServer are encrypted (I only see simbols), but the Apache log says that there is a problem with the version? (If I use the socketToServer the threads die)
    >
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1760): OpenSSL: Loop: SSLv3 read finished A
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1760): OpenSSL: Loop: SSLv3 write change cipher spec A
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1760): OpenSSL: Loop: SSLv3 write finished A
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1760): OpenSSL: Loop: SSLv3 flush data
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1756): OpenSSL: Handshake: done
    [Tue May 04 19:55:42 2010] [info] Connection: Client IP: 127.0.0.1, Protocol: TLSv1, Cipher: RC4-MD5 (128/128 bits)
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1817): OpenSSL: read 5/5 bytes from BIO#29bd910 [mem: 29ea0a8] (BIO dump follows)
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1750): -------------------------------------------------------------------------
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1789): | 0000: 80 7f 01 03 .... |
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1793): | 0005 - <SPACES/NULS>
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_io.c(1795): ------------------------------------------------------------------------
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1770): OpenSSL: Write: SSL negotiation finished successfully
    [Tue May 04 19:55:42 2010] [info] [client 127.0.0.1] SSL library error 1 reading data
    [Tue May 04 19:55:42 2010] [info] SSL Library Error: 336130315 error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
    [Tue May 04 19:55:42 2010] [debug] ssl_engine_kernel.c(1770): OpenSSL: Write: SSL negotiation finished successfully
    [Tue May 04 19:55:42 2010] [info] [client 127.0.0.1] Connection closed to child 63 with standard shutdown (server localhost:443)
    >
    What option is the correct? I need use the SSLSocketToServer or socketToServer to send/read the data to/from the server?. Use the SSLSocket has sense because the data travel in a secure socket, but use the Socket also has sense because the data are encrypted and they are protected by this encription. It's complicated...

  • UCCX 8.5 HTTP Request

    Hi,
    By any chance we can initiate an HTTP GET request to an external web server? Now I am only aware it can generate and send a response.
    Highly appreciated.
    Q

    Hi, yes, you can use that step too, but be aware of the fact that it does not issue the actual HTTP request, only a reference object to the remote resource. You can use the Cache Document step or the Get XML Data step. If you use multiple Get XML Data steps in your script, it will do multiple HTTP requests, so if it's not desired, you should use the Cache Document step first.
    G.

Maybe you are looking for