S
schonlinner
Hi,
we have a software solution which works fine since several years for
several different companies: It's an applet which communicates with a
servlet using HTTP POST connections and displays results from the
server/servlet.
A new potential customer (i.e. company) now encounters a weird
behaviour: They have some kind of Microsoft proxy server sitting
between the applet and the servlet engine.
When our applet creates a HTTP connection to the server it uses
something as follows:
conn.setRequestMethod ("POST");
conn.setRequestHeader(...,...);
PrintWriter out = new PrintWriter(connect.getOutputStream());
out.println(data);
out.flush();
connect.connect();
Normally one would expect that this leads to a call to doPost of the
servlet.
But for an unknown reason the Microsoft proxy does something completely
unknown and creates an HTTP GET request, thus doGet will be called on
the server and the content of the request is missing and the request
thus is invalid.
This does not happen all the time, it happens round about every tenth
time or after about 15 secs of idle time (i.e. when the user does not
make a connection to the server).
Does anybody out there have a similar problem and perhaps a solution?
Why does the MS proxy change something in the request?
We cannot further examine which request headers get sent because the
presentation is over (had to use a modem dial connection) and all we
have are the log entries.
Hoping for some clarifying answers,
Alex
we have a software solution which works fine since several years for
several different companies: It's an applet which communicates with a
servlet using HTTP POST connections and displays results from the
server/servlet.
A new potential customer (i.e. company) now encounters a weird
behaviour: They have some kind of Microsoft proxy server sitting
between the applet and the servlet engine.
When our applet creates a HTTP connection to the server it uses
something as follows:
conn.setRequestMethod ("POST");
conn.setRequestHeader(...,...);
PrintWriter out = new PrintWriter(connect.getOutputStream());
out.println(data);
out.flush();
connect.connect();
Normally one would expect that this leads to a call to doPost of the
servlet.
But for an unknown reason the Microsoft proxy does something completely
unknown and creates an HTTP GET request, thus doGet will be called on
the server and the content of the request is missing and the request
thus is invalid.
This does not happen all the time, it happens round about every tenth
time or after about 15 secs of idle time (i.e. when the user does not
make a connection to the server).
Does anybody out there have a similar problem and perhaps a solution?
Why does the MS proxy change something in the request?
We cannot further examine which request headers get sent because the
presentation is over (had to use a modem dial connection) and all we
have are the log entries.
Hoping for some clarifying answers,
Alex