The Java MessagePort Library is a general abstraction for many different stream- or message-based APIs, including UDP, TCP, JMS, JXTA, BEEP, J2EE MessageBeans, SOAP, Mach IPC, SysV IPC, QNX4 SRR IPC, and shared memory. The available transport encodings include none, RMI, AltRMI, XML-RPC, SOAP, and JRML.
It is released under the LGPL, whose definition as it pertains to Java code changes almost weekly. I’ve glanced at the javadocs, and there sure are a lot of transport protocols and message types implemented. If you’re thinking about reinventing the wheel and LGPL works for you, this looks like an excellent library to make use of.