maybe it doesn't know what class it is, but it doesn't need to for what i'm doing
If it doesn't know what kind of object it is, you aren't doing OO programming. That's a basic requirement. What you're talking about -- sending complex data structures back and forth -- is not OO. There is no object, no behaviors tied to it, no inheritance, no encapsulation, etc.
It sounds like SOAP is working fine for you, but try not to confuse the issue by attempting to jam OO stuff where it doesn't fit. There's no reason to do that bless stuff you have in there now.