I'm trying to get aquainted with web services via SOAP::Lite, but I'm running into some problems.
Here is my SOAP server:
#! /usr/bin/perl use strict; use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to( '/var/www/localhost/cgi-bin/soap_modules' ) -> handle;
My SOAP client:
#! /usr/bin/perl -w use strict; use SOAP::Lite; my $soap = SOAP::Lite -> proxy( 'http://dg.example.org/cgi-bin/soapserver.cgi' ) -> uri( 'http://dg.example.org/Greeter' ) -> on_fault( sub { my($soap, $res) = @_; die ref $res ? $res->faultstring : $soap->transport->status, +"\n"; }); my $greeter = $soap->call( new => 'Doug' )->result; print $soap->formal( $greeter )->result; __END__
And my Greeter class:
package Greeter; use strict; use warnings; sub new { my $self = shift; bless { name => shift }, 'Greeter'; } sub formal { my $self = shift; return "Welcome, $self->{name}."; } sub casual { my $self = shift; return "Howdy, $self->{name}!"; } 1;
When I run the client, I get the following:
Denied access to method (formal) in class (Greeter) at /usr/lib/perl5/ +site_perl/5.8.2/SOAP/Lite.pm line 2267.
Can anyone give me any pointers on why this is?
Those who know that they are profound strive for clarity. Those who
would like to seem profound to the crowd strive for obscurity.
--Friedrich Nietzsche
In reply to Can't access class methods via SOAP by DamnDirtyApe
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |