Is there a standard way for me to add my own custom object to a Map and then have it properly marshalled in a MapMessage? Currently I get the Invalid Object Type message.
A JMS map message's map only supports primitives and strings (and their arrays) as values. From the javadoc:
The names are String objects, and the values are primitive data types in the Java programming language.
You would be better off using an ObjectMessage and write your serialized objects to a map and then send the map as the payload of the ObjectMessage. That way, you can still have the name/value map access style but without the limitation of types.