Chapter 6. Custom Serialization

You may find that your web services and client applications work perfectly well using the set of data types supported by your SOAP implementation. After all, the technologies we’re looking at provide a great deal of flexibility with their support for arrays and custom types. On the other hand, somewhere along the line you may need to serialize something that simply isn’t possible using the techniques we’ve covered up to this point. Maybe you want to serialize the data for a Java class in a way that is more consistent with your existing applications, even if the encoding is not industry standard. Or maybe you want to add support for constructs that are described in the SOAP specification but are not supported in the available SOAP implementations.

The implementation of SOAP that you use may force you to write custom serializers for certain types of objects. For example, Apache provides the Bean serializer; it could provide other special case serializers, and it’s not required to provide that one. So the conditions under which you need to supply a custom serializer are implementation dependent.

It’s also important to consider the usefulness of the data being serialized. Many of Java’s rules about what implements the Serializable interface make sense here as well. For example, SOAP or not, serializing an I/O stream is not likely a sensible thing to do. This is true for any kind of distributed system. You have to understand the semantics of the data ...

Get Java and SOAP now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.