What to do about an unserializable object

I need to pass an object that is not serializeable (javax.sound.midi.Sequence) through a Socket. The only way I know how to pass non simple type is to convert them to byte[] first. How can I pass something that is not serializable through a socket?

are you able to serialize it using some other serialization api, such as using XML: xstream, castor, or JSON : SOJO, jsonserializer (both of these on sourceforge)
where you serialize it into XML or JSON and pass that thru the socket and on the receiving side, deserialize it back into an object?