Can't write certain objects through ObjectStream

P

Peter Forster

I'm trying to send object through a http connection by using
ObjectOutputStream / ObjectInputStream.

This is client code:
toServer.writeObject(myObject);
//toServer.writeObject(new Integer(100000));
//toServer.writeObject("hi server");

when writing the first line (myObject implements Serilaizable), I get a
SocketException on the server as below. when writing Integer or String
objects, I don't have any problems reading it.
The client doesn't seem to have any problems writing (no exceptions).
I think this is either a very strange behavior or I'm missing something
(very basic probably).

Can somebody help me please.
Thank you!
pete


java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at
org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:777)
at
org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:807)
at
org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:158)
at
org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:742)
at org.apache.coyote.Request.doRead(Request.java:431)
at
org.apache.coyote.tomcat4.CoyoteInputStream.readBytes(CoyoteInputStream.java:199)
at
org.apache.coyote.tomcat4.CoyoteInputStream.read(CoyoteInputStream.java:156)
at
java.io_ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)
at
java.io_ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2555)
at
java.io_ObjectInputStream$BlockDataInputStream.readFully(ObjectInputStream.java:2579)
at
java.io_ObjectInputStream.defaultReadFields(ObjectInputStream.java:1834)
at
java.io_ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at
java.io_ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at
java.io_ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io_ObjectInputStream.readObject(ObjectInputStream.java:324)
 
R

Ryan Stewart

Peter Forster said:
I'm trying to send object through a http connection by using
ObjectOutputStream / ObjectInputStream.

This is client code:
toServer.writeObject(myObject);
//toServer.writeObject(new Integer(100000));
//toServer.writeObject("hi server");

when writing the first line (myObject implements Serilaizable), I get a
SocketException on the server as below. when writing Integer or String
objects, I don't have any problems reading it.
The client doesn't seem to have any problems writing (no exceptions).
I think this is either a very strange behavior or I'm missing something
(very basic probably).

Can somebody help me please.
Thank you!
pete
*snip stacktrace*
What type of object are you trying to send that causes this problem?
 
P

Peter Forster

I did some further testing:
The following class I can send:
public class TestMessage extends MyMessage {
}

this I can not send (same exception as in the post before):
public class TestMessage extends MyMessage {
private String string;
}


(MyMessage implements serialiazable)

I am completely confused. can somebody help me?

cheers, pete
 
W

Wendy S

Peter Forster said:
public class TestMessage extends MyMessage {
private String string;
}
(MyMessage implements serialiazable)
I am completely confused. can somebody help me?

Reaching back to a class project long ago, I'm fairly certain that
TestMessage will not inherit the "serializableness" of MyMessage. Try
marking TestMessage as Serializable as well, and see if things start
working.

Or not. It was a long time ago, but it can't hurt to try.
 
R

Ryan Stewart

Peter Forster said:
I did some further testing:
The following class I can send:
public class TestMessage extends MyMessage {
}

this I can not send (same exception as in the post before):
public class TestMessage extends MyMessage {
private String string;
}


(MyMessage implements serialiazable)

I am completely confused. can somebody help me?

cheers, pete
You're not getting much of anywhere with these vague posts. Post some
compilable code that demonstrates your problem. For tips, see:
http://www.physci.org/codes/sscce.jsp
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top