I am using SOAP::Lite and I have found that methods called from remotely dispatched modules do not respect the
context of the caller. It seems as though, somewhere in SOAP::Lite's guts it calls every function in a list context instead of preserving the context of the call.