Not really sure, but my guess would be that it has to do with the
following piece of code (SOAP/Lite.pm, line 2500):
unless (defined(%{"${class}::"}) || exists($INC{join '/', split /::/
+, $class.'.pm'})) {
# allow all for static and only specified path for dynamic binding
+s
local @INC = (($static ? @INC : ()), grep {!ref && m![/\\.]!} $sel
+f->dispatch_to);
eval 'local $^W; ' . "require $class";
die "Failed to access class ($class): $@" if $@;
$self->dispatched($class) unless $static;
}
in particular the local @INC = ...
A cursory glance at the surrounding lines makes me wonder what
would happen if you "preload" Data::Dumper in the server
(the idea being that it then already is loaded when the require is
executed with the restricted @INC...). Just an idea - could be
entirely wrong, though.