On 15/05/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Hi,

I want to make performance tests off a client/server system with
SpringRCP an Tomcat. I use the HTTP - client (3.0) from Apache. The HTTP
Proxy Server records the requests of the client, but the server throws
the following exception:

 java.io.StreamCorruptedException: invalid stream header
at java.io.ObjectInputStream.readStreamHeader(ObjectI
nputStream.java:737)
at java.io.ObjectInputStream.<init>(ObjectInputStream .java:253)
at org.springframework.remoting.rmi.CodebaseAwareObje
ctInputStream.<init>(CodebaseAwareObjectInputStrea m.java:67)
at org.springframework.remoting.httpinvoker.HttpInvok
erServiceExporter.createObjectInputStream(HttpInvo
kerServiceExporter.java:155)
at org.springframework.remoting.httpinvoker.HttpInvok
erServiceExporter.readRemoteInvocation(HttpInvoker
ServiceExporter.java:121)
at org.springframework.remoting.httpinvoker.HttpInvok
erServiceExporter.readRemoteInvocation(HttpInvoker
ServiceExporter.java:100)
at org.springframework.remoting.httpinvoker.HttpInvok
erServiceExporter.handleRequest(HttpInvokerService Exporter.java:79)
at org.springframework.web.servlet.mvc.SimpleControll
erHandlerAdapter.handle(SimpleControllerHandlerAda pter.java:44)

 I debugged the method where the exception occurs:

protected void readStreamHeader()
throws IOException, StreamCorruptedException
{
if (bin.readShort() != STREAM_MAGIC ||
bin.readShort() != STREAM_VERSION)
{
throw new StreamCorruptedException("invalid stream header");
}
}

In my opinion the start of the header is modified by JMeter.
So I tried "Solex" Eclipse plugin and everything works fine. I compared
the streams from Solex and JMeter and detected that there is a
difference.

JMeter stream:
2%AC%C3%AD%00%05sr%005org.springframework.remoting
.support.RemoteInvocation_ ...

Solex stream:
%C2%AC%C3%AD%00%05sr%005org.springframework.remoting
.support.RemoteInvocation_ ...

Does anyone have a solution?

Which version of JMeter are you using?
Which version of Java?

If you are using MSIE, you could try using BadBoy to record the test plan.

If this creates a valid test plan, then it should be obvious where the
JMeter proxy is failing.

Does JMeter behave OK if you create the test elements without using
the Proxy Server?

It's quite possible that the JMeter Proxy does not handle all possible
browser communications properly - it was designed for "normal"
browsing, not servlets and other objects. But without a bit more
detail, it's not going to be easy to find the problems and fix them.

You can use TCPMon - http://ws.apache.org/commons/tcpmon/download.cgi
- to record the traffic.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to