HTTP tunneling / number of TCP connections

Environment WLS 7.0 Sp2
We are experimenting with http tunneling and we noticed the following behavior,
when performing a lookup to get a handle to a few session beans that our UI is
using, Weblogic opens an additional TCP connection for every lookup however when
using t3 Weblogic opens a single connection for all of them. Our guess is that
Weblogic's T3 is optimized to pipeline and multiplex everything asynchronously
over one TCP connection.
Is there a way to configure Weblogic to use a single TCP connection when tunneling?

I believe it would just be an OS-level limit, on the number of socket handles that can be opened.

Similar Messages

  • How to limit the number of TCP connections beeing used concurrently while a page is beeing loaded?

    We manufacture industrial small-footprint control modules with embedded web server. The resources of these modules are very limited, especially in RAM. We have problem, that FF opens 15 parallel TCP connections while loading a web page (main html page first, then all icons simultaneously). We can not handle such behavior because of lack of RAM memory needed for TCP buffers.
    Question is how to limit the number of concurrent TCP connections the browser will use? We need to do it somehow directly from the page, we can not push our customers to change the general settings of their browsers (they would not understand such things anyway).
    Do anyone have any suggestion?

    Sorry, one other thought. Many web designers now combine all icons into a single image and use CSS to clip the image so that only the desired portion is displayed. This minimizes the number of required connections and increases the probability that the image can be retrieved from cache.
    More info:
    * [http://www.w3schools.com/css/css_image_sprites.asp CSS Image Sprites - W3Schools]
    * [http://www.alistapart.com/articles/sprites/ A List Apart: Articles: CSS Sprites: Image Slicing’s Kiss of Death]
    * [http://coding.smashingmagazine.com/2009/04/27/the-mystery-of-css-sprites-techniques-tools-and-tutorials/ The Mystery Of CSS Sprites: Techniques, Tools And Tutorials | Smashing Coding]
    No idea whether this is practical for your application.

  • Max number of TCP connections to one IP?

    Is there any limit, imposed by the TCP protocol, to the number of active connections to one IP address on one interface?
    I'm asking this because it's easy to add more servers behind a load balancer, but I wonder if the TCP protocol limits in some fundamental way the number of connections to the load balancer itself.
    Let's say there's an ACE 4710 load balancer in front of a bunch of Web servers. The balancer exposes one IP address to the clients on the public network. The connections are forwarded to the Web servers on the private network. The balancer is also doing NAT: the servers see the connections originating on a private IP on the load balancer.
    On the client side, each connection is uniquely identified by the quartet (source IP, source port, dest IP, dest port). So as long as each client only creates one connection, I think the limit here is just the amount of RAM on the load balancer.
    On the server side, same thing, each connection is identified by the same quartet, so I guess the theoretical limit here is 64k connections per server, due to the limit imposed by the source port numbers on the load balancer.
    OTOH, if the load balancer is not doing NAT (the servers see the connections originating on the public IPs of the clients), then there should be no limit imposed by the TCP protocol.
    Is that right? Comments?

    you got it right.
    Gilles.

  • Increase number of TCP connections

    I'm running some sample connection tests with node.js and the sample test is one that creates a number of connections to a node.js server.
    I cannot get above 249 connections on a specified port and I'm wondering how / if I can increase this number.
    1)  Can someone describe or point me to a document that will educate me on how to change this configuration in OSX?

    Hi,
    Your question falls into the paid support category which requires a more in-depth level of support. Please visit the below link to see the various paid support options that are
    available to better meet your needs.
    http://support.microsoft.com/default.aspx?id=fh;en-us;offerprophone 
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Jun Zh - MSFT
    Microsoft Online Community Support

  • WAAS - TCP Connection High-Water Mark

    Is there a way to tell the historical statistic for maximum number of TCP connections in a WAE? We are in the middle of a deployment and I am wondering how well we sized our HQ cluster.

    Through CM dashboard -> manage devices and go to edge or core device, you will be able to see the connections for each device.
    The other option, is to check and see if you are seeing a lot of bypass traffic.
    Once WAAS reaches max, traffic will be bypassed until max sessions drops

  • How to initialize the Http Tunnel Connection

    hi all,
    I am developing an application in which i have to get the images from the server.At first i have used the Apache Tomcat it was working fine in my localSystem.
    when the same application when getting the images from the server it was getting the following exception in the RunTime,Error in HTTP Tunnel initializing
    what does it mean,is this a problem in the network.Can anybody give me the way to initialize the Server or the midlet to get the image.
    When the same URL in the Browser it was displaying the image.Can anybody please give me the solution in this aspect
    thanks in advance
    lakshman

    hi ,
    The above preferences about the network will work fine when you are working with the localhost.When the same application dealing with the network connection like http://mywebsite/.... it was not giving wny response.
    I don't know the reason for that, if you know please share with me.but the application will work fine in mobile. I tested that application with the ASP file in my website with the 6630.
    if you have any doubts feel free to post here
    lakshman

  • Get InitialContext for P4-connection via Http tunneling

    Hi,
    I have to use an Http tunnel to access my integration J2EE engine.
    Now, I want to create a P4-connection. It doesn't work. No InitialContext will be returned.
    I can open the VisualAdmin on the http tunneling port. But in the connection GUI I can select 'Http tunneling' as connection type. Is there any setting, i.e. property, for the InitialContext to signal that Http tunneling should be used ?
    Regards,
    Astrid

    Hi Astrid,
    yes, you need ot use TransportLayerQueue property of the InitialContext to specify that you need Http Tunneling as the transport layer. See <a href="http://help.sap.com/saphelp_nw04/helpdata/en/c8/5bc0417951cf17e10000000a155106/frameset.htm">this</a> page for description.
    Did you use that already?
    Regards,
    Ivo

  • Error initializing HTTP tunnel connection

    Hi ,
    I too got the same error like,
    java.io.IOException: Error initializing HTTP tunnel connection:
    HTTP/1.0 404 Not Found
    Server: servletrunner/2.0
    Content-Type: text/html
    Content-Length: 95
    Date: Wed, 03 Jan 2007 14:59:05 GMT
    Here I used J2ME as client application, through servlet runner I am tring to connect to server program. Initially Its worked fine.. But I changed some interner explorer settings. then I got this error. When I changed those setttings to normal also I am not able to connect to the server. Even I reinstall the whole softwares. But the problem is still there.
    So could any one help me to resolve the problem.
    Its very Urgent project. Its completed but when I try to demonstrate, that day only to connect my PC remotly I changed internet explorer settings very badly. It causes all the damage. Even I changed them to normal also I am not getting any.
    Please help me to resolve it.
    waiting for your response....
    Thanks,
    Sri...

    Size(kb): 0
    Name: TEMPLATE_STORE
    Records: 12
    Size(kb): 14
    Remaining Space(kb): 5831
    file://localhost/c:/Nokia/
    Midlet exit status: true
    file://localhost/root1/
    Midlet exit status: true
    java.io.IOException: java.io.IOExceptionFilesystem root root1/ is not mounted.
    file:///c:/
    Midlet exit status: true
    file:///e:/
    Midlet exit status: true
    file:///c:/Nokia/Images/
    Midlet exit status: true
    file:///c:/Nokia/Videos/
    Midlet exit status: true
    file:///CFCard/
    Midlet exit status: true
    java.io.IOException: java.io.IOExceptionFilesystem root cfcard/ is not mounted.
    file://localhost/
    Midlet exit status: true
    java.lang.IllegalArgumentException: Malformed file location.
    file://localhost/c:/
    Midlet exit status: true
    file://localhost/e:/
    Midlet exit status: true
    Default File System Root is: file://localhost/c:/nokia/vaayoo/
    Listing files in directory and its sub directories: file://localhost/c:/nokia/vaayoo/
    java.io.IOException: Error initializing HTTP tunnel connection:
    HTTP/1.1 400 Bad Request
    Date: Mon, 23 Apr 2007 08:13:04 GMT
    Server: Apache/2.2.4 (Win32)
    Content-Length: 226
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    Error initializing HTTP tunnel connection:
    HTTP/1.1 400 Bad Request
    Date: Mon, 23 Apr 2007 08:13:04 GMT
    Server: Apache/2.2.4 (Win32)
    Content-Length: 226
    Connection: close
    Content-Type: text/html; charset=iso-8859-1

  • Applet attempting to access dead http tunneling connection of its immediate predecessor

    We're encountering weblogic exceptions when switching between client applets
    in the same browser session. Each applet, when invoked, establishes an http
    (ie, an http tunneling) connection with the weblogic server. When we use t3
    as our protocol, everything works fine. When we use http, however, we get
    the following client-side exception as soon as we switch over to the second
    applet.
    weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Dead thread ]
    at weblogic.net.http.KeepAliveCache.put(KeepAliveCache.java:57)
    at weblogic.net.http.HttpClient.finished(HttpClient.java:147)
    at weblogic.net.http.KeepAliveStream.close(KeepAliveStream.java:89)
    at weblogic.net.http.KeepAliveStream.justRead(KeepAliveStream.java:37)
    at weblogic.net.http.KeepAliveStream.read(KeepAliveStream.java:47)
    Some details:
    1) We are using sun java plugin, v1.3
    2) We are using weblgoc 5.1, sp5.
    3) We can temporarily stop this problem from happening by delaying the death
    of the first applet. That is, we cause its thread to pause before allowing
    itself to die. When we do this, the second applet works fine UNTIL the first
    one dies, then it pukes with a similar error to the one above.
    It seems like the 2nd applet is trying to access the first one's http
    connection stream, and in doing so is throwing an exception upon discovering
    that this applet's thread is already gone.
    Can anyone guess why this may be happening?
    Many thanks.
    Ramsey

    Ramsey Shehadeh <[email protected]> wrote:
    >
    Yes, we've tried that. Doing two t3 (or t3s) connections seems to work
    fine. It's only the tunneling that's causing us problems.interesting...
    looks like they are sharing.
    Is there any
    way you know of to prevent the applets from sharing sessions? dont know at this time...
    session identification are put in cookies and browser instance maps that to a URL.So everytime the browser connects to the URL it identifies with these and they, as far as i know will be same for both applets...
    purely a browser concern?dont know...
    maybe weblogic could do something at its marshalling/unmarshalling layer of HTTP tunelling...but not sure...
    >
    Thanks.
    Ramsey
    shivu wrote:
    AFAIK this could be because both applets are sharing the same connection/session...I think when you run two applets in the same browser session, some things get shared especially HTTP Session...
    Are you making two different t3 connections in two applets?
    "Ramsey Shehadeh" <[email protected]> wrote:
    We're encountering weblogic exceptions when switching between client applets
    in the same browser session. Each applet, when invoked, establishes an http
    (ie, an http tunneling) connection with the weblogic server. When we use t3
    as our protocol, everything works fine. When we use http, however, we get
    the following client-side exception as soon as we switch over to the second
    applet.
    weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Dead thread ]
    at weblogic.net.http.KeepAliveCache.put(KeepAliveCache.java:57)
    at weblogic.net.http.HttpClient.finished(HttpClient.java:147)
    at weblogic.net.http.KeepAliveStream.close(KeepAliveStream.java:89)
    at weblogic.net.http.KeepAliveStream.justRead(KeepAliveStream.java:37)
    at weblogic.net.http.KeepAliveStream.read(KeepAliveStream.java:47)
    Some details:
    1) We are using sun java plugin, v1.3
    2) We are using weblgoc 5.1, sp5.
    3) We can temporarily stop this problem from happening by delaying the death
    of the first applet. That is, we cause its thread to pause before allowing
    itself to die. When we do this, the second applet works fine UNTIL the first
    one dies, then it pukes with a similar error to the one above.
    It seems like the 2nd applet is trying to access the first one's http
    connection stream, and in doing so is throwing an exception upon discovering
    that this applet's thread is already gone.
    Can anyone guess why this may be happening?
    Many thanks.
    Ramsey

  • Java.io.IOException: Error initializing HTTP tunnel connection:

    Hi,
    I am running sample Midlet to communicate to any URL like http://www.google.com or my internal servlet. It is opening the connection but when I try to open the inputstream it gives me following error.
    java.io.IOException: Error initializing HTTP tunnel connection:
    HTTP/1.1 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )
    Via: 1.1 TPSL-PROXY
    Proxy-Authenticate: Negotiate
    Proxy-Authenticate: Kerberos
    Proxy-Authenticate: NTLM
    Proxy-Authenticate: Digest qop="auth",algorithm=MD5-sess,nonce="3ace49b386edc8013f52a8f9b7c0638bfb8a6ca60b76bf826632da7cd6185c30d3c61c1a61a0aa91",charset=utf-8,realm="TPSL.LOCAL"
    Connection: close
    Proxy-Connection: close
    Pragma: no-cache
    Cache-Control: no-cache
    Content-Type: text/html
    Content-Length: 722
         at com.sun.midp.io.j2me.http.Protocol.doTunnelHandshake(+333)
         at com.sun.midp.io.j2me.http.Protocol.connect(+145)
         at com.sun.midp.io.j2me.http.Protocol.streamConnect(+57)
         at com.sun.midp.io.j2me.http.Protocol.startRequest(+12)
         at com.sun.midp.io.j2me.http.Protocol.sendRequest(+38)
         at com.sun.midp.io.j2me.http.Protocol.sendRequest(+6)
         at com.sun.midp.io.j2me.http.Protocol.closeOutputStream(+4)
         at com.sun.midp.io.BaseOutputStream.close(+14)
         at HTTPTest.getGrade(+155)
         at HTTPTest.startApp(+8)
         at javax.microedition.midlet.MIDletProxy.startApp(+7)
         at com.sun.midp.midlet.Scheduler.schedule(+270)
         at com.sun.midp.main.Main.runLocalClass(+28)
         at com.sun.midp.main.Main.main(+80)
    I think it is going through SSL handshake which implemented in HTTP protocol in J2ME.
    I have already done the proxy setup and authentication in Sun Wireless toolkit > preferences > Network configuration.
    Still error is there. Please help me regarding this, not able to go ahead and rest in peace.
    thanks & regards,
    mJK

    Hi,
    have you checked proxy settings in WTK preferences?
    Peter

  • Slow connection to flash media server 2 (with HTTP Tunneling)

    Hello,
    I use a FMS2 for a big project which include Instant
    Messenger and
    streaming video.
    On my development platform. I have no problem. But in the
    final
    configuration, the connection to Flash Media Server takes a
    lot of
    time (about 2 or 3 minutes) and i can't find why.
    FMS2 was installed on Windows 2003 Server behind a proxy and
    a
    firewall which only let the hostport 80 oppened.
    The server does not run a web server (or anyother
    application) which
    use this hostport.
    The connection are established by HTTP Tunneling.
    Does someone already have the same problem?
    Thanks for your answers and sorry for my poor english level.
    Guillaume

    I forgot to mention:
    Flash Media server is running fine. I can log into the Admin
    application no probs.
    I created a folder called "test". Inside that folder I
    created another one called streams and inside that folder I created
    a folder called _definst_.
    I placed an flv file called: test.flv in to the _definst_
    folder.
    In Dreamweaver CS3 I inserted a Flash Video File:
    Chose Streaming as the option and for the RTMP path I put:
    rtmp://ipaddressofserver/test/_definst_/test.flv
    Called the stream....test.
    When i run the page it loads, but the page is blank.
    In the Flash Media Server, in the "View Applicationd" tab
    I get the record of test and underneath it in the same link
    it says test.flv with 1 client
    The Streams tab shows a random name and Netstream.
    This tells me its recognising the connection and link, but
    the movie is not on the page
    any help would be appreciated
    cheers

  • Http tunnel connection unexpectedly closes

    Hi,
    I'm trying to ichat to work on an imac connected to a coporate network. I'm trying to connect through a proxy and keep getting the error "http tunnel connection unexpectedly closes".
    My .mac account is set to connect through a proxy on port 80 using the http protocol.
    Cheers
    Craig

    Hi,
    Can I suggest you ask here about the HTTP tunnel issue.
    I have never used iChat this way and think you need to solve that first.
    I do know that iChat manages Proxy connections better if pointed to using the System Preferences Settings (Network > Advanced Button)
    8:43 PM Tuesday; July 13, 2010
    Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"

  • Connection between fmsedge and apache with http tunneling

    I configured my FMS for listening on port 80 and redirect non-FMS requests to apache on port 8080 in the same server machine.
    It works well, but I've noticed several tcp connections from fmsedge to apache in Established status (it is simple to see through "netstat -nap | grep 8080" command) that stay forever (until FMS stop or restart).
    With a sniffer capture I seen that sometime the fmsedge requests to apache a tcp connection but it (fmsedge) doesn't use this connection. Then the apache server send a syn,ack tcp request and always fmsedge send a dup ack tcp response. So, the connection is active but not used, then apache doesn't close it.
    The kind of requests for apache are http get to js or php files.
    I don't understand why fmsedge create these connections.
    Am I misteking some configuration? Or may be it is a bug of fmsedge? Anybody have the same problem? Anybody can help me?

    This is causing an issue for us: after a litle time, the server is blocked because too many connection are established. Any other new request to the service is not accepted and it is necessary to restart the server to resolve, but this action of course close all the active connection...

  • Help needed in HTTP Tunneling - urgent

    Hi all,
    I urgently need a working code sample of a client which sends requests to a server that redirects the request to an RMI server via RMI servlet.
    Does any of you familiar of such a code sample?
    Thanks

    I'm sorry, but HTTP Tunneling is not working for me. I must have done something wrong.
    Let me describe my configuration:
    I have a server behind NAT router which connected to apache2 and tomcat 4.1 web servers. The apache2 and tomcat are not connected between them.
    I deployed war file on tomcat which contains the servlet for the HTTP Tunneling which its code is:
    public class RmiHttpTunnelerServlet extends HttpServlet
        public void init(ServletConfig config) throws ServletException
            super.init(config);
            System.out.println("Simplified RMI Servlet Handler loaded successfully.");
        public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
            try
                String queryString = req.getQueryString();
                String command, param;
                int delim = queryString.indexOf("=");
                if (delim == -1)
                    command = queryString;
                    param = "";
                else
                    command = queryString.substring(0, delim);
                    param = queryString.substring(delim + 1);
                if (command.equalsIgnoreCase("forward"))
                    try
                        ServletForwardCommand.execute(req, res, param);
                    catch (ServletClientException e)
                        returnClientError(res, "client error : " + e.getMessage( ));
                        e.printStackTrace();
                    catch (ServletServerException e)
                        returnServerError(res, "internal server error : " + e.getMessage());
                        e.printStackTrace();
                else
                    returnClientError(res, "invalid command: " + command);
            catch (Exception e)
                returnServerError(res, "internal error: " + e.getMessage());
                e.printStackTrace();
        public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
            returnClientError(res, "GET Operation not supported: Can only forward POST requests.");
        public void doPut(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
            returnClientError(res, "PUT Operation not supported: Can only forward POST requests.");
        public String getServletInfo()
            return "Simplified RMI Call Forwarding Servlet Servlet.<br>\n ";
        private static void returnClientError(HttpServletResponse res, String message) throws IOException
            res.sendError(HttpServletResponse.SC_BAD_REQUEST,
                          "<HTML><HEAD><TITLE>Java RMI Client Error < / TITLE > < / HEAD > < BODY > " +
                          "<H1>Java RMI Client Error</H1>" + message + "</BODY></HTML>");
            System.err.println(HttpServletResponse.SC_BAD_REQUEST + "Java RMI Client Error" + message);
        private static void returnServerError(HttpServletResponse res,
                                              String message) throws IOException
            res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                          "<HTML><HEAD>< TITLE > Java RMI Server Error < / TITLE > < / HEAD > < BODY > " +
                          "<H1>Java RMI Server Error < / H1 > " + message + " < / BODY > < / HTML > ");
            System.err.println(HttpServletResponse.SC_INTERNAL_SERVER_ERROR + "Java RMI Server Error : " + message);
        }There is also a utility class:
    public class ServletForwardCommand {
        public static void execute(HttpServletRequest request, HttpServletResponse response, String stringifiedPort)
            throws ServletClientException, ServletServerException, IOException {
            int port = convertStringToPort(stringifiedPort);
            Socket connectionToLocalServer = null;
            try {
                connectionToLocalServer = connectToLocalServer(port);
                forwardRequest(request, connectionToLocalServer);
                forwardResponse(response, connectionToLocalServer);
            } finally {
                if (null != connectionToLocalServer) {
                    connectionToLocalServer.close();
        private static int convertStringToPort(String stringfiedPort) throws ServletClientException {
            int returnValue;
            try {
                returnValue = Integer.parseInt(stringfiedPort);
            } catch (NumberFormatException e) {
                throw new ServletClientException("invalid port number: " + stringfiedPort);
            if (returnValue <= 0 || returnValue > 0xFFFF) {
                throw new ServletClientException("invalid port: " + returnValue);
            if (returnValue < 1024) {
                throw new ServletClientException("permission denied for port: " + returnValue);
            return returnValue;
        private static Socket connectToLocalServer(int port) throws ServletServerException {
            Socket returnValue;
            try {
                returnValue = new Socket(InetAddress.getLocalHost(), port);
            } catch (IOException e) {
                throw new ServletServerException("could not connect to " + "local port");
            return returnValue;
        private static void forwardRequest(HttpServletRequest request, Socket connectionToLocalServer)
            throws IOException, ServletClientException, ServletServerException {
            byte buffer[];
            DataInputStream clientIn = new DataInputStream(request.getInputStream());
            buffer = new byte[request.getContentLength()];
            try {
                clientIn.readFully(buffer);
            } catch (EOFException e) {
                throw new ServletClientException("unexpected EOF " + "reading request body");
            } catch (IOException e) {
                throw new ServletClientException("error reading request" + " body");
            DataOutputStream socketOut = null;
            // send to local server in HTTP
            try {
                socketOut = new DataOutputStream(connectionToLocalServer.getOutputStream());
                socketOut.writeBytes("POST / HTTP/1.0\r\n");
                socketOut.writeBytes("Content-length: " + request.getContentLength() + "\r\n\r\n");
                socketOut.write(buffer);
                socketOut.flush();
            } catch (IOException e) {
                throw new ServletServerException("error writing to server");
        private static void forwardResponse(HttpServletResponse response, Socket connectionToLocalServer)
            throws IOException, ServletClientException, ServletServerException {
            byte[] buffer;
            DataInputStream socketIn;
            try {
                socketIn = new DataInputStream(connectionToLocalServer.getInputStream());
            } catch (IOException e) {
                throw new ServletServerException("error reading from " + "server");
            String key = "Content-length:".toLowerCase();
            boolean contentLengthFound = false;
            String line;
            int responseContentLength = -1;
            do {
                try {
                    line = socketIn.readLine();
                } catch (IOException e) {
                    throw new ServletServerException("error reading from server");
                if (line == null) {
                    throw new ServletServerException("unexpected EOF reading server response");
                if (line.toLowerCase().startsWith(key)) {
                    responseContentLength = Integer.parseInt(line.substring(key.length()).trim());
                    contentLengthFound = true;
            while ((line.length() != 0) &&
                (line.charAt(0) != '\r') && (line.charAt(0) != '\n'));
            if (!contentLengthFound || responseContentLength < 0)
                throw new ServletServerException("missing or invalid content length in server response");
            buffer = new byte[responseContentLength];
            try {
                socketIn.readFully(buffer);
            } catch (EOFException e) {
                throw new ServletServerException("unexpected EOF reading server response");
            } catch (IOException e) {
                throw new ServletServerException("error reading from server");
            response.setStatus(HttpServletResponse.SC_OK);
            response.setContentType("application/octet-stream");
            response.setContentLength(buffer.length);
            try {
                OutputStream out = response.getOutputStream();
                out.write(buffer);
                out.flush();
            } catch (IOException e) {
                throw new ServletServerException("error writing response");
    }I checked also with packets monitoring tool, I couldn't see any http transportation.
    Any help will be appreciated.

  • Http tunneling

    I'm facing some problems while doing http tunneling thru proxy and below I'm giving some trace messages.
    Without proxy the system seems to work ok.
    Client -------- proxy ------- Tunnel Server --------- Server
    The tunnel server tries to send back the data to client on the http connection.
    The client is trying to receive data on the http connection.
    The tunnel forwarder throws the following exception. Basically the tunnel forwarder thinks that the socket is closed immediately.
    java.net.SocketException: Socket closed
    at java.net.SocketOutputStream.socketWrite(Native Method)
    at java.net.SocketOutputStream.write(Unknown Source)
    at java.io.ObjectOutputStream.drain(Unknown Source)
    at java.io.ObjectOutputStream.setBlockData(Unknown Source)
    at java.io.ObjectOutputStream.writeObject(Unknown Source)
    at TunnelForwarder.run(TunnelForwarder.java:108)
    java.net.SocketException: Socket closed
    at java.net.SocketOutputStream.socketWrite(Native Method)
    at java.net.SocketOutputStream.write(Unknown Source)
    at java.io.ObjectOutputStream.drain(Unknown Source)
    at java.io.ObjectOutputStream.setBlockData(Unknown Source)
    at java.io.ObjectOutputStream.writeObject(Unknown Source)
    at TunnelForwarder.run
    The client throws the following exception. It thinks that the httpConnection is down immediately.
    java.net.SocketException: Unexpected end of file from server
    at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
    at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
    at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
    at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.plugin.protocol.jdk12.http.HttpURLConnection.getInputStream(Unknown Source)
    at TunnelReader.establishConnectionPath(TunnelReader.java:98)
    at TunnelReader.run(TunnelReader.java:124)
    java.lang.NullPointerException
    at TunnelReader.run(TunnelReader.java:130)
    However, the tunnel server shows that the tunnel is maintained
    And even the netstat -n shows that the connection exists
    C:\WINNT>netstat -n
    Active Connections
    Proto Local Address Foreign Address State
    |
    |
    TCP tunnelServer:3299 server:12000 ESTABLISHED
    |
    |
    TCP tunnelServer:9000 proxy:48040 ESTABLISHED
    |
    |
    The http connection is actually brought down by the proxy after a considerably long time (more than a minute).
    Regards,
    Rahuole pawer

    Do not try base your tunnel on urlConnections. After you send the message, you cannot read. The only way is to use 2 connections, because all the proxy servers support only HTTP/1.0, which was depricated by W3C in 1996 after HTTP/1.1 was accomplished. If your proxy does you are lucky. To make your tunnel working over HTTP/1.0 is terrible task of TCP stack rewriting in Java. May be someone has it implemented already. I am interested to look after.

Maybe you are looking for

  • How to get error message from the BPEL process

    Hi, We have some BPEL processes running in BPEL PM 10g. If any of these BPEL process fails, we would like to get the error message caused this process to fail. Please let me know where does the BPEL proccess holds (table/file) these details. or is it

  • SRM 5.0 Approval Preview Applet not working

    Hello, When raising a shopping cart the graphic for adding the approver does not appear. We can still add the approver by choosing view as table but the graphical view just gives us a grey box. We have just patched from SAPKIBKT12 to SAPKIBKT15 and I

  • Business Package for Assets 50.3.1:  Error in Source. Message not available

    Hi Just deployed the Business Package for Assets 50.3.1 on Portal version 7 with SP8, when running the Assets detail, my assets iviews always display:  "Error in Source. Message not available." even all other iviews on the same page still work as exp

  • PC compatibility

    I'm sure this has been asked repeatedly but..........I have a G3 iBook with OS 10.4.3, iSight, iChatAV, AIM Messenger. Two contacts have Dell and IBM computers respectively. Both have AIM 5.9 Messenger and appropriate Webcam software and cameras. We

  • Lightroom stop syncing suddeny

    Hi there, Im using Lightroom 5.5 via Creative Cloud on my iMac OSX Mavericks 10.9.4 and on my iPad4 4G iOs 7.1.1   Lightroom mobile version 1.1.0 Not so long ago the sync work perfectly fine. But now Lightroom on my iMac says that it still has to syn