well, I recently wrote an API wrapper around vpopmail for us internally here - something that allows us to manipulate domains and users based on another interface in another department, complete with a pluggable logging interface (STDERR, flat file, database) and whatnot. nothing too fancy, but it's documented :)
anyway, there has been some pressure from above for inter-system communications to be standardized (right now we query tables directly). So, this morning I said to myself, "fine. I'll show them" and plugged my modules into SOAP::Lite and Apache::SOAP. *poof* instant SOAP interface. I only had to make one small change: I was passing around an open filehandle in my logging object, which didn't work. Paul Kulchenko confirmed my suspicion that filehandles don't serialize, so an open and close on each write and we've got a SOAP prototype.
I love this stuff.