[guest - Tue May 25 12:59:02 2004]:
Show quoted text> See the attached code.
>
> Suppose one has an object, not implemented in SOAP.
> The can() method works as expected:
>
> if ($obj->can($methodname)) { ... }
>
> If one makes that a SOAP object, the can() method no
> longer works.
>
This may be related to version of Perl you are running.
From SOAP::Lite man page:
+autodispatch doesn't work in Perl 5.8
There is a bug in Perl 5.8's UNIVERSAL::AUTOLOAD functionality that
prevents the +autodispatch functionality from working properly. The
workaround is to use dispatch_from instead. Where you might normally do
something like this:
use Some::Module;
use SOAP::Lite +autodispatch =>
uri => 'urn:Foo'
proxy => 'http://...';
You would do something like this:
use SOAP::Lite dispatch_from(Some::Module) =>
uri => 'urn:Foo'
proxy => 'http://...';